BACHELOR OF SCIENCE (BS) IN COMPUTER SCIENCE
(For students admitted before Spring 2005)
exact content of the courses will be decided by the course teachers)
110 Programming Language I
An introduction to the foundations of computation and purpose of mechanised
computation. Emphasis placed on techniques of problem analysis and the
development of algorithms and programs. Principles of structured programming and
corresponding algorithm design. Topics will include data structures,
abstraction, recursion, iteration, as well as the design and analysis of basic
algorithms. The language C is primarily used. Lecture, discussion, and
laboratory. Students will be expected to do homework assignments in problem
solving and program design as well as weekly laboratory assignments to reinforce
the lecture material. Introduction to digital computers and programming
algorithms and flow chart construction. Information representation in digital
computers. Writing. Debugging and running programs (including file handling) on
various digital computers using C. The course includes a compulsory 3-hour
laboratory work each week. 3 credits.
111 Programming Language-II
Introduction to data structures. Formal specification of syntax. Elements of
language theory: mathematical preliminaries. Formal languages. Structured
programming concepts. Survey of features of existing high-level languages.
Appropriate application using C++.The course includes a compulsory 3-hour
laboratory work each week. 3 credits. Prerequisite: CSE 110
101 Introduction to Computer Science
Introduction to the use of computer hardware and software as tools for solving
problems. Automated input devices and output methods (including pre-printed
stationary and turnaround documents) as part of the solution. Using personal
computers as effective problem solving tools for the present and the future.
Theory behind solving problems using common application software including word
processing, spreadsheets, database management, and electronic communications.
Problem solving using the Internet and the World Wide Web. Programming
principles and use of macros to support the understanding of application
software. The course includes a compulsory 3-hour laboratory work each week. 3
220 Data Structures
Introduction to widely used and effective methods of data organisation, focusing
on data structures, their algorithms and the performance of these algorithms.
Concepts and examples, elementary data objects, elementary data structures,
arrays, lists, stacks, queues, graphs, trees, compound structures, data
abstraction and primitive operations on these structures. Memory management;
sorting and searching; hash techniques. Introduction to the fundamental
algorithms and data structures: recursion, backtrack search, lists, stacks,
queues, trees, operation on sets, priority queues, graph dictionary.
Introduction to the analysis of algorithms to process the basic structures. A
brief introduction to database systems and the analysis of data structure
performance and use in these systems. The course includes a compulsory 3-hour
laboratory work alternate week. 3 credits. Prerequisite: CSE 111
The study of efficient algorithms and effective algorithm design techniques.
Techniques for analysis of algorithms, Methods for the design of efficient
algorithms: Divide and Conquer paradigm, Greedy method, Dynamic programming,
Backtracking, Basic search and traversal techniques, Graph algorithms,
Elementary parallel algorithms, Algebraic simplification and transformations,
Lower bound theory, NP-hard and NP-complete problems. Techniques for the design
and analysis of efficient algorithms, Emphasising methods useful in practice.
Sorting; Data structures for sets: Heaps, Hashing; Graph algorithms: Shortest
paths, Depth-first search, Network flow, Computational geometry; Integer
arithmetic: gcd, primality; polynomial and matrix calculations; amortised
analysis; Performance bounds, asymptotic and analysis, worst case and average
case behaviour, correctness and complexity. Particular classes of algorithms
such as sorting and searching are studied in detail. The course includes a
compulsory 3 hour laboratory work alternate week. 3 credits. Prerequisite: CSE
230 Discrete Mathematics
Set theory, Elementary number theory, Graph theory, Paths and trees, Boolean
Algebra, Binary Relations, Functions, Algebraic system, Generating functions,
Induction, Reduction, Semi group, Permutation groups, Discrete Probability,
Mathematical logic, Prepositional calculus and Predicate calculus. 3 credits.
250 Circuits and Electronics
Fundamental electrical concepts and measuring units. Direct current: voltage,
current, resistance and power. Laws of electrical circuits and methods of
network analysis; Introduction to magnetic circuits. Alternating current:
instantaneous and r.m.s. Current, voltage and power, average power for various
combinations of R, L and C circuits, phasor representation of sinusoidal
quantities. The course includes a compulsory 3-hour laboratory work alternate
week. 3 credits. Prerequisite: PHY 120 or appropriate experience in electronic
251 Electronic Devices and Circuits
Introduction to semiconductors, p-type and n-type semiconductors; p-n junction
diode characteristics; Diode applications: half and full wave rectifiers,
clipping and clamping circuits, regulated power supply using zener diode.Bipolar
Junction Transistor (BJT): principle of operation, I-V characteristics;
Transistor circuit configurations (CE, CB, CC), BJT biasing, load lines; BJTs at
low frequencies; Hybrid model, h parameters, simplified hybrid model;
Small-signal analysis of single and multi-stage amplifiers, frequency response
of BJT amplifier. Field Effect Transistors (FET): principle of operation of JFET
and MOSFET; Depletion and enhancement type NMOS and PMOS; biasing of FETs; Low
and high frequency models of FETs, Switching circuits using FETs; Introduction
to CMOS. Operational Amplifiers (OPAMP) : linear applications of OPAMPs, gain,
input and output impedances, active filters, frequency response and
noise.Introduction to feedback, Oscillators, Silicon Controlled Rectifiers (SCR),
TRIAC, DIAC and UJT: characteristics and applications; Introduction to IC
fabrication processes. The course includes a compulsory 3-hour laboratory work
alternate week. 3 credits. Prerequisite: CSE 250
260 Digital Logic Design
An introduction to digital systems such as computer, communication and
information systems. Topics covered include Boolean algebra, digital logic
gates, combinational logic circuits, decoders, encoders, multiplexers.
Asynchronous and synchronous counters. Registers, flip-flops, adders, Sequential
circuit analysis and design. Simple computer architecture. The course includes a
compulsory 3-hour laboratory work each week. 3 credits.
310 Object Oriented Programming
An. introduction to object oriented programming using Java. Topics covered
include object instances, classes, inheritance, polymorphism and abstraction
mechanism. Problem domain analysis and system design using object oriented
approach. Object oriented database and object persistency. Software principles
for object oriented approach. Advantages and problems with using object oriented
approach to developing systems. The course includes a compulsory 3-hour
laboratory work each week. 3 credits. Prerequisite: CSE 110 and CSE 111
320 Data Communications
Introduction to purpose and methods of communication. Necessity for modulation
and techniques. Technical aspects of data communications. Effects of noise and
control. Basic concepts such as fundamental limits, encoding, modulation,
multiplexing, error detection and control. Topics include: Data Transmission
Protocols, different layers in data communication systems, LANs, WANs linked
with telephony. 3 credits. Prerequisite: CSE 251
321 Operating Systems
Principles of operating systems: design objects; sequential process; concurrent
processes, functional mutual exclusion, processor co-operation and deadlocks,
management. Control and scheduling of large information processing systems.
Dispatching processor access methods, job control languages memory addressing,
paging and store multiplexing, and time-sharing, batch processing. Scheduling
algorithms, file systems, and security; semaphores and critical sections, device
drivers, multiprocessing, sharing, design and implementation methodology,
performance evaluation and case studies. The course includes a compulsory 3-hour
laboratory work each week. 3 credits. Prerequisite: CSE 341
330 Numerical Methods
Computer Arithmetic: floating point representation of numbers, arithmetic
operations with normalized floating point numbers; Iterative methods: different
iterative methods for finding the roots of an equation and their computer
implementation; Solution of simultaneous Algebraic Equations, Gauss elimination;
Interpolation, Least square approximation of functions, Taylor series
representation, Chebyshev series; Numerical differentiation and integration and
Numerical Solution of Differential Equations. 3 credits. Prerequisite: MAT 110,
331 Automata and Computability
An introduction to finite representation of infinite objects and basic
mathematical models of computation. Finite automata and regular languages,
pushdown automata and context free languages. Turing machines. Church's Thesis.
Partial recursive functions. Undecidability. Reducibility and completeness.
Halting problem. Time complexity and NP-completeness. Probabilistic computation.
Interactive proof systems. 3 credits. Prerequisite: CSE 221
340 Computer Architecture
A systematic study of the various elements in computer design, including circuit
design, storage mechanisms, addressing schemes, and various approaches to
parallelism and distributed logic. Information representation and transfer;
instruction and data access methods; the control unit; hardware and
microprogrammed; memory organisation. RISC and CSEC machines. 3 credits.
Prerequisite: CSE 260
Introduction to different types of microprocessors. Microprocessor architecture,
instruction set, interfacing/O operation, interrupt structure, DMA.
Microprocessor interface ICs. Advanced microprocessor concept of microprocessor
based system design. The course includes a compulsory 3-hour laboratory work
each week. 3 credits. Prerequisite: CSE 260
342 Computer System Engineering
Topics on the engineering of computer software and hardware systems: techniques
for controlling complexity; networks and distributed systems; atomicity and
coordination of parallel activities; recovery and reliability; privacy of
information; impact of computer systems on society. Case studies of working
systems and outside reading in the current literature provide comparisons and
contrasts. 3 credits.
350 Digital Electronics and Pulse Techniques
Diode logic gates, transistor switches, transistor gates, MOS gates, and Logic
families: TTL, ECL, IIL and CMOS logic with operation details. Propagation
delay, product and noise immunity. Open collector and High impedance gates.
Electronic circuits for flip flops, counters and register, memory systems. PLA's
(A/D, D/A converters with applications, S/H circuits) LED, LCD and optically
coupled oscillators. Non-linear applications of OPAMPs. Analog switches. Linear
wave shaping: diode wave shaping techniques, clipping and clamping circuits,
comparator circuits, switching circuits. Pulse transformers, pulse transmission.
Pulse generation:monostable, bistable and stable multivibrations, Timing
circuits. Simple voltage sweeps, linear circuit sweeps. Schmitrigger, blocking
oscillators and time base circuit. The course includes a compulsory 3-hour
laboratory work each week. 3 credits. Prerequisite: CSE 260
360 Computer Interfacing
Interface components and their characteristics, micro processor I/O. Disk, Drums
and Printers. Optical displays and sensors. High power interface devices,
transducers, stepper motors and peripheral devices. The course includes a
compulsory 3-hour laboratory work alternate week. 3 credits. Prerequisite: CSE
260, CSE 341
370 Database Systems
Introduction to concepts and methods for storing and manipulating data in stored
form. File retrieval and organisation. Database models and designing of database
systems. The principles of database management systems. Relational database
management systems. Query formulation and language. Database administration.
Methods used for the storage, selection and presentation of Data. Database
integrity and security. Students will work with database languages and popular
application packages. Common database management systems. Structure of SQL and
principals behind the design of SQL. Students must complete four SQL assignments
in the lab. The course includes a compulsory 3-hour laboratory work each week. 3
credits. Prerequisite: CSE 221
371 Management Information Systems
Computer & information processing; Strategic information systems; Software,
hardware and telecommunications; System building methods; Transaction processing
system; Office automation; Decision support systems; Executive support systems;
Artificial intelligence; Computer security & disaster planning; Ethical
& social issues in information systems. 3 credits.
410 Advanced Programming In UNIX
Exploration of the Unix operating system, including its tools and utilities for
program development, such as makefile, piping and redirection, shell scripts,
regular expressions, and symbolic debuggers. In addition, this course explores
advanced features of the C programming language, including various file
processing, command-line and variable arguments, exception handling, and generic
interfacing. Multiprocessing and Multithreading programming in Unix/Linux C.
Thread sysnchronization. Network programming and TCP/IP socket programming. The
course includes a compulsory 3-hour laboratory work each week. 3 credits.
Prerequisite: CSE 110, CSE 321
420 Compiler Design
Theory and Practice; An introduction to compiler and interpreter design, with
emphasis on practical solutions using compiler writing tools such as Yacc in
UNIX, and the C programming language, Topics covered include: lexical scanners,
context free languages and pushdown automata, recursive descent parsing, bottom
up parsing, attributed grammars, symbol table design, run time memory
allocation, machine language, code generation and optimisation. The course
includes a compulsory 3-hour laboratory work alternate week. 3 credits.
Prerequisite: CSE 220, CSE 221 and CSE 330
421 Computer Networks
An introduction to the basics of transport connections and sessions. The
protocol hierarchy, design issues in transport and session layer protocol,
end-to-end protocols, message handling protocols, terminal and file transfer
protocols, Internet TCP/IP protocols. End to end data networks, congestion
control networks, wireless networks, mobile computing, high speed networks.
Concurrent programming, data link layer, framing and error control, media access
control. Models of distributed computation, management and resource control of
networks and distributed operating systems, distributed file systems, caching
scheduling, process migration. Fault tolerance, network security and privacy,
algorithm for deadlock detection. Synchronization and concurrency control in
distributed systems. The course includes a compulsory 3-hour laboratory work
alternate week. 3 credits.
422 Artificial Intelligence
Survey of concepts in artificial intelligence. Knowledge representation, search
and Control techniques. AI machines and features of LISP and PROLOG languages.
Problem Representation; search, constraint propagation, rule chaining, frame
inheritance, inference and learning in intelligent systems; systems for general
problems solving, game playing, expert consultation, concept formation and
natural languages processing; recognition, understanding and translation. Use of
heuristic vs. algorithmic programming; cognitive simulations - vs. machine
intelligence; study of some expert systems such as robotics and understanding.
Solving problems in Al languages. The course includes a compulsory 3-hour
laboratory work each week. 3 credits. Prerequisite: CSE 221
423 Computer Graphics
Introduction to Graphical data processing. Fundamentals of interactive graphics
Architecture of display devices and connectivity to a computer. Implementation
of graphics concepts of two dimensional and three dimensional viewing, clipping
and transformations. Hidden line algorithms. Raster graphics concepts:
Architecture, algorithms and other image synthesis methods. Design of
interactive graphic conversations. The course includes a compulsory 3-hour
laboratory work alternate week. 3 credits. Prerequisite: MAT 215
424 Pattern Recognition
Introduction to pattern recognition: features, classifications, learning.
Statistical methods, structural methods and hybrid method. Applications to
speech recognition, remote sensing and biomedical area. Learning algorithms,
Syntactic approach: Introduction to pattern grammars and languages. Parsing
techniques. Pattern recognition in computer aided design. The course includes a
compulsory 3 hour laboratory work alternate week. 3 credits. Prerequisite: MAT
425 Neural Networks
An extensive course on neural network architectures and learning algorithms with
theory and applications. Temporal and optimal linear associative memories, fuzzy
control. Cohen-Grossberg theorem. Unsupervised learning. Higher-order
competitive, differential Hebbian learning networks. Supervised learning.
Adaptive estimation and stochastic approximation. Adaptive vector quantization,
mean-square approach. Kohonen self-organizing maps. Grossberg theory. Simulated
annealing. Boltzman and Cauchy learning. Adaptive resonance. Gabor functions and
networks. 3 credits.
426 Basic Graphs Theory
Graphs and simple graphs, diagraphs, subgraphs, vertex-degrees, walks, paths and
cycles; trees, spanning trees in graphs, distance in graphs; Complementary
graphs, cut-vertices, bridges and blocks, k-connected graphs; Euler tours,
Hamiltonian cycles, Chinese Postman Problem, Traveling Salesman Problem;
Chromatic number, Chromatic polynomials, chromatic index, Vizing's theorem,
planar graphs, perfect graphs. 3 credits.
427 Machine Learning
Introduction to machine learning; Supervised and reinforcement learning;
Unsupervised learning algorithms; Attribute based and relational supervised
learning algorithms; Neural network based learning algorithms; Genetic algorithm
and genetic programming; Reinforcement learning algorithms; Computational
learning theory. 3 credits.
428 Image Processing
Digital image fundamentals, perception, representation; image transforms; First
Fourier Transform (FFT), Discrete Cosine Transform (DCT), Karhumen and Loeve
Transform (KLT), Wavelet transform and sub-band decomposition; image enhancement
and restoration techniques, image compression techniques, image compression
standards: JPEG, MPEG, H.261, and H.263. 3 credits.
429 Basic Multimedia Theory
Multimedia System Introduction; Coding of compression standards; Architecture
issues in multimedia; Operating System issues in multimedia real-time OS issues,
synchronization, interrupt handling; Database issues in multimedia indexing and
storing multimedia data, disk placement, disk scheduling, searching for a
multimedia document; Networking issues in multimedia Quality-of service
guarantees, resource reservation, traffic specification, mapping and monitoring,
admission control; Security issues in multimedia digital water-marking, partial
encryption schemes for video streams; Multimedia application audio and video
conferencing, video on demand, voice over IP. Concepts covered in lecture
applied in computer laboratory assignments. 3 credits.
460 VLSI Design
Design and analysis techniques fro VLSI circuits. Design reliable VLSI circuits,
noise considerations, design and operation of large fan out and fan in circuits,
clocking methodologies, techniques for data path and data control design.
Simulation techniques. Parallel processing, spatial purpose architectures in
VLSI. VLSI layouts partitioning and placement routing and wiring in VLSI.
Reliability aspects of VLSI design. The course includes a compulsory 3-hour
laboratory work alternate week. 3 credits. Prerequisite: CSE 350
461 Digital System Design
Design using MSI and LSI components. Design of memory subsystem using SRAM and
DRAM. Design of various components of a computer: ALU, memory and control unit:
hardwired and micro programmed. Microprocessor based designs. Computer bus
standards. Design using special purpose controllers, floppy disk controller.
Digital control system. Computes in telecommunication and control. The course
includes a compulsory 3-hour laboratory work each week. 3 credits. Prerequisite:
462 Fault Tolerance System
Introduction to Fault Tolerant Systems and Architectures. Fault detection and
location in combinational and sequential circuits; Fault test generation for
combinational and sequential circuits; Digital simulation as a diagnostic tool.
Automatic test pattern generator, memory test pattern and reliability.
Performance monitoring self checking circuits, Burst error correction and Triple
modular redundancy; Maintenance
Processors. 3 credits.
470 Software Engineering
Concepts of software engineering: requirements definition, modular, structure
design, data specifications, functional specifications, verification,
documentation, software maintenance, and Software support tools. Software
project organization, quality assurance, management and communication skills. 3
471 System Analysis and Design
Introduces students to tools and techniques in systems analysis and design such
as data flow diagram and E-R diagrams. Projects by students where they analyse
and design a system using these tools. The course includes a compulsory 3-hour
laboratory work each week. 3 credits.
472 Human Computer Interface
An introduction to the concepts for human and computer interface. The importance
of computer interface, interface quality and methods of evaluation. The
relationship of interface quality to interactions with the computer. Interface
design, dimensions of interface variability, dialogue tools and techniques, user
centered design and task analysis. User interface implementation, I/O devices
and user interface for groupware, multimedia systems and visualization. Student
will have to submit four assignments on multimedia work in the lab. 3 credits.
Prerequisite: CSE 221, CSE 360
473 Decision Support Systems
This course aims in teaching the integration of business and technical
consideration in the design, implementation and management of information
systems. Topics include: Is planning and development, business, management,
executive, and strategic information systems, including case studies of selected
large disaster planning and recovery. The course also includes practical
examples of information systems industry. 3 credits.
474 Simulation and Modeling
Simulation methods, model building, random number generator, statistical
analysis of results, validation and verification techniques. Digital simulation
of continuous system. Simulation and analytical methods for analysis of computer
system and practical problems in business and practice. Introduction to the
simulation packages. The course includes a compulsory 3-hour laboratory work
alternate week. 3 credits. Prerequisite: MAT 215