B.Sc. Computer Engineering 2015 and Subsequent Sessions ......Text: Electric Circuit Fundamentals by...
Transcript of B.Sc. Computer Engineering 2015 and Subsequent Sessions ......Text: Electric Circuit Fundamentals by...
B.Sc. Computer Engineering – 2015 and Subsequent Sessions (Sample Scheme)
Sem-
ester
S/
No
Course Code Course Title Credit Hours Knowledge Area Pre-requisites
Th Lab
1.
1 MA-123 Calculus 3 0 Natural Sciences None
2 PHY-121 & 121L Mechanics & Wave Motion 2 1 Natural Sciences None
3 IS-101 Islamic/ Ethics & Pakistan Studies I 3 0
Humanities None
4 CS-141 & 141L Introduction to Computing 3 1 Computing None
5 ME-100L Workshop Practice 0 1
Interdisciplinary Engineering Breadth
(Elective)
None
Sub Total 11 3
2.
MA-224 Multivariate Calculus 3 0 Natural Sciences MA-123
CS-142 & 142L Programming Fundamentals 3 1 Computing CS-141 & 141L
CSE-121& 121L Circuit Analysis I 3 1
Engineering
Foundation
MA-123
IS-201 Islamic/ Ethics & Pakistan Studies II 3 0 Humanities IS-101
PHY-131 &131L Electricity and Magnetism 2 1 Natural Sciences None
Sub Total 14 3
3.
MA-219 Linear Algebra and Complex Analysis 3 0 Natural Sciences None
HU-221 Technical Writing and Presentation Skills 3 0
Humanities None
CS-241 & 241L Object Oriented Programming 3 1 Computing CS-142 & 142L
CS-211 Discrete Mathematical Structures 3 0
Major Based Core
(Breadth)
MA-123
CSE-221 & 221L Digital Logic Design 3 1 Engineering Foundation
CS-141
Sub Total 15 2
4.
MA-225 Differential Equations and Transforms 3 0 Natural Sciences MA-123
CS-212 & 212L Data Structures and Algorithms 3 1 Major Based Core (Breadth)
CS-211, CS-142 & 142L
CSE-222 & 222L Computer Organization and Assembly 3 1
Major Based Core
(Breadth)
CSE-221 &221L
ME-229 Mechanics of Materials and Machine Design 3 0
Interdisciplinary Engg Breadth (Elective)
PHY-101 & 101L
CS-201 & CS-201L Numerical Analysis 3 1
Major Based Core
(Breadth)
MA-123, CS-141
& 141L
Sub Total 15 3
5.
CSE-301 Probability and Random Variables 3 0 Major Based Core (Breadth)
MA-224
HU-111L Communication Skills 0 1 Humanities None
CSE-321 & 321L Electronics I 3 1
Engineering
Foundation
CSE-121
CS-381 & 381L Software Engineering 3 1
Major Based Core
(Depth)
CS-241 & CS-
241L, CS-212
CS-361 & 361L Artificial Intelligence 3 1 Major Based Core (Depth) CS-211, CS-212
CSE-371 Signals and Systems 3 0
Engineering
Foundation
CSE-121, MA
225, MA 219
Sub Total 15 4
6.
MGT-XXX Project Management 3 0 Management Sciences None
CS-362 & 362L Operating Systems 3 1
Engineering
Foundation
CSE-222, CS-212
CSE-331 & 331L Computer Networks 3 1
Engineering
Foundation
CS-212 & 212L
CSE-322 & 322L Embedded Systems 3 1
Engineering
Foundation
CSE-222 & 222L
CS-363 & 363L Database Systems 3 1
Major Based Core
(Breadth)
CS-212 & 212L
Sub Total 15 4
7.
MGT-414
Entrepreneurship and Business
Management 3 0
Management Sciences None
CSE-421 Computer Architecture 3 0
Major Based Core
(Depth)
CSE-222 & 222L
CSE-471 Digital Signal Processing 2 1
Major Based Core
(Depth)
CSE-371
CSE Elective 2 1
Major Based Core
(Depth)
CSE-491 FYP I 0 3
Final Year Design
Project
Sub Total 10 5
8.
XX-XXX International language 3 0 Humanities None
CSE Elective 3 0
Major Based Core
(Depth)
CSE Elective 3 0
Major Based Core
(Depth)
CSE Elective 2 1
Major Based Core
(Depth)
CSE-492 FYP II 0 3
Final Year Design
Project
Sub Total 11 4
Computer Engineering Program Total Credit Hours: 134
Departmental Electives (CE)
Subject Code Subject Name Theory Lab Prerequisites
CSE-223 Circuit Analysis II 3 0 CSE-121
CSE-422 & CSE-422L Digital design 2 1 CSE-222
CSE-302 Control Systems 3 0 CSE-371, MA-219
CSE-323 Electronics II 3 0 CSE-321
CSE-423 & CSE-423L Industrial Automation 2 1 CSE-221
CS-462 Data Mining 3 0 CS 363& CS363L
CS-401 Computer Graphics 3 0 CS 212 & CS 212L
CS-445 Programming Languages 3 0 CS312, CS 212& CS212L
CS-463 Bioinformatics 3 0 CS 363& CS363L
CS-464 Machine Learning 3 0 CS-361 & CS-361L
CS-461 Management Information Systems 3 0 CS 363& CS363L
CS-441 Mobile Application Development 3 0 CS-241 & CS-241L, CS 212& CS212L
CS-442 Parallel Programming 3 0 CS 362 & CS362L
CSE-473 Digital Image Processing 3 0 CSE-371
CS-465 Data Warehousing 3 0 CS 362 & CS362L, CS 331& CS 331L
CSE-424 Robotics and CNC Machines 2 1 CSE-322 & CSE-322L
CS-481 Design Patterns 3 0 CS-381 & CS-381L
CSE-466 Computer Vision 3 0 CS-361 & CS-361L
CS-467 Ubiquitous Computing 3 0 CS 331& CS 331L
CSE-472 Communication Systems and Wireless 3 0 CS 331& CS 331L, CSE 371
CSE-432 Internetworking with UNIX TCP/IP 3 0 CS 331& CS 331L
CSE-431 Wireless Networks 3 0 CS 331& CS 331L
CS 382 Web Technologies 3 0 CS 212 & CS 212L
B.Sc. Computer Science – 2015 and Subsequent Sessions (Sample Scheme)
Sem-
ester
S/
No
Course Code Course Title Credit Hours Knowledge Area Pre-requisites
Th Lab
1.
1 MA-123 Calculus 3 0 Natural Sciences None
2 PHY-121 & 121L Mechanics & Wave Motion 2 1 Natural Sciences None
3 IS-101 Islamic/ Ethics & Pakistan Studies I 3 0
Humanities None
4 CS-141 & 141L Introduction to Computing 3 1 Computing None
5 ME-100L Workshop Practice 0 1
Interdisciplinary Engg
Breadth (Elective)
None
Sub Total 11 3
2.
MA-224 Multivariate Calculus 3 0 Natural Sciences MA-123
CS-142 & 142L Programming Fundamentals 3 1 Computing CS-141 & 141L
CSE-121& 121L Circuit Analysis I 3 1 CS Foundation MA-123
IS-201 Islamic/ Ethics & Pakistan Studies II 3 0 Humanities IS-101
PHY-131 &131L Electricity and Magnetism 2 1 Natural Sciences None
Sub Total 14 3
3.
MA-219 Linear Algebra and Complex Analysis 3 0 Natural Sciences None
HU-221 Technical Writing & Presentation Skills 3 0 Humanities None
CS-241 & 241L Object Oriented Programming 3 1 Computing CS-142 & 142L
CS-211 Discrete Mathematical Structures 3 0 Major Based Core (Breadth)
MA-123
CSE-221 & 221L Digital Logic Design 3 1 CS Foundation CS-141
Sub Total 15 2
4.
MA-225 Differential Equations and Transforms 3 0 Natural Sciences MA-123
CS-212 & 212L Data Structures and Algorithms 3 1 Major Based Core (Breadth)
CS-211, CS-142 & 142L
CSE-222 & 222L Computer Organization and Assembly 3 1
Major Based Core
(Breadth)
CSE-221 &221L
CS-281 & CS-281L Object Oriented Analysis and Design 3 1 Major Based Core (Breadth)
CS-142 & CS-142L
CS-201 & CS-201L Numerical Analysis 3 1
Major Based Core
(Breadth)
MA-123, CS-141
& 141L
Sub Total 15 4
5.
CSE-301 Probability and Random Variables 3 0 Major Based Core (Breadth)
MA-224
HU-111L Communication Skills 0 1 Humanities None
CS-312
Theory of Automata & Formal
Languages 3 0
CS Foundation CS-211
CS-381 & 381L Software Engineering 3 1
Major Based Core
(Depth)
CS-241 & CS-
241L, CS-212
CS-361 & 361L Artificial Intelligence 3 1
Major Based Core
(Depth) CS-211, CS-212
CS-311 Analysis of Algorithms 3 0
CS Foundation CS-211, CS-212 &
CS-212L
Sub Total 15 4
6.
MGT-XXX Project Management 3 0 Management Sciences None
CS-362 & 362L Operating Systems 3 1 CS Foundation CSE-222, CS-212
CSE-331 & 331L Computer Networks 3 1 CS Foundation CS-212 & 212L
CS-382 Web Technologies 3 0
Major Based Core
(Breadth)
CS-212 & 212L
CS-363 & 363L Database Systems 3 1 Major Based Core (Breadth)
CS-212 & 212L
Sub Total 15 3
7.
MGT-414
Entrepreneurship and Business
Management 3 0
Management Sciences None
CSE-421 Computer Architecture 3 0
Major Based Core
(Depth)
CSE-222 & 222L
CS/ CSE Elective 3 0 Major Based Core (Depth)
CSE-371
CS/ CSE Elective 2 1
Major Based Core
(Depth)
CSE-491 FYP I 0 3 Final Year Design Project
Sub Total 11 4
8.
XX-XXX International language 3 0 Humanities None
CS-411 Compiler Construction 3 0
Major Based Core
(Depth)
CS-312
CS/ CSE Elective 3 0 Major Based (Depth)
CS/ CSE Elective 2 1 Major Based (Depth)
CSE-492 FYP II 0 3
Final Year Design
Project
Sub Total 11 4
CS Program Total Credit Hours: 133
Departmental Electives (CS)
Subject Code Subject Name Theory Lab Prerequisites
CSE-223 Circuit Analysis II 3 0 CSE-121
CSE-422 & CSE-422L Digital design 2 1 CSE-222
CSE-302 Control Systems 3 0 CSE-371, MA-219
CSE-323 Electronics II 3 0 CSE-321
CSE-371 Signals and Systems 3 0 CSE-121, MA 225, MA 219
CSE-423 & CSE-423L Industrial Automation 2 1 CSE-221
CS-462 Data Mining 3 0 CS 363& CS363L
CS-401 Computer Graphics 3 0 CS 212 & CS 212L
CS-445 Programming Languages 3 0 CS312, CS 212& CS212L
CS-463 Bioinformatics 3 0 CS 363& CS363L
CS-464 Machine Learning 3 0 CS-361 & CS-361L
CS-461 Management Information Systems 3 0 CS 363& CS363L
CS-441 Mobile Application Development 3 0 CS-241 & CS-241L, CS 212& CS212L
CS-442 Parallel Programming 3 0 CS 362 & CS362L
CSE-473 Digital Image Processing 3 0 CSE-371
CS-465 Data Warehousing 3 0 CS 362 & CS362L, CS 331& CS 331L
CSE-424 Robotics and CNC Machines 2 1 CSE-322 & CSE-322L
CS-481 Design Patterns 3 0 CS-381 & CS-381L
CSE-466 Computer Vision 3 0 CS-361 & CS-361L
CS-467 Ubiquitous Computing 3 0 CS 331& CS 331L
CSE-472 Communication Systems and Wireless 3 0 CS 331& CS 331L, CSE 371
CSE-432 Internetworking with UNIX TCP/IP 3 0 CS 331& CS 331L
CSE-431 Wireless Networks 3 0 CS 331& CS 331L
CSE-471 Digital Signal Processing 2 1 CSE 371
Course Description (Session 2015 and Subsequent Sessions)
CS 101: Computing Fundamentals 3(2,1)
Introduction to Hardware, Software Engineering, Networking, Operating System and Database Concepts.
Business Applications: Data acquisition, storage and presentation using MS Office. Pseudo Code, Problem
solving techniques and Flow Charts Introduction to Visual Basic. Class Project: Solving Specific
Engineering problem. Good understanding of the world wide and internet applications.
Texts:
1. Computer Science an Overview by J. Glenn Brook Shear.
2. Simple Program Design by Author: Lesley Anne Robertson.
3. Schaum Series’ Visual Basic and tutorials.
4. Discovering Computers by Shelly Vermaat
CSE 121: Circuit Analysis-I 4(3,1)
Electric quantities, electric signals, electric circuits, Kirchhoff's laws, circuit elements. Resistance, series
parallel combination, voltage and current dividers, resistive bridges and ladders, practical sources and
loading, instrumentation and measurement. Nodal analysis, loop analysis, linearity and superposition,
source transformation, One ports, circuit theorems,power calculations. Dependent sources, circuit analysis
with dependent sources, ideal transformer, amplifiers. The operational amplifier, basic op-amp
configurations, ideal op-amp circuit analysis, summing and difference amplifiers, amplifier types.
Capacitance, inductance, natural response of RC and RL circuits. Response to DC forcing function.
Transient response of first order circuits, step, pulse and pulse train responses, first order op-amp circuits.
Transient response and step response of second order circuits.
Text: Electric Circuit Fundamentals by Sergio Franco (Latest ed.)
CS 141: Introduction to Computing 4(3,1)
This broad-based, entry-level course provides a general overview of the main concepts in computing,
Topics studied include the history and evolution of computers, central processing unit, data storage,
input/output devices, multimedia, operating systems, programming languages, networking, the Internet,
systems analysis and design, management information systems, electronic commerce, security and privacy
issues, ethical issues and the computing profession. Students will become familiar with popular operating
systems, software applications and tools, and learn the basic concepts of programming by developing
interactive web pages.
Text: Computers: Tools for an Information Age, 8th ed., H.L. Capron, Addison Wesley, 2003.
CS 142: Programming Fundamentals 4(3,1)
A rigorous introduction to programming and computer science with a substantial laboratory component.
The course introduces students to at least three different styles in programming: functional, imperative,
and object-oriented. Key topics include: recursive and iterative processes, procedural abstraction,
substitution model, orders of growth, data abstraction, introduction to lambda-calculus, state and mutation,
environment model of evaluation, object-oriented programming, interpreters, compilers.
Text: Structure and Interpretation of Computer Programs by Abelson, Sussman and Sussman (second
edition, MIT Press, 1996)
CS 201: Numerical Analysis 4(3,1)
This course makes the students understand the basic techniques of numerical analysis for solving nonlinear
algebraic equations, interpolation, for numerical differentiation and integration. It enables them to set up
computational algorithms for the solution of above problems.
Text: A First Course in Numerical Analysis, Saeed Bhatti & Naeem Bhatti, 4th Edition, 2003.
CS 211: Discrete Mathematical Structures 3(3,0)
This course offers an intensive introduction to discrete mathematics as it is used in computer science.
Topics include functions, relations, sets, simple proof techniques, boolean algebra, propositional logic,
digital logic, elementary number theory, fundamentals of counting, predicate logic, recurrence relations,
graphs, trees, matrices, computational complexity, elementary computability, and discrete probability.
Text: Discrete Mathematics and its Applications, Kenneth H. Rosen, 5th Edition, 2003, McGraw-Hill.
CS 212: Data Structures and Algorithms 4(3,1)
This course covers basic data structures and provides an introduction to algorithms. The following topics
are covered in the course: array, list, stack, queues, basic algorithm analysis, trees, hash table, priority
queues, sorting algorithms, and graphs. The course assignments reinforce programming skills of the
students.
Text: Data Structures and Algorithm Analysis, M. A. Weiss, Pearson, 2nd Edition, 1997.
CSE 221: Digital Logic Design 4(3,1)
Design concepts. Introduction to logic circuits, truth tables, logic gates and networks, boolean algebra,
synthesis using AND, OR and NOT gates, NAND and NOR logic networks, design examples, introduction
to CAD tools, introduction to Verilog. Implementation technology. Optimized implementation of logic
functions. Number representation and arithmetic circuits. Combinational circuit building blocks. Flip
flops, registers, counters and simple processor.
Text: Fundamentals of Digital Logic with Verilog Design by Brown and Vranesic (Latest ed.)
CSE 222: Computer Organization and Assembly Language 4(3,1)
This course will provide an overview of the structure and function of computers at the register level and
how data is represented at this level. Main topics of the course are: organization of computer hardware,
the functions of assembler, linker, and loader, basic assembly language instruction set, memory
management, addressing modes, stack and procedures, low-level I/O. Students will learn to design,
implement, and debug programs in assembly language.
Texts: 1. Assembly Language Programming and Organization of IBM PC by Ytha Yu and Charles Marut,
McGraw- Hill, 1992
2. Computer Organization and Design, David A. Patterson, John L. Hennessy, 3rd Edition.
CSE 223: Circuit Analysis - II 3(3,0)
Sinusoids and phasors, AC response of basic elements, first order circuits and second order circuits. Phasor
algebra, AC impedance, Frequency domain analysis, op-amp AC circuits. AC power and 3-phase systems.
AC Resonance. Laplace transform and its application to circuit analysis. Fourier Series analysis. Network
functions, Bode plots.
Text: Electric Circuit Fundamentals by Sergio Franco (Latest ed.)
CS 241: Object-Oriented Programming 4(3,1)
This course is designed to teach object-oriented programming techniques to those who have learned basic
programming concepts. Topics include: Classes; Objects; Data Abstraction; Data Encapsulation;
Polymorphism; and Inheritance; Overloaded Operators; Overridden Methods; Friend Functions; Virtual
Functions; Templates; and Files. C++ programming language is used to demonstrate the object-oriented
programming constructs.
Text: C++ How to Program, Deitel & Deitel,4th Edition, Prentice Hall
C++ Programmer’s Notebook, Jim Keogh, 2nd Edition.
CS 281: Object Oriented Analysis and Design 3(3,0)
This course requires prior experience in object-oriented programming and familiarity with basic object-
oriented concepts such as abstraction, encapsulation, inheritance, composition and aggregation. Object-
oriented analysis and design concepts are introduced using UML, and an iterative evolutionary design
process based on the Unified Process applied in an agile spirit. Students will also learn applications of
object-oriented design principles and patterns such as GRASP and GoF design patterns.
Text: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and
Iterative Development, Craig Larman, 3rd edition, Prentice Hall, 2005 (or Latest edition).
CSE 301: Probability and Random Variables 3(3,0)
Axiomatic definition of probability spaces. Combinatorial methods. Conditional probability; product
spaces. Random variables; distribution and density functions; multivariate distribution; conditional
distributions and densities; independent random variables. Functions of random variables; expected value,
moments and characteristic functions
Text:
Hwei P. Hsu, Theory and Problems of Probability, Random Variables, and Random Processes, Schaum
Outline series, McGraw Hill.
CSE 302: Control Systems 3(3,0)
The course familiarizes the student with the mathematical tools and skills needed to analyze and design
feedback control systems. Upon completion of this course, students will be able to create mathematical
models using block and signal flow diagrams, become familiar with Root Locus techniques, and be able
to sketch Root Locus and Bode plots. Design basic feedback systems.
Text: Modern Control Engineering by Katsuhiko Ogata, Pearson Education, 4th Edition, 2002.
CS 311: Analysis of Algorithms 3(3,0)
This course covers a number of ideas and techniques useful for designing and analyzing data structures
and algorithms. In particular, we will introduce techniques for analyzing upper bounds for algorithms and
lower bounds for problems. Problem areas include sorting, graphs, dynamic programming, combinatorial
algorithms, computational geometry, encryption, and NP-Completeness.
Text: Introduction to Algorithms, T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. D. Stein, MIT
Press.
CS 312: Theory of Automata and Formal Languages 3(3,0)
Theory of computation is the theoretical study of capabilities and limitations of computers. It consists of
three branches:
Automata Theory: Theoretical models of computation
Computability Theory: What problems are computable (solvable)?
Complexity Theory: What problems are intractable (highly inefficient to solve)?
The focus of this course is the Automata Theory. However, introductory topics from the other two
branches may be included.
Text: Introduction to the Theory of Computation, Sipser, 2nd Edition, Thomson Course Technology, 2006.
CSE 321: Electronics-I 4(3,1)
Signals, frequency spectrum of signals, analog and digital signals. Amplifiers, voltage, current and power
gains. Gains in decibels, amplifier power supplies, amplifier saturation, non-linear characteristics and
biasing. Circuit models for amplifiers. Op-amp configurations and DC imperfections. Diodes, terminal
characteristics, modeling of forward characteristics, operation in reverse region and breakdown. Rectifier
circuits, limiting and clamping circuits, special diodes. MOSFETs, device structure and physical
operation, current voltage characteristics, MOSFET circuits at DC. Biasing in MOSFET and small signal
operation and model. BJTs, structure and physical operation, current voltage characteristics. BJT circuits
at DC, biasing, small signal operation and models, single stage amplifiers. Differential and multi stage
amplifiers.
Text: Microelectronic Circuits by Sedra and Smith (latest ed.)
CSE 322: Embedded Systems 4(3,1)
In this course, students will learn fundamentals of embedded system development including both hardware
and firmware. The essential issues will be discussed like processor selection, FPGA introduction,
hardware/firmware partitioning, circuit design, and circuit layout, coding techniques, circuit debugging,
firmware design, firmware architecture, embedded development tools, firmware debugging, real time
operating systems and FPGAs.
Text: Embedded Systems Design: An Introduction to Processes, Tools, and Techniques by Arnold S.
Berger.
CSE 323: Electronics-II 3(3,0)
Feedback, four basic topologies and their analysis. Digital CMOS logic circuits. Memory and advanced
digital circuits. Signal generation and wave shaping circuits. Output stages and power amplifiers.
Text: Microelectronic Circuits by Sedra and Smith (latest ed.)
CSE 331: Computer Networks 4(3,1)
Computer networks from ISPs to WiFi and cellular networks are a key part of the information economy.
These networks are the foundation for the Web, and they enable companies such as Google, Facebook
and Amazon. This course introduces the fundamental problems of computer networking, from sending
bits over wires to running distributed applications. For each problem, we explore the design strategies that
have proven valuable in practice. Topics include error detection and correction, multiple-access,
bandwidth allocation, routing, internetworking, reliability, quality of service, naming, content delivery,
and security. As we cover these topics, you will learn how the internals of the Internet work to support the
Web and other networked applications. You will develop a detailed understanding of widely-used
networking technologies such as TCP/IP, HTTP, 802.11, Ethernet, and DNS
Text:
Tanenbaum and Wetherall, Computer Networks (5th Edition, International version)
CS 361: Artificial Intelligence 4(3,1)
This is an introductory course in Artificial Intelligence. It includes introduction to knowledge based
systems and their structure, usefulness, characteristics, knowledge base, inference engine and user's
interface. Knowledge representation methods: semantic nets, frames, rules, logic, depth-first search,
breadth-first search and best-first search methods, knowledge elicitation and knowledge acquisition, state
spaces and state transition diagrams, essentials of Prolog and an overview to its applications.
Text: Expert Systems and Applied Artificial Intelligence by Efraim Turban
CS 362: Operating Systems 4(3,1)
This is designed to be the first undergraduate level course with the main objective of teaching students the
concepts and principles that underlie the design and implementation of contemporary operating systems.
The discussion of the concepts and principles used in UNIX, Linux, and MS-DOS/MS-Windows operating
systems will be integrated throughout the course. Students will be given the opportunity to examine
important UNIX and Linux data structures and use its various services through programming exercises.
Programming language environment: C on UNIX/Linux.
Text: 1. Operating System Concepts, Silberschatz, Galvin and Gagne, 6th Edition, 2002, John Wiley &
Sons, Inc.
2. Modern Operating Systems, Tanenbaum A.S., 2nd Edition, 2001
CS 363: Database Systems 4(3,1)
The course discusses the fundamental concepts of database design and implementation focusing primarily
on relational data model. Structured Query Language (SQL) is also introduced and practiced in the course.
Text: Fundamentals of Database Systems, Elmasri & Navathe, 4th Edition.
CSE 371: Signals and Systems 3(3,0)
Signals, signal models, even odd functions. Systems, their classification, models. Laplace transform
analysis of continuous time systems. Fourier Series and continuous time system analysis, the Fourier
transform. Sampling. Z-transform analysis of discrete time systems. Fourier analysis of discrete time
system. Introduction to state space analysis.
Text: Linear Systems and Signals by B. P. Lathi (Latest ed.)
CS 381: Software Engineering 4(3,1)
This course is designed to provide understanding of the concepts, techniques and tools for the definition,
design, development, testing and maintenance of software systems. The main objective is to emphasize
the need for a systematic and managed approach to software development. The course discusses important
software development activities, emphasizing on analysis, design, and testing.
Text: Software Engineering, Ian Sommerville, 6th Edition, Addison-Wesley, 2001.
CS 382: Web Technologies 3(3,0)
This course will cover many of new and upcoming technology; Student will get hands on practices on
different technologies; this course covers Client Side Technologies; HMTL, JavaScript, AJAX and
Server Side Technologies; PHP, PHP, Web Services and Rich Internet Application Framework; FLEX
Also they will get introduction to upcoming technologies like Semantic Web
Text: This course is a dynamic course being updated each year. Teachers are encouraged to prescribe
latest books and material.
CS 401: Computer Graphics 3(3,0)
This course introduces the fundamentals of image processing and computer graphics, which are necessary
for the analysis and processing of image data and for the reconstruction, modelling, animation and photo-
realistic rendering of 3D. You will learn key computer graphics concepts including graphics primitives,
lighting and shading, texture mapping, ray tracing, character animation and curve and surface design.
Texts:
1. Foley, J.D., van Dam, A., Feiner, S.K. & Hughes, J.F. (1990). Computer graphics: principles
and practice. Addison-Wesley (2nd ed.).
CS 411: Compiler Construction 3(3,0)
The course is intended to teach the students the basic techniques that underlie the practice of Compiler
Construction. The course will introduce the theory and tools that can be employed in order to perform
syntax-directed translation of a high-level programming language into an executable code. These
techniques can also be employed in wider areas of application, whenever we need a syntax-directed
analysis of symbolic expressions and languages and their translation into a lower-level description. They
have multiple applications for man-machine interaction, including verification and program analysis. In
addition to the exposition of techniques for compilation, the course will also discuss various aspects of
the run-time environment into which the high-level code is translated. This will provide deeper insights
into the more advanced semantics aspects of programming languages, such as recursion, dynamic memory
allocation, types and their inferences, object orientation, concurrency and multi-threading.
Text:
Alfred Aho, Monica Lam, Ravi Sethi and Jeffery Ullman, Compilers: Principles, Techniques and Tools,
Addison Wesley, 2nd edition, 2006.
CSE 421: Computer Architecture 3(3,0)
This course focuses on the principles, practices and issues in computer architecture, while examining
computer design trade-offs both qualitatively and quantitatively. Topics include: Advanced Pipelining,
Instruction-level parallelism, Memory - hierarchy design, Storage Systems and input/ output and
Multiprocessor architecture
Text: Computer Architecture: A Quantitative Approach, Hennessy, J. L, and Patterson, D. A., Latest
edition.
CSE 422: Digital Design 3(2,1)
The course teaches the design and implementation of digital systems using EDA tools and FPGA. Upon
completion of this course, students will have a good comprehension of EDA tool XILINX, become
familiar with XILINX FPGA and its programming, programming of Programmable Logic Array and
CPLD.
Text: Advanced Digital Design with the Verilog HDL by Michael D. Ciletti, Prentice Hall, 2003.
CSE 423: Industrial Automation 3(2,1)
The course offers instruction in electronics applications and computer aspects of automation, including
both theory and applications of digital and industrial electronics, hydraulics/pneumatics, actuators,
transducers and robotic systems. It also includes discussion of sensors, transducers, signal conditioning
devices and computer based data acquisition. Programmable Logic Controllers (PLC) and Ladder Logic
are also covered.
Text: Industrial Control Electronics: Devices, Systems & Applications, Terry L. M. Bartlet, 3rd Edition,
June 2005.
CSE 431: Wireless Networks 3(3,0)
The course deals with the fundamental and practical aspects in the analysis and design of wireless systems.
Topics that will be covered are: the wireless communication channel, spectrum efficient digital
modulation techniques their comparison and detection techniques, cellular communication principles,
techniques used to combat the channel, overview of multiple access techniques and example wireless
communication systems.
Text: Introduction to Wireless Systems by P. M. Shankar. John Wiley & Sons, 2002.
CSE 432: Internetworking with UNIX TCP/IP
This is designed to be a depth first course with the main objective of teaching students the art of UNIX
TCP/IP network programming with BSD sockets using the client-server paradigm. Students gain hands-
on experience through the design, implementation, and testing of client-server models for some simple
Internet services. Programming language environment: C on UNIX/LINUX.
Text: Douglas E. Comer and David L. Stevens, Internetworking with TCP/IP: Client-Server
Programming and Application, Vol. 3, Linux / POSIX Sockets Version, Prentice Hall, 2001.
CS 441: Mobile Application Development 3(3,0)
This course is concerned with the development of applications on mobile and wireless computing
platforms. Android will be used as a basis for teaching programming techniques and design patterns
related to the development of standalone applications and mobile portals to enterprise and m-commerce
systems. Emphasis is placed on the processes, tools and frameworks required to develop applications for
current and emerging mobile computing devices. Students will work at all stages of the software
development life-cycle from inception through to implementation and testing. In doing so, students will
be required to consider the impact of user characteristics, device capabilities, networking infrastructure
and deployment environment, in order to develop software capable of meeting the requirements of
stakeholders.
Text: To be decided by the instructor.
CS 442: Parallel Programming 3(3,0)
This course explores various aspects of parallel computing including parallel architectures, algorithms,
systems, programming languages and implementation issues.
Text: To be decided by the instructor.
CS 445: Programming Languages 3(3,0)
The course is an introduction to the design and implementation of programming languages. From the
design point of view, we will study language features as tools for expressing algorithms. From the
implementation point of view, we will study compilers, interpreters, and virtual machines as tools to map
those features efficiently onto modern computer hardware. The course will touch on a wide variety of
languages, both past and present, with an emphasis on modern imperative languages, such as C++ and
Java, and, to a lesser extent, on functional languages such as Scheme and ML, and scripting languages
such as Perl, Python, and Ruby. Rather than dwell on the features of any particular language, we will focus
instead on fundamental concepts, and on the differences between languages, the reasons for those
differences, and the implications those differences have for language implementation.
Topics to be covered include:
formal aspects of syntax and semantics
naming, scoping, and binding
scanning, parsing, semantic analysis, and code generation
control flow, subroutines, exception handling, and concurrency
type systems, data structures, data abstraction, and storage management
imperative, functional, logic-based, and object-oriented programming paradigms
programming environments and tools
Text: Michael L. Scott, Programming Language Pragmatics, Elsevier 3rd edition.
CS 461: Management Information Systems 3(3,0)
This course helps you to understand what IT components are available and how you can utilize appropriate
IT applications for success. You will learn the terminology used in the field of IT and how IT principles
can apply to your businesses. The course stresses the competitive advantage of using IT and the return on
investment that you can see. It focuses on the basic principles of Information Technology: hardware and
software components, database technology, telecommunications and networking, e-commerce and e-
business, Enterprise Resource Planning (ERP), Decision Support Systems (DSS), Artificial Intelligence
(AI) and Expert Systems (ES), systems development and implementation, and the ethical and societal
issues involved in IT.
Text:
Selected books to be chosen as text book by the course instructor.
CS 462: Data Mining 3(3,0)
Data mining is concerned with the extraction of novel knowledge from large amounts of data. This course
introduces and studies the concepts, issues, tasks and techniques of data mining. Topics include data
preparation and feature selection, association rules, classification, clustering, evaluation and validation,
scalability, spatial and sequence mining, and data mining applications. The course is suitable for
undergraduate senior students and graduate students.
Text:
Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, Morgan Kauffman
Publishers 2000.
CS 463: Bio-informatics 3(3,0)
The objective of this course will be to introduce students to the fundamentals of evolution, molecular
biology, and molecular evolution. This course also aims to provide students with a practical and hands-on
experience with common bioinformatics tools and databases. It would be expected that after completing
this course a student would have a good working knowledge basic bioinformatics tools and databases such
as GenBank, BLAST, multiple alignment, and phylogenetic tree construction. Further students will
understand the basic theory behind these procedures and be able to critically analyze the results of their
analysis using such tools.
Text:
Bryan Bergeron M.D: Bioinformatics Computing, 2010.
CS 464: Machine Learning 3(3,0)
This course provides a broad introduction to machine learning, data mining, and statistical pattern
recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support
vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality
reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance
theory; innovation process in machine learning and AI). The course will also draw from numerous case
studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots
(perception, control), text understanding (web search, anti-spam), computer vision, medical informatics,
audio, database mining, and other areas.
Text: Stanford open course ware.
CS 465: Data Warehousing 3(3,0)
What is Data Warehousing, Inmon vs. Kimball, dimensional modeling, slowly changing dimensions, fact
tables, OLAP objects, business intelligence, and extract, transform, and load technologies.
Text:
Ralph Kimball, Margy Ross, Warren Thornthwaite, Joy Mundy and Bob Becker, The Data Warehouse
Lifecycle Toolkit, Second Edition, 2008. ISBN: 978-0-470-14977-5.
CSE 466: Computer Vision 3(2,1)
Computer Vision aims to extract descriptions of the world from pictures or video. In recent years, much
progress has been made on this challenging problem. This course is divided into two parts, Initially first
part will introduce basic computer vision concepts. It will then move onto mid-level problems such as
tracking and segmentation. Second part will give details about state of the art applications of computer
vision such as detecting object classes (e.g. car, table, chair) in images, human action and emotion
recognition (walk, run, sad, happy).
Texts:
1. Szeliski, Richard, Computer Vision: Algorithms and Applications Springer, 2011.
2. Forsyth, David A., and Ponce, J. Computer Vision: A Modern Approach, Prentice Hall, 2003.
CS 467: Ubiquitous Computing 3(3,0)
Ubiquitous computing (ubicomp) is a post-desktop model of human-computer interaction in which
information processing has been thoroughly integrated into everyday objects and activities. In the course
of ordinary activities, someone "using" ubiquitous computing engages many computational devices and
systems simultaneously, and may not necessarily even be aware that they are doing so. This model is
usually considered advancement from the desktop paradigm. More formally Ubiquitous computing is
defined as "machines that fit the human environment instead of forcing humans to enter theirs.
Text: To be decided by the instructor.
CSE 471: Digital Signal Processing 3(2,1)
The course begins with a discussion of the analysis and representation of discrete-time signals and systems
including a discussion of discrete-time convolution, difference equations, the z-transform and the discrete
Fourier transform. Considerable emphasis is placed on the similarities with and distinctions between
discrete-time and continuous-time signals and systems. The course then proceeds to a consideration of
digital network structures for implementation of both recursive (infinite impulse response) and non-
recursive (finite impulse response) digital filters. A major consideration in digital signal processing is the
design of digital filters to meet prescribed specifications. Thus a set of lectures is devoted to a detailed
discussion of digital filter design for both recursive and non-recursive filters. The course concludes with
a thorough presentation of the fast Fourier transform algorithm for computation of the discrete Fourier
transform.
Texts: 1. Discrete Time Signal Processing by Oppenheim, Alan V., and Ronald W. Schafer, 3rd Edition,
Prentice Hall, 2010.
2. Digital Signal Processing: Principles, Algorithms and Applications by John G. Proakis and
Dimitris K. Manolakis, 4th Edition, Prentice Hall, 2006.
3. Digital Signal Processing: A Practical Approach by Emmanuel C. Ifeachor and Barrie W. Jervis,
Addison-Wesley, 1993.
CSE 472: Communication Systems and Wireless 3(3,0)
The course covers basic principles of communication theory with emphasis on analog modulation
systems. Upon completion of this course, students will become familiar with the fundamental features
and basic building blocks of analog and digital communications systems, and also be able to characterize
the performance of analog modulation techniques in noise
Texts: Modern Digital and Analog Communication Systems by B. P. Lathi, 3rd edition, Oxford
University Press.
Introduction to Wireless Systems by P. M. Shankar. John Wiley & Sons, 2002.
CSE 473: Digital Image Processing 3(3,0)
Concept of digital image, Types of images, Visual Perception, Light & Electromagnetic Perception,
Image sensing &acquisition, Spatial and luminance resolution parameters, Image Sampling and
quantization, Imaging defects, Noise, Histogram Processing, Spatial Filtering, Convolution &
Correlation, Smoothing & Sharpening, Fourier Transform, DFT, Frequency based filtering, Contrast
enhancement & adjustment, Noise elimination: smoothing, Histogram manipulation (equalization,
compression & Stretching, Image Restoration & Reconstruction, Edge detection, Image segmentation,
Segmentation, Feature extraction, Image Coding & Compression, Applications
Text: Gonzalez and Woods, Digital Image Processing, Latest edition.
CSE 481: Design Patterns 3(3,0)
This course is an introduction to software design patterns. Each pattern represents a best practice solution
to a software problem in some context. The course will cover the rationale and benefits of object-oriented
software design patterns. Several example problems will be studied to investigate the development of
good design patterns. Specific patterns, such as Observer, State, Adapter, Strategy, Decorator and Abstract
Factory will be discussed. Programming projects in the Java language will provide experience in the use
of these patterns. In addition, distributed object frameworks, such as RMI, will be studied for their
effective use of design patterns.
Text: Gamma, et. Al., Design Patterns - Elements Of Reusable Object-Oriented Software, Addison-
Wesley, 1995
CS 491 & CSE 491: Final Project 1 3(0,3)
The final project involves research, planning and development of a real and substantial project related to
computer science and engineering. It provides an opportunity to the students to use their acquired
academic skills in the form of a demonstrable software product. Make oral and written project
presentations.
CS 492 & CSE 492: Final Project 1I 3(0,3)
The final project involves research, planning and development of a real and substantial project related to
computer science and engineering. It provides an opportunity to the students to use their acquired
academic skills in the form of a demonstrable software product. Make oral and written project
presentations.
B.Sc. Computer Engineering Curriculum – 2011
Semester 1
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 100 Introduction to Computing 1+3 1+1
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 100 Calculus 3 3
HU 101 Composition and Writing 3 3
IS 103 Islamic Studies/Ethics & Pak
Studies 2 2
CS 140 Programming Fundamentals I 2+6 2+2
Total 26 18(18)
Semester 2
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 142 Programming Fundamentals II 2+3 2+1
EE 121 Circuit Analysis I 3+3 3+1
MA 103 Multivariate Calculus 3 3
PHY 103 Electricity and Magnetism 3+3 3+1
ME 201 Strength of Materials & Machine Design
3 3
HU 202 Communication Skills 2 2
Total 25 19(37)
Semester 3
Course No.
Course Title Contact Hours
Credit Hours
CS 241 Object Oriented Programming 2+3 2+1
MA 202 Differential Equations & Transforms
4 4
CS 200 Discrete Mathematics 3 3
EE 222 Circuit Analysis II 3 3
CSE 120 Digital Logic Design 3+3 3+1
HU 203 Technical Writing 3 3
Total 24 20(57)
Semester 4
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 210 Data Structures and Algorithms 3+3 3+1
CSE 225 Computer Organization and Assembly
Language 3+3 3+1
EE 223 Electronics-I 3+3 3+1
CSE 371 Signals and Systems 3 3
MA 210 Linear Algebra and Complex Analysis 4 4
IS 304 Islamiat/Ethics & Pak Studies 3 3
Total 28 22(79)
Semester 5
Course No.
Course Title Contact Hours
Credit Hours
CS 326 Operating Systems 2+3 2+1
CS 390 Software Engineering 3+3 3+1
EE 321 Electronics-II 3 3
MA 250 Probability and Statistics 3 3
CSE 311 Numerical Analysis and Computing
3 3
CSE 330 Computer Networks 3+3 3+1
Total 26 20(99)
Semester 6
Course
No. Course Title
Contact
Hours
Credit
Hours
CSE 301 Control Systems 3+3 3+1
CS 360 Artificial Intelligence 3+3 3+1
CS 370 Database Systems 3+3 3+1
CS 310 Analysis of Algorithms 3 3
CSE 320 Embedded Systems Development 3+3 3+1
EE 322 Electronics Design Lab 0+3 1
Total 30 20(119)
Semester 7
Course No.
Course Title Contact Hours
Credit Hours
CSE 491 Final Project I 0+9 0+3
CSE 422 Computer Architecture 2+3 2+1
CSE 4XX CSE Elective 3 3
HU 401 Entrepreneurship and Leadership
3 3
Total 20 12(131)
Semester 8
Course
No. Course Title
Contact
Hours
Credit
Hours
CSE 492 Final Project II 0+9 0+3
CSE 400 Industrial Automation 3+3 3+1
CSE 421 Digital Design 3+3 3+1
CSE 4XY CSE Elective 3 3
Total 24 14(145)
*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
B.Sc. Computer Science Curriculum - 2011
Semester 1
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 100 Introduction to Computing 1+3 1+1
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 100 Calculus 3 3
HU 101 Composition and Writing 3 3
IS 103 Islamiat/Ethics & Pak Studies 2 2
CS 140 Programming Fundamentals I 2+6 2+2
Total 26 18(18)
Semester 2
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 142 Programming Fundamentals II 2+3 2+1
PHY 103 Electricity and Magnetism 3+3 3+1
MA 103 Multivariate Calculus 3 3
EE 121 Circuits Analysis I 3+3 3+1
HU 202 Communication Skills 2 2
Total 22 16(34)
Semester 3
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 241 Object Oriented Programming 2+3 2+1
MA 202 Differential Equations & Transforms
4 4
CS 200 Discrete Mathematics 3 3
HU 203 Technical Writing 3 3
IS/HU
303 Language* 3 3
CSE 120 Digital Logic Design 3+3 3+1
Total 24 20(54)
Semester 4
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 210 Data Structures and Algorithms 3+3 3+1
CSE 225 Computer Organization and Assembly
Language
3+3 3+1
CS 202 Theory of Automata & Formal
Languages
3 3
MA 250 Probability and Statistics 3 3
MA 210 Linear Algebra and Complex Analysis 4 4
IS 304 Islamiat/Ethics & Pak Studies 3 3
Total 25 21(75)
Semester 5
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 326 Operating Systems 2+3 2+1
CS 390 Software Engineering 3+3 3+1
CSE 330 Computer Networks 3+3 3+1
CS 310 Analysis of Algorithms 3 3
CSE 311 Numerical Analysis and Computing 3 3
HU 312 Project Management 3 3
Total 26 20(95)
Semester 6
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 391 Object Oriented Analysis and Design 3+3 3+1
CS 360 Artificial Intelligence 3+3 3+1
CS 370 Database Systems 3+3 3+1
Elective 3 3
Elective 3 3
Total 24 18(113)
Semester 7
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 491 Final Project I 0+9 0+3
CSE 445 Programming Languages 3 3
CSE 450 Computer Graphics 3 3
CSE 422 Computer Architecture 2+3 2+1
HU 401 Entrepreneurship and Leadership 3 3
24 26 20(95)
Semester 8
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 492 Final Project II 0+9 0+3
CS 402 Compiler Construction 3 3
Elective 3 3
Elective 3 3
Total 24 18(113)
*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
B.Sc. Computer Engineering Curriculum – 2012
Semester 1
Course
No. Course Title
Contact
Hours
Credit
Hours
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 101 Calculus 4 4
HU 202 Communication Skills 2 2
IS 105 Islamic Studies/Ethics & Pak Studies –
I 3 3
CS 140 Programming Fundamentals I 2+6 2+2
PHY 101 Mechanics & Wave Motion 3+3 3+1
Total 23 17 (17)
Semester 2
Course
No. Course Title
Contact
Hours
Credit
Hours
EE 121 Circuit Analysis I 3+3 3+1
MA 103 Multivariate Calculus 3 3
PHY 103 Electricity and Magnetism 3+3 3+1
ME 201 Strength of Materials & Machine Design 3 3
CS 142 Programming Fundamentals II 2+3 2+1
Total 23 17 (34)
Semester 3
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 241 Object Oriented Programming 2+3 2+1
MA 202 Differential Equations & Transforms 4 4
CS 200 Discrete Mathematics 3 3
EE 222 Circuit Analysis II 3 3
CSE 120 Digital Logic Design 3+3 3+1
HU 203 Technical Writing 3 3
Total 24 20 (54)
Semester 4
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 210 Data Structures and Algorithms 3+3 3+1
CSE 225 Computer Organization and Assembly
Language 3+3 3+1
EE 223 Electronics-I 3+3 3+1
CSE 371 Signals and Systems 3 3
MA 210 Linear Algebra and Complex Analysis 4 4
IS 304 Islamiat/Ethics & Pak Studies - II 3 3
Total 28 22 (76)
Semester 5
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 326 Operating Systems 2+3 2+1
CS 390 Software Engineering 3+3 3+1
EE 323 Electronics-II 3+3 3+1
MA 250 Probability and Statistics 3 3
CSE 311 Numerical Analysis and Computing 3 3
CSE 370 Database Systems 3+3 3+1
Total 29 21 (97)
Semester 6
Course
No. Course Title
Contact
Hours
Credit
Hours
CSE 301 Control Systems 3+3 3+1
CS 360 Artificial Intelligence 3+3 3+1
CSE 330 Computer Networks 3+3 3+1
CSE Elective 3 3
CSE 320 Embedded Systems Development 3+3 3+1
Total 27 19 (116)
Semester 7
Course
No. Course Title
Contact
Hours
Credit
Hours
CSE 491 Final Project I 0+9 0+3
CSE 421 Digital Design 3+3 3+1
CSE 472 Digital Signal Processing 3 3
HU 401 Entrepreneurship and Leadership 3 3
Total 21
13(129)
Semester 8
Course
No. Course Title
Contact
Hours
Credit
Hours
CSE 492 Final Project II 0+9 0+3
CSE Elective 3 or 3+3 3 or 4
CSE 422 Computer Architecture 2+3 2+1
CSE 4XY CSE Elective 3 3
Total 20 or 23
12 or 13 (141/ 142)
*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
B.Sc. Computer Science Curriculum - 2012
Semester 1
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 100 Introduction to Computing 1+3 1+1
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 101 Calculus 4 4
IS 105 Islamiat/Ethics & Pak Studies - I 3 3
CS 140 Programming Fundamentals I 2+6 2+2
Total 26 18(18)
Semester 2
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 142 Programming Fundamentals II 2+3 2+1
PHY 103 Electricity and Magnetism 3+3 3+1
MA 103 Multivariate Calculus 3 3
HU 202 Communication Skills 2 2
EE 121 Circuit Analysis I 3+3 3+1
Total 22 16(34)
Semester 3
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 241 Object Oriented Programming 2+3 2+1
MA 202 Differential Equations &
Transforms 4 4
CS 200 Discrete Mathematics 3 3
HU 203 Technical Writing 3 3
IS/HU
303 Language* 3 3
CSE 120 Digital Logic Design 3+3 3+1
Total 25 17(17)
Semester 4
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 210 Data Structures and Algorithms 3+3 3+1
CSE 225 Computer Organization and Assembly
Language 3+3 3+1
CS 202 Theory of Automata & Formal
Languages 3 3
MA 250 Probability and Statistics 3 3
MA 210 Linear Algebra and Complex Analysis 4 4
IS 304 Islamiat/Ethics & Pak Studies-II 3 3
Total 25 21(75)
Semester 5
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 326 Operating Systems 2+3 2+1
CS 390 Software Engineering 3+3 3+1
CS 370 Database Systems 3+3 3+1
CS 310 Analysis of Algorithms 3 3
CSE 311 Numerical Analysis and Computing 3 3
HU 312 Project Management 3 3
Total 26 20(94)
Semester 6
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 391 Object Oriented Analysis and Design 3+3 3+1
CS 360 Artificial Intelligence 3+3 3+1
CSE 330 Computer Networks 3+3 3+1
Elective 3 3
Elective 3 3
Total 24 18(112)
Semester 7
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 491 Final Project I 0+9 0+3
CSE 445 Programming Languages 3 3
CSE 451 Computer Graphics & Image
Processing 3+3 3+1
Elective 3 3
HU 401 Entrepreneurship and Leadership 3 3
Total 24 16(128)
Semester 8
Course
No. Course Title
Contact
Hours
Credit
Hours
CS 492 Final Project II 0+9 0+3
CS 402 Compiler Construction 3 3
CSE 422 Computer Architecture
2+3 2+1
Elective 3 3
Total 18 12(140)
*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
B.Sc. Curriculum (Computer Engineering) – 2013 & 2014
Semester 1
Course
No.
Course Title Contact
Hours
Credit
Hours
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 101 Calculus 4 4
HU 202 Communication Skills 2 2
IS 105 Islamic Studies/Ethics & Pak Studies - I 3 3
CS 140 Programming Fundamentals I 2+6 2+2
Total 23 17(17)
Semester 2
Course
No.
Course Title Contact
Hours
Credit
Hours
EE 121 Circuit Analysis I 3+3 3+1
MA 103 Multivariate Calculus 3 3
PHY 103 Electricity and Magnetism 3+3 3+1
ME 201 Strength of Materials & Machine Design
3 3
CS 142 Programming Fundamentals II 2+3 2+1
Total 23 17 (34)
Semester 3
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 241 Object Oriented Programming 2+3 2+1
MA 202 Differential Equations & Transforms 4 4
CS 200 Discrete Mathematics 3 3
EE 222 Circuit Analysis II 3 3
CSE 120 Digital Logic Design 3+3 3+1
HU 203 Technical Writing 3 3
Total 24 20 (54)
Semester 4
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 210 Data Structures and Algorithms 3+3 3+1
CSE 225 Computer Organization and Assembly Language
3+3 3+1
EE 223 Electronics I 3+3 3+1
CSE 371 Signals and Systems 3 3
MA 210 Linear Algebra and Complex Analysis 4 4
IS 304 Islamiat/Ethics & Pak Studies-II 3 3
Total 28 22 (76)
Semester 5
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 326 Operating Systems 2+3 2+1
CS 390 Software Engineering 3+3 3+1
CS 370 Database Systems 3+3 3+1
EE 323 Electronics II 3+3 3+1
CSE 311 Numerical Analysis and Computing 3 3
MA 250 Probability and Statistics 3 3
Total 29 21 (97)
Semester 6
Course
No.
Course Title Contact
Hours
Credit
Hours
CSE 301 Control Systems 3+3 3+1
CS 360 Artificial Intelligence 3+3 3+1
CSE 330 Computer Networks 3+3 3+1
CSE Elective 3 3
CSE 320 Embedded Systems Development 3+3 3+1
Total 27 19 (116)
Semester 7
Course
No.
Course Title Contact
Hours
Credit
Hours
CSE 491 Final Project I 0+9 0+3
CSE 421 Digital Design 3+3 3+1
CSE 472 Digital Signal Processing 3 3
HU 401 Entrepreneurship and Leadership 3 3
CSE 491 Final Project I 0+9 0+3
Total 21 13(129)
Semester 8
Course
No.
Course Title Contact
Hours
Credit
Hours
CSE 492 Final Project II 0+9 0+3
CSE Elective 3 or 3+3 3 or 4
CSE 422 Computer Architecture 2+3 2+1
CSE 4XY CSE Elective 3 3
Total
20 or 23
12 or 13 (141 or
142)
*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
B.Sc. Curriculum (Computer Science) – 2013 & 2014
Semester 1
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 100 Introduction to Computing 1+3 1+1
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 101 Calculus 4 4
IS 105 Islamiat/Ethics & Pak Studies - I 3 3
CS 140 Programming Fundamentals I 2+6 2+2
Total 25 17(17)
Semester 2
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 142 Programming Fundamentals II 2+3 2+1
PHY 103 Electricity and Magnetism 3+3 3+1
MA 103 Multivariate Calculus 3 3
HU 202 Communication Skills 2 2
EE 121 Circuit Analysis I 3+3 3+1
Total 22 16(33)
Semester 3
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 241 Object Oriented Programming 2+3 2+1
MA 202 Differential Equations & Transforms 4 4
CS 200 Discrete Mathematics 3 3
HU 203 Technical Writing 3 3
IS/HU
303
Language* 3 3
CSE 120 Digital Logic Design 3+3 3+1
Total 24 20(53)
Semester 4
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 210 Data Structures and Algorithms 3+3 3+1
CSE 225 Computer Organization and Assembly
Language
3+3 3+1
CS 202 Theory of Automata & Formal
Languages
3 3
MA 250 Probability and Statistics 3 3
MA 210 Linear Algebra and Complex Analysis 4 4
IS 304 Islamiat/Ethics & Pak Studies-II 3 3
Total 25 21(74)
Semester 5
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 326 Operating Systems 2+3 2+1
CS 390 Software Engineering 3+3 3+1
CS 370 Database Systems 3+3 3+1
CS 310 Analysis of Algorithms 3 3
CSE 311 Numerical Analysis and Computing 3 3
HU 312 Project Management 3 3
Total 26 20(94)
Semester 6
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 391 Object Oriented Analysis and Design 3+3 3+1
CS 360 Artificial Intelligence 3+3 3+1
CSE 330 Computer Networks 3+3 3+1
Elective 3 3
Elective 3 3
Total 24 18(112)
Semester 7
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 491 Final Project I 0+9 0+3
CSE 445 Programming Languages 3 3
CSE 451 Computer Graphics & Image Processing
3+3 3+1
Elective 3 3
HU 401 Entrepreneurship and Leadership 3 3
Total 24 16(128)
Semester 8
Course
No.
Course Title Contact
Hours
Credit
Hours
CS 492 Final Project II 0+9 0+3
CS 402 Compiler Construction 3 3
CSE 422 Computer Architecture 2+3 2+1
Elective
3 3
Total 18 12(140)
*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
Computer Science and Computer Engineering– Elective Courses
Not limited to the list below
Course
No.
Course Title Credit
Hours
CS 307 Management Information System 3
CS 310 Analysis of Algorithms 3
CS 342 Web Technologies 3
CS 372 Data Warehousing 3
CS 375 Data Mining 3
CSE 371 Signal and Systems 3
CS 379 Bio-informatics 3
CSE 400 Industrial Automation 3 + 1
CSE 402 Robotics and CNC Machines 3 + 1
CSE 420 Computer Architecture 3
CSE 430 Wireless Networks 3
CS 431 Inter-networking with UNIX TCP/IP 3
CS 440 Design Patterns 3
CS 460 Ubiquitous Computing 3
CSE 473 Digital Image Processing 3
CSE 471 Communications Systems and Wireless 3
CSE 472 Digital Signal Processing 3
CSE 474 Computer Vision 3
Description of Courses
(Sessions 2011 to 2014) MA 100: Calculus 3(3,0) Limits and continuity, derivatives, applications of derivatives. Integration, applications of integrals. Transcendental functions. integration techniques, L'Hopital's rule and improper integrals. Infinite Series. Text: Thomas's Calculus by Finney, Weir and Giordano (10th ed.) MA 101: Calculus 4(4,0) Limits and continuity, derivatives, applications of derivatives. Integration, applications of integrals. Transcendental functions. integration techniques, L'Hopital's rule and improper integrals. Infinite Series. Text: Thomas's Calculus by Finney, Weir and Giordano (10th ed.) MA 103: Multivariate Calculus 3(3,0) Multi-variable functions and their derivatives. Multiple integrals. Integration in Vector field. Vector differential calculus. Grad, Div, Curl. Text: Thomas's Calculus by Finney, Weir and Giordano (10th ed.) MA 202: Differential Equations and Transforms 4(4,0) First order differential equations. Linear differential equations and second and higher order. Laplace transforms. Fourier series, integrals and transforms. Partial differential equations. Text: Advanced Engineering Mathematics by Erwin Kreyszig (8th ed.). MA 210: Linear Algebra and Complex Analysis 4(4,0) Matrices, vectors, determinants, linear system of equations. Matrix eigenvalue problems. Complex numbers and functions. Complex integration. Power series, Taylor series. Laurent series, residue integration. Text: Advanced Engineering Mathematics by Erwin Kreyszig (8th ed.). MA 250: Probability and Statistics 3(3,0) Data analysis, probability theory. Random variables. Probability distributions. Mathematical statistics, random sampling, estimation of parameters, confidence interval, hypothesis testing, goodness of fit, regression analysis, line fitting, correlation analysis. Text: Advanced Engineering Mathematics by Erwin Kreyszig (8th ed.). PHY 101: Mechanics and Wave Motion 4(3,1) Measurement. Motion along a straight line. Vectors. Motion in 2 and 3 dimensions. Force and motion. Kinetic energy and work. Potential energy and conservation of energy. Center of mass and rotation. Center of mass and linear momentum. Torque and angular momentum. Equilibrium and elasticity. Gravitation. Fluids. Oscillations. Waves. First and second law of thermodynamics. Text: Fundamental of Physics by Halliday, Resnick and Walker (Latest ed.) PHY 103: Electricity and Magnetism 4(3,1) Electric charge. Electric field. Gauss's law. Electric potential. Capacitance. Current and resistance. Circuits. Magnetic fields. Magnetic fields due to currents. Induction and inductance. Elctromagnetic oscillations and alternating current. Maxwell's equations. Text: Fundamental of Physics by Halliday, Resnick and Walker (Latest ed.) ME 201: Strength of Materials and Machine Design 3(3,0) Topics include: physical and chemical properties of materials, motor, gears, levers, pressure and shafts.
Text: A Text Book of Machine Design by R. H. Hurmi HU 101: Composition and Writing 3(3,0) Principles of writing good English, understanding the composition process: writing clearly; word, sentence and paragraph. Comprehension and expression. Use of grammar and punctuation. Process of writing, observing, audience analysis, collecting, composing, drafting and revising, persuasive writing, reading skills, listening skills and comprehension, skills for taking notes in class, skills for exams. Texts: Ready to Write by Karen Blanchard and Christine Root Writing: Process, Product, and Power by Ken Davis and Kim Brian Idea and Expression by Scott Foresman Warriner’s English Grammar and Composition, John E. Warriner
HU 202: Communication Skills 3(3,0) Business communications; planning messages, writing concise but with impact. Letter formats, mechanics of business, letter writing, letters, memo and applications, summaries, proposals, writing resumes, styles and formats, oral communications, verbal and non-verbal communication, conducting meetings, small group communication, taking minutes. Presentation skills; presentation strategies, defining the objective, scope and audience of the presentation, material gathering material organization strategies, time management, opening and concluding, use of audio-visual aids, delivery and presentation.
Text: Communication for Business by Shirley Taylor
IS/HU 301: Language I 3(3,0) Choice between Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor. Purpose of this course is to give a working knowledge of a foreign language. Text: As prescribed. IS/HU 302: Language II 3(3,0) Choice between Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor. Follow up of Language I. Text: As prescribed. IS/HU 303: Language 3(3,0) Choice between Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor. Text: As prescribed. HU 312: Project Management 3(3,0) To develop ability to plan and manage software development projects successfully, maximizing the return from each stage of the software development life cycle. Texts: Software Project Management, Richard H. Thayer, Wiley IEEE Press 2002.
Software Engineering: A Practitioner's Approach, 4th edition, Roger S. Pressman, McGraw-Hill Higher Education.
HU 401: Entrepreneurship and Leadership 3(3,0) The course focuses on the importance of entrepreneurship, in particular in the areas of leadership, decision making and negotiation Topics include: Leadership styles; group and organizational leadership; values and ethics; is leadership born or learned; Management vs. leadership; Entrepreneurship; Individual, group and organizational leadership principles; Human behavior and motivation in performance; Values and ethics in leadership and decision-making; Nature of entrepreneurial work - risks, rewards, challenges.
Text: Entrepreneurship: A Contemporary Approach by Donald F. Kuratko The Art and Science of Leadership by Afsaneh Nahavandi, 2nd edition EE 121: Circuit Analysis-I 4(3,1) Electric quantities, electric signals, electric circuits, Kirchhoff's laws, circuit elements. Resistance, seres parallel combination, voltage and current dividers, resistive bridges and ladders, practical sources and loading, instrumentation and measurement. Nodal analysis, loop analysis, linearity and superposition, source transformation, One ports, circuit theorems,power calculations. Dependent sources, circuit analysis with dependent sources, ideal transformer, amplifiers. The operational amplifier, basic op-amp configurations, ideal op-amp circuit analysis, summing and difference amplifiers, amplifier types. Capacitance, inductance, natural response of RC and RL circuits. Response to DC forcing function. Transient response of first order circuits, step, pulse and pulse train responses, first order op-amp circuits. Transient response and step response of second order circuits. Text: Electric Circuit Fundamentals by Sergio Franco (Latest ed.) EE 222: Circuit Analysis - II 3(3,0) Sinusoids and phasors, AC response of basic elements, first order circuits and second order circuits. Phasor algebra, AC impedance, Frequency domain analysis, op-amp AC circuits. AC power and 3-phase systems. AC Resonance. Laplace transform and its application to circuit analysis. Fourier Series analysis. Network functions, Bode plots. Text: Electric Circuit Fundamentals by Sergio Franco (Latest ed.) EE 223: Electronics-I 4(3,1) Signals, frequency spectrum of signals, analog and digital signals. Amplifiers, voltage, current and power gains. Gains in decibels, amplifier power supplies, amplifier saturation, non-linear characteristics and biasing. Circuit models for amplifiers. Op-amp configurations and DC imperfections. Diodes, terminal characteristics, modeling of forward characteristics, operation in reverse region and breakdown. Rectifier circuits, limiting and clamping circuits, special diodes. MOSFETs, device structure and physical operation, current voltage characteristics, MOSFET circuits at DC. Biasing in MOSFET and small signal operation and model. BJTs, structure and physical operation, current voltage characteristics. BJT circuits at DC, biasing, small signal operation and models, single stage amplifiers. Differential and multi stage amplifiers. Text: Microelectronic Circuits by Sedra and Smith (latest ed.) EE 321: Electronics-II 3(3,0) Amplifiers, Operational Amplifiers, Feedback theory, Frequency Analysis, Advanced Operational Amplifiers with Applications, Voltage regulators, Oscillators, Special Electronic devices, Signal generation and wave shaping circuits. Output stages and power amplifiers. Texts: Microelectronic Circuits by Sedra and Smith (latest ed.)
Electronic Devices and Circuits, Theodore Bogart (6th ed.)
EE 322: Electronics Design Laboratory 1(0,1)
This laboratory is design oriented where the students are required to design and deliver small projects related to the concepts and theory studied during Electronics I and Electronics II courses.
Reference Material: Electronic Devices and Circuits by Theodore Bogart (6th ed.), Electronics II Lab Manual EE 323: Electronics-II 4(3,1)
Amplifiers, Operational Amplifiers, Feedback theory, Frequency Analysis, Advanced Operational Amplifiers with Applications, Voltage regulators, Oscillators, Special Electronic devices, Signal generation and wave shaping circuits. Output stages and power amplifiers. The course is coupled with a design oriented laboratory wherein the students carry out tasks assigned to them involving design of small projects. Texts: Microelectronic Circuits by Sedra and Smith (latest ed.)
Electronic Devices and Circuits, Theodore Bogart (6th ed.)
Reference Material: Electronics II Lab Manual CS 100: Introduction to Computing 2(1,1) This broad-based, entry-level course provides a general overview of the main concepts in computing, Topics studied include the history and evolution of computers, central processing unit, data storage, input/output devices, multimedia, operating systems, programming languages, networking, the Internet, systems analysis and design, management information systems, electronic commerce, security and privacy issues, ethical issues and the computing profession. Students will become familiar with popular operating systems, software applications and tools, and learn the basic concepts of programming by developing interactive web pages. Text: Computers: Tools for an Information Age, 8th ed., H.L. Capron, Addison Wesley, 2003. CS 101: Introduction to Computing 3(2,1) This broad-based, entry-level course provides a general overview of the main concepts in computing, Topics studied include the history and evolution of computers, central processing unit, data storage, input/output devices, multimedia, operating systems, programming languages, networking, the Internet, systems analysis and design, management information systems, electronic commerce, security and privacy issues, ethical issues and the computing profession. Students will become familiar with popular operating systems, software applications and tools, and learn the basic concepts of programming by developing interactive web pages. Text: Computers: Tools for an Information Age, 8th ed., H.L. Capron, Addison Wesley, 2003. CSE 120: Digital Logic Design 4(3,1) Design concepts. Introduction to logic circuits, truth tables, logic gates and networks, boolean algebra, synthesis using AND, OR and NOT gates, NAND and NOR logic networks, design examples, introduction to CAD tools, introduction to Verilog. Implementation technology. Optimized implementation of logic functions. Number representation and arithmetic circuits. Combinational circuit building blocks. Flip flops, registers, counters and simple processor. Text: Fundamentals of Digital Logic with Verilog Design by Brown and Vranesic (Latest ed.) CS 140: Programming Fundamentals I 4(2,2) This course is designed to train the fresh incoming bachelor students of computer science and computer engineering students to solve problems through digital computers. Students learn to solve mathematical and scientific problems by developing computer programs. They learn conversion of problem solving techniques to algorithms and flowcharts. They view solution as ‘data + algorithm = program’. They learn representing information in variables of primitive data types of C language and practice control constructs (if-else, switch, for, while, do-while) to convert the information space i.e., variables such that solution is available in the space. Collection data constructs like structures, arrays and strings are then taught to enrich problem state representation. After learning structured programming the students practice functions in modular programming mode. Text: Theory and Problems of Programming with C by Bryon S. Gottfried, 2nd Ed. McGraw Hill CS 141: Programming Fundamentals 3(2,1)
The course is designed to provide the students an overview of the fundamentals of programming techniques and a high level insight into computer systems. It focuses on developing problem solving approach in the students and concentrates on formulation of algorithms and translating them into structured programs. Text: Deitel & Deitel, C++ How to Program, 4th Edition, Prentice Hall CS 142: Programming Fundamentals II 3(2,1) The course is an introduction to computer science. This course could be taught in languages like Python or Scheme. The course naturally divides itself into four parts: the first two parts are on building procedural and data abstractions, the third part is on building new programming languages, and the last part is an optional “topics” part. The first three parts mainly focus on techniques for managing large programmes: this includes various methods of abstraction and designing new computer languages. The first part starts with functions, control of flow, recursion and higher order functions. This part is an introduction to building abstractions with functions. The second part of the course then goes on to build abstractions with data. This leads us naturally to object-oriented programming. A third method of controlling complexity is to define new languages and build interpreters. This is the focus of the third part of the course. There are two clear independent directions in the last part of the course: either the course can introduce the ideas of processing large amounts of data or it can go ahead and implement a language on a register machine. Texts: Structure and interpretation of computer programs by Abelson, Sussman and Sussman.
http://mitpress.mit.edu/sicp/ Composing programs by John DeNero. www.composingprograms.com References: Python programming, for the absolute beginner, by Michael Dawson, 3rd edition. Course
Technology. Dive into Python 3 by Mark Pilgrim. 2nd edition. Learning Python by Mark Lutz, 5th edition. O’Reilly The Scheme programming language by Kent Dybvig. 4th edition . Simply Scheme by Brian Harvey. 2nd edition.
CS 200: Discrete Mathematics 3(3,0) This course offers an intensive introduction to discrete mathematics as it is used in computer science. Topics include functions, relations, sets, series and sequences, simple proof techniques, boolean algebra, propositional logic, digital logic, elementary number theory, fundamentals of counting, predicate logic, recurrence relations, graphs, trees, matrices, computational complexity, elementary computability, and discrete probability. Texts: Discrete Mathematics and its Applications, Kenneth H. Rosen, 5th Edition, 2003, McGraw-Hill.
Discrete Mathemactis with Applications, Sussana S. Epp. 4th Edition, 2011, Brooks/Cole. CS 202: Theory of Automata and Formal Languages 3(3,0) This course covers foundational theory and practice of finite state machines, regular expression matching, and context-free grammars. The following are the course learning objectives:
a) design of finite state automata and regular expressions b) prove that a language is not regular c) design of push-down automata and context-free grammars d) conversion amongst push-down automata and context-free grammars e) prove that a language is not context-free
Through taking this course, students will learn the theoretical and practical significance of automata theory and its application to important real-world problem domains, such as parsing, programming language design, security policy specification, natural language processing, and many others Texts: Introduction to Computer Theory, Daniel I. A. Cohen 2nd Edition.
Introduction to Automata Theory, Languages, and Computation, John E. Hopcroft. Jeffery D. Ullman, Addison-Wesley. ISBN 0-201-02988
CS 210: Data Structures and Algorithms 4(3,1) This course covers basic data arrangement and manipulation techniques. Students learn different datum/object collection constructs to different problem representation in OO models of stack, queue, priority queue, list, doubly linked list, binary trees, m-ary trees, and graphs along with their mutation functions. These structures are practiced through dynamic memory manipulations. Searching, sorting and hashing techniques are also taught and practiced in the laboratory exercises. File processing is extensively involved to solve complex problems. Text: Data Structures and Algorithm Analysis, M. A. Weiss, Pearson, 2nd Edition, 1997. CSE 225: Computer Organization and Assembly Language 4(3,1) This course will provide an overview of the structure and function of computers at the register level and how data is represented at this level. Main topics of the course are: organization of computer hardware, the functions of assembler, linker, and loader, basic assembly language instruction set, memory management, addressing modes, RISC and CISC comparison, macros, file handling, real and protected mode interrupts, stack and procedures, low-level I/O. Students will learn to design, implement, and debug programs in assembly language. Texts: Assembly Language Programming and Organization of IBM PC by Ytha Yu and Charles Marut,
McGraw- Hill, 1992 Computer Organization and Design, David A. Patterson, John L. Hennessy, 3rd Edition. Assembly Language Programming and Organization of IBM PC, Ytha Yu and Charles Introduction to Assembly Language Programming for Pentium and RISC Processors,
Sivarama P. Dandamudi CS 241: Object-Oriented Programming 3(2,0) This course is designed to teach object-oriented programming techniques to those who have learned basic programming concepts. Concepts include: Classes; Objects; Data Protection, Data Abstraction; Data Encapsulation; Language extension through operator overloading; Template functions and Function Overloading; Friend Functions; Association, aggregation, composition of objects; Inheritance of object structure and object knowledge. Overridden Methods; Virtual Functions; Pure Virtual Functions: Concrete and Abstract Classes; Polymorphism in objects related through is-a relationships of inheritance; Class Templates; and Files. C++ programming language is used to demonstrate the object-oriented programming constructs. Texts: C++ How to Program, Deitel & Deitel,4th Edition, Prentice Hall C++ Programmer’s Notebook, Jim Keogh, 2nd Edition. CSE 301: Control Systems 4(3,1) The course familiarizes the student with the mathematical tools and skills needed to analyze and design feedback control systems. Upon completion of this course, students will be able to create mathematical models using block and signal flow diagrams, become familiar with Root Locus techniques, and be able to sketch Root Locus and Bode plots. Design basic feedback systems. Texts: Modern Control Engineering by Katsuhiko Ogata, Pearson Education, 4th Edition, 2002. Control Systems Engineering by Norman S. Nise, John Wiley, Asia, 6th Edition. CS 310: Analysis of Algorithms 3(3,0) This course covers a number of ideas and techniques useful for designing and analyzing data structures and algorithms. In particular, we will introduce techniques for analyzing upper bounds for algorithms and lower
bounds for problems. Problem areas include sorting, graphs, dynamic programming, combinatorial algorithms, computational geometry, encryption, and NP-Completeness. Text: Introduction to Algorithms, T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. D. Stein, MIT Press. CSE 311: Numerical Analysis and Computing 3(3,0) This course makes the students understand the basic techniques of numerical analysis for solving nonlinear algebraic equations, interpolation, for numerical differentiation and integration. It enables them to set up computational algorithms for the solution of above problems. Text: A First Course in Numerical Analysis, Saeed Bhatti & Naeem Bhatti, 4th Edition, 2003. CSE 320: Embedded Systems Development 4(3,1) Introduction, design challenges, process technologies, custom single purpose processor design, general purpose processors (software), development environment, debuggers, emulators, standard off the shelf processors, peripherals, memory, interfacing, digital camera design example, state machine and concurrent process model, design technology, PLA, FPGA introduction, hardware/firmware partitioning, circuit debugging, firmware design, firmware architecture. Texts: Embedded Systems Design: An Introduction to Processes, Tools, and Techniques by Arnold S. Berger. Embedded System Design : A Unified Hardware and Software Approach, Tony Vahid and Givargis CS 325: Operating Systems 3(3,0) This is designed to be the first undergraduate level course with the main objective of teaching students the concepts and principles that underlie the design and implementation of contemporary operating systems. The discussion of the concepts and principles used in UNIX, Linux, and MS-DOS/MS-Windows operating systems will be integrated throughout the course. Students will be given the opportunity to examine important UNIX and Linux data structures and use its various services through programming exercises. Programming language environment: C on UNIX/Linux. Texts: Operating System Concepts, Silberschatz, Galvin and Gagne, 6th Edition, 2002, John Wiley & Sons,
Inc. Modern Operating Systems, Tanenbaum A.S., 2nd Edition, 2001 CS 326: Operating Systems 3(2,1) This is designed to be the first undergraduate level course with the main objective of teaching students the concepts and principles that underlie the design and implementation of contemporary operating systems. The discussion of the concepts and principles used in UNIX, Linux, and MS-DOS/MS-Windows operating systems will be integrated throughout the course. Students will be given the opportunity to examine important UNIX and Linux data structures and use its various services through programming exercises. Programming language environment: C on UNIX/Linux. Text: Modern Operating Systems, Tanenbaum A.S., 2nd Edition, 2001 CS 342: Web Technologies 3(3,0) This course will cover many of new and upcoming technology; Student will get hands on practices on different technologies; this course covers Client Side Technologies; HMTL, JavaScript, AJAX and Server Side Technologies; PHP, PHP, Web Services and Rich Internet Application Framework; FLEX Also they will get introduction to upcoming technologies like Semantic Web Text: This course is a dynamic course being updated each year. Teachers are encouraged to prescribe latest books and material. CS 360: Artificial Intelligence 4(3,1)
This is an introductory course in Artificial Intelligence. This course introduces representations, techniques, and architectures used to build applied systems and to account for intelligence from a computational point of view. This course also explores applications of rule chaining, heuristic search, logic, constraint propagation, constrained search, and other problem-solving paradigms. In addition, it covers applications of decision trees, neural nets, SVMs and other learning paradigms. The essentials of Prolog and an overview to its applications. Texts: Expert Systems and Applied Artificial Intelligence by Efraim Turban
Artificial intelligence: a modern approach. Russell, Stuart J., and Peter Norvig. 2nd edition. Upper Saddle River, NJ: Prentice Hall, 2003. ISBN: 0137903952. Artificial Intelligence by George F. Luger
CS 370: Database Systems 4(3,1) The course discusses the fundamental concepts of database design and implementation focusing primarily on relational data model. Structured Query Language (SQL) is also introduced and practiced in the course. Text: Fundamentals of Database Systems, Elmasri & Navathe, 4th Edition. CSE 371: Signals and Systems 3(3,0) The course presents and integrates the basic concepts for both continuous-time and discrete-time signals and systems. Signal and system representations are developed for both time and frequency domains. These representations are related through the Fourier transform and its generalizations, which are explored in detail. Texts: Linear Systems and Signals by B. P. Lathi (Latest ed.)
Signals and Systems by Oppenheim, Willsky and Nawab, 2nd ed., Pearson Education Ltd., (Discrete Systems and DTFT) Analog and Digital Communication Systems by B. P. Lathi and Z. Ding, Oxford Univ. Press, 2009. (for Fourier Transform)
CS 375: Data Mining 3(3,0) Data Mining and Knowledge Discovery studies how to analyze the flood of information generated by businesses, science, web, and other sources. It uses methods from several fields, including databases, machine learning, statistics, and information visualization and it focuses on key tasks such as classification, clustering, market basket analysis or association rules, and link analysis. Texts: Data Mining: Practical machine learning tools and techniques by Witten, I. H., & Frank, Morgan
Kaufmann. Data Mining: concepts and techniques by Han, J., & Kamber, M Morgan Kaufmann
CS 390: Software Engineering 4(3,1) This course is designed to provide understanding of the concepts, techniques and tools for the definition, design, development, testing and maintenance of software systems. The main objective is to emphasize the need for a systematic and managed approach to software development. The course discusses important software development activities, emphasizing on analysis, design, and testing. Text: Software Engineering, Ian Sommerville, 6th Edition, Addison-Wesley, 2001. CS 391: Object Oriented Analysis and Design 3(3,0) This course requires prior experience in object-oriented programming and familiarity with basic object-oriented concepts such as abstraction, encapsulation, inheritance, composition and aggregation. Object-oriented analysis and design concepts are introduced using UML, and an iterative evolutionary design process based on the Unified Process applied in an agile spirit. Students will also learn applications of object-oriented design principles and patterns such as GRASP and GoF design patterns.
Text: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Craig Larman, 3rd edition, Prentice Hall, 2005 (or Latest edition). CSE 400: Industrial Automation 4(3,1) The course offers instruction in electronics applications and computer aspects of automation, including both theory and applications of digital and industrial electronics, hydraulics/pneumatics, actuators, transducers and robotic systems. It also includes discussion of sensors, transducers, signal conditioning devices and computer based data acquisition. Programmable Logic Controllers (PLC) and Ladder Logic are also covered. Text: Industrial Control Electronics: Devices, Systems & Applications, Terry L. M. Bartlet, 3rd Edition, June 2005. CSE 420: Computer Architecture 3(3,0) This course focuses on the principles, practices and issues in computer architecture, while examining computer design trade-offs both qualitatively and quantitatively. Topics include: Advanced Pipelining, Instruction-level parallelism, Memory - hierarchy design, Storage Systems and input/ output and Multiprocessor architecture Text: Computer Architecture: A Quantitative Approach, Hennessy, J. L, and Patterson, D. A., Latest edition. CSE 421: Digital Design 4(3,1) The course teaches the design and implementation of digital systems using EDA tools and FPGA. Upon completion of this course, students will have a good comprehension of EDA tool XILINX, become familiar with XILINX FPGA and its programming, programming of Programmable Logic Array and CPLD. Text: Advanced Digital Design with the Verilog HDL by Michael D. Ciletti, Prentice Hall, 2003. CSE 422: Computer Architecture 3(2,1) This course focuses on the principles, practices and issues in computer architecture, while examining computer design trade-offs both qualitatively and quantitatively. Topics include: Advanced Pipelining, Instruction-level parallelism, Memory - hierarchy design, Storage Systems and input/ output and Multiprocessor architecture Text: Computer Architecture: A Quantitative Approach, Hennessy, J. L, and Patterson, D. A., Latest edition. CSE 430: Wireless Networks 3(3,0) The course deals with the fundamental and practical aspects in the analysis and design of wireless systems. Topics that will be covered are: the wireless communication channel, spectrum efficient digital modulation techniques their comparison and detection techniques, cellular communication principles, techniques used to combat the channel, overview of multiple access techniques and example wireless communication systems. Text: Introduction to Wireless Systems by P. M. Shankar. John Wiley & Sons, 2002. CSE 471: Communication Systems and Wireless 3(3,0) The course covers basic principles of communication theory with emphasis on analog modulation systems. Upon completion of this course, students will become familiar with the fundamental features and basic building blocks of analog and digital communications systems, and also be able to characterize the performance of analog modulation techniques in noise Texts: Modern Digital and Analog Communication Systems by B. P. Lathi, 3rd edition, Oxford University
Press. Introduction to Wireless Systems by P. M. Shankar. John Wiley & Sons, 2002. CSE 472: Digital Signal Processing 3(3,0)
The course begins with a discussion of the analysis and representation of discrete-time signals and systems including a discussion of discrete-time convolution, difference equations, the z-transform and the discrete Fourier transform. Considerable emphasis is placed on the similarities with and distinctions between discrete-time and continuous-time signals and systems. The course then proceeds to a consideration of digital network structures for implementation of both recursive (infinite impulse response) and non-recursive (finite impulse response) digital filters. A major consideration in digital signal processing is the design of digital filters to meet prescribed specifications. Thus a set of lectures is devoted to a detailed discussion of digital filter design for both recursive and non-recursive filters. The course concludes with a thorough presentation of the fast Fourier transform algorithm for computation of the discrete Fourier transform. Texts: Discrete Time Signal Processing by Oppenheim, Alan V., and Ronald W. Schafer, 3rd Edition, Prentice
Hall, 2010. A Course in Digital Signal Processing, Boaz Porat, John Wiley & Sons, Latest ed.
CSE 491: Final Project 1 3(0,3) The final project involves research, planning and development of a real and substantial project related to computer science and engineering. It provides an opportunity to the students to use their acquired academic skills in the form of a demonstrable software product. Make oral and written project presentations. CSE 492: Final Project 1I 3(0,3) The final project involves research, planning and development of a real and substantial project related to computer science and engineering. It provides an opportunity to the students to use their acquired academic
skills in the form of a demonstrable software product, make oral and written project presentations.