Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

B.Sc.

Computer Engineering – 2015 and Subsequent Sessions (Sample Scheme)

Sem- S/ Course Code Course Title Credit Hours Knowledge Area Pre-requisites
No Th Lab
ester
Natural Sciences None
1 MA-123 Calculus 3 0
Natural Sciences None
2 PHY-121 & 121L Mechanics & Wave Motion 2 1
1. 3 IS-101 Islamic/ Ethics & Pakistan Studies I Humanities None
3 0
Computing None
4 CS-141 & 141L Introduction to Computing 3 1
Interdisciplinary None
Engineering Breadth
5 ME-100L Workshop Practice 0 1 (Elective)
Sub Total 11 3
Natural Sciences MA-123
MA-224 Multivariate Calculus 3 0
Computing CS-141 & 141L
CS-142 & 142L Programming Fundamentals 3 1
2. Engineering MA-123
CSE-121& 121L Circuit Analysis I 3 1 Foundation
Humanities IS-101
IS-201 Islamic/ Ethics & Pakistan Studies II 3 0
Natural Sciences None
PHY-131 &131L Electricity and Magnetism 2 1
Sub Total 14 3
Natural Sciences None
MA-219 Linear Algebra and Complex Analysis 3 0
Technical Writing and Presentation Humanities None
HU-221 Skills 3 0
3. Computing CS-142 & 142L
CS-241 & 241L Object Oriented Programming 3 1
Major Based Core MA-123
CS-211 Discrete Mathematical Structures 3 0 (Breadth)
Engineering CS-141
CSE-221 & 221L Digital Logic Design 3 1 Foundation
Sub Total 15 2
Natural Sciences MA-123
MA-225 Differential Equations and Transforms 3 0
Major Based Core CS-211, CS-142 &
CS-212 & 212L Data Structures and Algorithms 3 1 (Breadth) 142L
4. Major Based Core CSE-221 &221L
CSE-222 & 222L Computer Organization and Assembly 3 1 (Breadth)
Mechanics of Materials and Machine Interdisciplinary Engg PHY-101 & 101L
ME-229 Design 3 0 Breadth (Elective)
Major Based Core MA-123, CS-141
CS-201 & CS-201L Numerical Analysis 3 1 (Breadth) & 141L
Sub Total 15 3
Major Based Core MA-224
CSE-301 Probability and Random Variables 3 0 (Breadth)
Humanities None
HU-111L Communication Skills 0 1
5. Engineering CSE-121
CSE-321 & 321L Electronics I 3 1 Foundation
Major Based Core CS-241 & CS-
CS-381 & 381L Software Engineering 3 1 (Depth) 241L, CS-212
Major Based Core
CS-361 & 361L Artificial Intelligence 3 1 (Depth) CS-211, CS-212
Engineering CSE-121, MA
CSE-371 Signals and Systems 3 0 Foundation 225, MA 219
Sub Total 15 4
Management Sciences None
MGT-XXX Project Management 3 0
Engineering CSE-222, CS-212
CS-362 & 362L Operating Systems 3 1 Foundation
6. Engineering CS-212 & 212L
CSE-331 & 331L Computer Networks 3 1 Foundation
Engineering CSE-222 & 222L
CSE-322 & 322L Embedded Systems 3 1 Foundation
Major Based Core CS-212 & 212L
CS-363 & 363L Database Systems 3 1 (Breadth)
Sub Total 15 4
Entrepreneurship and Business Management Sciences None
MGT-414 Management 3 0
Major Based Core CSE-222 & 222L
7. CSE-421 Computer Architecture 3 0 (Depth)
Major Based Core CSE-371
CSE-471 Digital Signal Processing 2 1 (Depth)
Major Based Core
CSE Elective 2 1 (Depth)
Final Year Design
CSE-491 FYP I 0 3 Project
Sub Total 10 5
XX-XXX International language 3 0 Humanities None
Major Based Core
CSE Elective 3 0 (Depth)
8. Major Based Core
CSE Elective 3 0 (Depth)
Major Based Core
CSE Elective 2 1 (Depth)
Final Year Design
CSE-492 FYP II 0 3 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- S/ Course Code Course Title Credit Hours Knowledge Area Pre-requisites
No Th Lab
ester
Natural Sciences None
1 MA-123 Calculus 3 0
Natural Sciences None
2 PHY-121 & 121L Mechanics & Wave Motion 2 1
1. 3 IS-101 Islamic/ Ethics & Pakistan Studies I Humanities None
3 0
Computing None
4 CS-141 & 141L Introduction to Computing 3 1
Interdisciplinary Engg None
5 ME-100L Workshop Practice 0 1 Breadth (Elective)
Sub Total 11 3
Natural Sciences MA-123
MA-224 Multivariate Calculus 3 0
Computing CS-141 & 141L
CS-142 & 142L Programming Fundamentals 3 1
2. CS Foundation MA-123
CSE-121& 121L Circuit Analysis I 3 1
Humanities IS-101
IS-201 Islamic/ Ethics & Pakistan Studies II 3 0
Natural Sciences None
PHY-131 &131L Electricity and Magnetism 2 1
Sub Total 14 3
Natural Sciences None
MA-219 Linear Algebra and Complex Analysis 3 0
Humanities None
HU-221 Technical Writing & Presentation Skills 3 0
3. Computing CS-142 & 142L
CS-241 & 241L Object Oriented Programming 3 1
Major Based Core MA-123
CS-211 Discrete Mathematical Structures 3 0 (Breadth)
CS Foundation CS-141
CSE-221 & 221L Digital Logic Design 3 1
Sub Total 15 2
Natural Sciences MA-123
MA-225 Differential Equations and Transforms 3 0
Major Based Core CS-211, CS-142 &
CS-212 & 212L Data Structures and Algorithms 3 1 (Breadth) 142L
4. Major Based Core CSE-221 &221L
CSE-222 & 222L Computer Organization and Assembly 3 1 (Breadth)
Major Based Core CS-142 & CS-
CS-281 & CS-281L Object Oriented Analysis and Design 3 1 (Breadth) 142L
Major Based Core MA-123, CS-141
CS-201 & CS-201L Numerical Analysis 3 1 (Breadth) & 141L
Sub Total 15 4
Major Based Core MA-224
CSE-301 Probability and Random Variables 3 0 (Breadth)
Humanities None
HU-111L Communication Skills 0 1
5. Theory of Automata & Formal CS Foundation CS-211
CS-312 Languages 3 0
Major Based Core CS-241 & CS-
CS-381 & 381L Software Engineering 3 1 (Depth) 241L, CS-212
Major Based Core
CS-361 & 361L Artificial Intelligence 3 1 (Depth) CS-211, CS-212
CS Foundation CS-211, CS-212 &
CS-311 Analysis of Algorithms 3 0 CS-212L
Sub Total 15 4
Management Sciences None
MGT-XXX Project Management 3 0
CS Foundation CSE-222, CS-212
CS-362 & 362L Operating Systems 3 1
6. CSE-331 & 331L Computer Networks 3 1
CS Foundation CS-212 & 212L
Major Based Core CS-212 & 212L
CS-382 Web Technologies 3 0 (Breadth)
Major Based Core CS-212 & 212L
CS-363 & 363L Database Systems 3 1 (Breadth)
Sub Total 15 3
Entrepreneurship and Business Management Sciences None
MGT-414 Management 3 0
Major Based Core CSE-222 & 222L
7. CSE-421 Computer Architecture 3 0 (Depth)
Major Based Core CSE-371
CS/ CSE Elective 3 0 (Depth)
Major Based Core
CS/ CSE Elective 2 1 (Depth)
Final Year Design
CSE-491 FYP I 0 3 Project
Sub Total 11 4
XX-XXX International language 3 0 Humanities None
Major Based Core CS-312
CS-411 Compiler Construction 3 0 (Depth)
8. CS/ CSE Elective 3 0 Major Based (Depth)
CS/ CSE Elective 2 1 Major Based (Depth)
Final Year Design
CSE-492 FYP II 0 3 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 Semester 2
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 100 Introduction to Computing 1+3 1+1 CS 142 Programming Fundamentals II 2+3 2+1
PHY 101 Mechanics & Wave Motion 3+3 3+1 EE 121 Circuit Analysis I 3+3 3+1
MA 100 Calculus 3 3 MA 103 Multivariate Calculus 3 3
HU 101 Composition and Writing 3 3 PHY 103 Electricity and Magnetism 3+3 3+1
Islamic Studies/Ethics & Pak Strength of Materials & Machine
IS 103 2 2 ME 201 3 3
Studies Design
CS 140 Programming Fundamentals I 2+6 2+2 HU 202 Communication Skills 2 2
Total 26 18(18) Total 25 19(37)

Semester 3 Semester 4
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 241 Object Oriented Programming 2+3 2+1 CS 210 Data Structures and Algorithms 3+3 3+1
Differential Equations & Computer Organization and Assembly
CSE 225 3+3 3+1
MA 202 Transforms 4 4 Language
EE 223 Electronics-I 3+3 3+1
CS 200 Discrete Mathematics 3 3 CSE 371 Signals and Systems 3 3
EE 222 Circuit Analysis II 3 3 MA 210 Linear Algebra and Complex Analysis 4 4
CSE 120 Digital Logic Design 3+3 3+1 IS 304 Islamiat/Ethics & Pak Studies 3 3
HU 203 Technical Writing 3 3 Total 28 22(79)
Total 24 20(57)

Semester 5 Semester 6
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 326 Operating Systems 2+3 2+1 CSE 301 Control Systems 3+3 3+1
CS 390 Software Engineering 3+3 3+1 CS 360 Artificial Intelligence 3+3 3+1
EE 321 Electronics-II 3 3 CS 370 Database Systems 3+3 3+1
MA 250 Probability and Statistics 3 3 CS 310 Analysis of Algorithms 3 3
Numerical Analysis and CSE 320 Embedded Systems Development 3+3 3+1
CSE 311 3 3
Computing
EE 322 Electronics Design Lab 0+3 1
CSE 330 Computer Networks 3+3 3+1
Total 30 20(119)
Total 26 20(99)

Semester 7 Semester 8
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CSE 491 Final Project I 0+9 0+3 CSE 492 Final Project II 0+9 0+3
CSE 422 Computer Architecture 2+3 2+1 CSE 400 Industrial Automation 3+3 3+1
CSE 4XX CSE Elective 3 3 CSE 421 Digital Design 3+3 3+1
Entrepreneurship and CSE 4XY CSE Elective 3 3
HU 401 3 3
Leadership
Total 24 14(145)
Total 20 12(131)

*Choice between: Arabic, Chinese, French or German. Offering is subject to the availability of the Instructor
B.Sc. Computer Science Curriculum - 2011

Semester 1 Semester 2
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 100 Introduction to Computing 1+3 1+1 CS 142 Programming Fundamentals II 2+3 2+1
PHY 101 Mechanics & Wave Motion 3+3 3+1 PHY 103 Electricity and Magnetism 3+3 3+1
MA 100 Calculus 3 3 MA 103 Multivariate Calculus 3 3
HU 101 Composition and Writing 3 3 EE 121 Circuits Analysis I 3+3 3+1
IS 103 Islamiat/Ethics & Pak Studies 2 2 HU 202 Communication Skills 2 2
CS 140 Programming Fundamentals I 2+6 2+2
Total 26 18(18) Total 22 16(34)

Semester 3 Semester 4
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 241 Object Oriented Programming 2+3 2+1 CS 210 Data Structures and Algorithms 3+3 3+1
Differential Equations & Transforms CSE 225 Computer Organization and Assembly 3+3 3+1
MA 202 4 4
Language
CS 200 Discrete Mathematics 3 3 CS 202 Theory of Automata & Formal 3 3
Languages
HU 203 Technical Writing 3 3 MA 250 Probability and Statistics 3 3
IS/HU *
Language 3 3 MA 210 Linear Algebra and Complex Analysis
303 4 4
CSE 120 Digital Logic Design 3+3 3+1 IS 304 Islamiat/Ethics & Pak Studies 3 3
Total 24 20(54) Total 25 21(75)
Semester 5 Semester 6
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 326 Operating Systems 2+3 2+1 CS 391 Object Oriented Analysis and Design 3+3 3+1
CS 390 Software Engineering 3+3 3+1 CS 360 Artificial Intelligence 3+3 3+1
CSE 330 Computer Networks 3+3 3+1 CS 370 Database Systems 3+3 3+1
CS 310 Analysis of Algorithms 3 3 Elective 3 3
CSE 311 Numerical Analysis and Computing 3 3 Elective 3 3
HU 312 Project Management 3 3
Total 26 20(95) Total 24 18(113)

Semester 7 Semester 8
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 491 Final Project I 0+9 0+3 CS 492 Final Project II 0+9 0+3
CSE 445 Programming Languages 3 3 CS 402 Compiler Construction 3 3
CSE 450 Computer Graphics 3 3 Elective 3 3
CSE 422 Computer Architecture 2+3 2+1 Elective 3 3
HU 401 Entrepreneurship and Leadership 3 3
24 26 20(95) 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 Semester 2
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
PHY 101 Mechanics & Wave Motion 3+3 3+1 EE 121 Circuit Analysis I 3+3 3+1
MA 101 Calculus 4 4 MA 103 Multivariate Calculus 3 3
HU 202 Communication Skills 2 2 PHY 103 Electricity and Magnetism 3+3 3+1
Islamic Studies/Ethics & Pak Studies – ME 201 Strength of Materials & Machine Design 3 3
IS 105 3 3
I
CS 142 Programming Fundamentals II 2+3 2+1
CS 140 Programming Fundamentals I 2+6 2+2
PHY 101 Mechanics & Wave Motion 3+3 3+1
Total 23 17 (34)
Total 23 17 (17)

Semester 3 Semester 4
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 241 Object Oriented Programming 2+3 2+1 CS 210 Data Structures and Algorithms 3+3 3+1
MA 202 Differential Equations & Transforms 4 4 Computer Organization and Assembly
CSE 225 3+3 3+1
Language
CS 200 Discrete Mathematics 3 3
EE 223 Electronics-I 3+3 3+1
EE 222 Circuit Analysis II 3 3
CSE 371 Signals and Systems 3 3
CSE 120 Digital Logic Design 3+3 3+1
MA 210 Linear Algebra and Complex Analysis 4 4
HU 203 Technical Writing 3 3
IS 304 Islamiat/Ethics & Pak Studies - II 3 3
Total 24 20 (54) Total 28 22 (76)

Semester 5 Semester 6
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 326 Operating Systems 2+3 2+1 CSE 301 Control Systems 3+3 3+1
CS 390 Software Engineering 3+3 3+1 CS 360 Artificial Intelligence 3+3 3+1
EE 323 Electronics-II 3+3 3+1 CSE 330 Computer Networks 3+3 3+1
MA 250 Probability and Statistics 3 3 CSE Elective 3 3
CSE 311 Numerical Analysis and Computing 3 3 CSE 320 Embedded Systems Development 3+3 3+1
CSE 370 Database Systems 3+3 3+1
Total 29 21 (97) Total 27 19 (116)

Semester 7 Semester 8
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CSE 491 Final Project I 0+9 0+3 CSE 492 Final Project II 0+9 0+3
CSE 421 Digital Design 3+3 3+1 CSE Elective 3 or 3+3 3 or 4
CSE 472 Digital Signal Processing 3 3 CSE 422 Computer Architecture 2+3 2+1
HU 401 Entrepreneurship and Leadership 3 3 CSE 4XY CSE Elective 3 3
12 or 13
Total Total
21 13(129) 20 or 23 (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 Semester 2
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 100 Introduction to Computing 1+3 1+1 CS 142 Programming Fundamentals II 2+3 2+1
PHY 101 Mechanics & Wave Motion 3+3 3+1 PHY 103 Electricity and Magnetism 3+3 3+1
MA 101 Calculus 4 4 MA 103 Multivariate Calculus 3 3
IS 105 Islamiat/Ethics & Pak Studies - I 3 3 HU 202 Communication Skills 2 2
CS 140 Programming Fundamentals I 2+6 2+2 EE 121 Circuit Analysis I 3+3 3+1
Total 26 18(18) Total 22 16(34)

Semester 3 Semester 4
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 241 Object Oriented Programming 2+3 2+1 CS 210 Data Structures and Algorithms 3+3 3+1
Differential Equations & Computer Organization and Assembly
MA 202 4 4 CSE 225 3+3 3+1
Transforms Language
CS 200 Discrete Mathematics 3 3 Theory of Automata & Formal
CS 202 3 3
Languages
HU 203 Technical Writing 3 3
MA 250 Probability and Statistics 3 3
IS/HU
Language* 3 3 MA 210 Linear Algebra and Complex Analysis 4 4
303
CSE 120 Digital Logic Design 3+3 3+1 IS 304 Islamiat/Ethics & Pak Studies-II 3 3
Total 25 17(17) Total 25 21(75)

Semester 5 Semester 6
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 326 Operating Systems 2+3 2+1 CS 391 Object Oriented Analysis and Design 3+3 3+1
CS 390 Software Engineering 3+3 3+1 CS 360 Artificial Intelligence 3+3 3+1
CS 370 Database Systems 3+3 3+1 CSE 330 Computer Networks 3+3 3+1
CS 310 Analysis of Algorithms 3 3 Elective 3 3
CSE 311 Numerical Analysis and Computing 3 3 Elective 3 3
HU 312 Project Management 3 3
Total 26 20(94) Total 24 18(112)

Semester 7 Semester 8
Course Contact Credit Course Contact Credit
Course Title Course Title
No. Hours Hours No. Hours Hours
CS 491 Final Project I 0+9 0+3 CS 492 Final Project II 0+9 0+3
CSE 445 Programming Languages 3 3 CS 402 Compiler Construction 3 3
Computer Graphics & Image Computer Architecture
CSE 451 3+3 3+1 CSE 422 2+3 2+1
Processing
Elective 3 3 Elective 3 3
HU 401 Entrepreneurship and Leadership 3 3
Total 24 16(128) 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 Semester 2
Course Title Contact Credit Course Course Title Contact Credit
Course Hours Hours No. Hours Hours
No.
EE 121 Circuit Analysis I 3+3 3+1
PHY 101 Mechanics & Wave Motion 3+3 3+1
MA 103 Multivariate Calculus 3 3
MA 101 Calculus 4 4
HU 202 Communication Skills 2 2 PHY 103 Electricity and Magnetism 3+3 3+1
Strength of Materials & Machine
IS 105 Islamic Studies/Ethics & Pak Studies - I 3 3 ME 201 3 3
Design
CS 140 Programming Fundamentals I 2+6 2+2 CS 142 Programming Fundamentals II 2+3 2+1

Total 23 17(17) Total 23 17 (34)

Semester 3 Semester 4
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CS 241 Object Oriented Programming 2+3 2+1 CS 210 Data Structures and Algorithms 3+3 3+1
MA 202 Differential Equations & Transforms 4 4 CSE 225 Computer Organization and Assembly 3+3 3+1
Language
CS 200 Discrete Mathematics 3 3
EE 223 Electronics I 3+3 3+1
EE 222 Circuit Analysis II
3 3 CSE 371 Signals and Systems 3 3
CSE 120 Digital Logic Design
3+3 3+1 MA 210 Linear Algebra and Complex Analysis
4 4
HU 203 Technical Writing 3 3
IS 304 Islamiat/Ethics & Pak Studies-II 3 3
Total 24 20 (54) Total 28 22 (76)
Semester 5 Semester 6
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CS 326 Operating Systems 2+3 2+1 CSE 301 Control Systems 3+3
3+1
CS 390 Software Engineering 3+3 3+1 CS 360 Artificial Intelligence 3+3 3+1
CS 370 Database Systems 3+3 3+1 CSE 330 Computer Networks 3+3 3+1
EE 323 Electronics II 3+3 3+1 CSE Elective 3 3
CSE 311 Numerical Analysis and Computing 3 3 CSE 320 Embedded Systems Development 3+3 3+1
MA 250 Probability and Statistics 3 3

Total 29 21 (97) Total 27 19 (116)

Semester 7 Semester 8
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CSE 491 Final Project I 0+9 0+3 CSE 492 Final Project II 0+9 0+3
CSE 421 Digital Design 3+3 3+1 CSE Elective 3 or 3+3 3 or 4
CSE 472 Digital Signal Processing 3 3 CSE 422 Computer Architecture 2+3 2+1
HU 401 Entrepreneurship and Leadership 3 3 CSE 4XY CSE Elective 3 3
CSE 491 Final Project I 0+9 0+3

Total 12 or 13
(141 or
Total 21 13(129) 20 or 23 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 Semester 2
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CS 100 Introduction to Computing 1+3 1+1 CS 142 Programming Fundamentals II 2+3 2+1
PHY 101 Mechanics & Wave Motion 3+3 3+1 PHY 103 Electricity and Magnetism 3+3 3+1
MA 101 Calculus 4 4 MA 103 Multivariate Calculus
3 3
IS 105 Islamiat/Ethics & Pak Studies - I 3 3 HU 202 Communication Skills
2 2
CS 140 Programming Fundamentals I 2+6 2+2 EE 121 Circuit Analysis I
3+3 3+1

Total 25 17(17) Total 22 16(33)

Semester 3 Semester 4
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CS 241 Object Oriented Programming 2+3 2+1 CS 210 Data Structures and Algorithms 3+3 3+1
MA 202 Differential Equations & Transforms 4 4 CSE 225 Computer Organization and Assembly 3+3 3+1
Language
CS 200 Discrete Mathematics 3 3
CS 202 Theory of Automata & Formal 3 3
HU 203 Technical Writing Languages
3 3
MA 250 Probability and Statistics 3 3
IS/HU Language* 3 3
303 MA 210 Linear Algebra and Complex Analysis
4 4
CSE 120 Digital Logic Design 3+3 3+1
IS 304 Islamiat/Ethics & Pak Studies-II 3 3
Total 24 20(53)
Total 25 21(74)

Semester 5 Semester 6
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CS 326 Operating Systems 2+3 2+1 CS 391 Object Oriented Analysis and Design 3+3 3+1
CS 390 Software Engineering 3+3 3+1 CS 360 Artificial Intelligence 3+3 3+1
CS 370 Database Systems 3+3 3+1 CSE 330 Computer Networks 3+3 3+1
CS 310 Analysis of Algorithms 3 3 Elective 3 3
CSE 311 Numerical Analysis and Computing 3 3 Elective 3 3
HU 312 Project Management 3 3

Total 26 20(94) Total 24 18(112)

Semester 7 Semester 8
Course Course Title Contact Credit Course Course Title Contact Credit
No. Hours Hours No. Hours Hours
CS 491 Final Project I 0+9 0+3 CS 492 Final Project II 0+9 0+3
CSE 445 Programming Languages 3 3 CS 402 Compiler Construction 3 3
CSE 451 Computer Graphics & Image 3+3 3+1 CSE 422 Computer Architecture 2+3 2+1
Processing
Elective 3 3
Elective 3 3
HU 401 Entrepreneurship and Leadership 3 3

Total 24 16(128) 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 Course Title Credit
No. 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.

You might also like