CSE Course Description

CSE 101: Introduction to Computer Science (3 credits)
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.

Suggested Books
1. L. Goldschlager and A. Lister,"Computer Science- A modern introduction", 2nd ed., Prentice Hall, 1988.

CSE 110: Programming Language I (3 credits)
This course would be an introduction to the foundations of computation and purpose of mechanized computation. Emphasis will be placed on techniques of problem analysis and the development of algorithms and programs. Topics will include:
1. Introduction to digital computers and programming algorithms and flow chart construction.
2. Information representation in digital computers. Writing, debugging and running programs (including file handling) on various digital computers using an appropriate language.
3. Data structures, abstraction, recursion, iteration, as well as the design and analysis of basic algorithms.

The course includes a compulsory 3 hour laboratory work each week. 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.

Suggested Books:
1. Appropriate book for the language chosen by the course teacher.

CSE 111: Programming Language-II (3 credits)
This course would be an introduction to data structures, formal specification of syntax, elements of language theory and mathematical preliminaries. Other topics that would be covered are formal languages, structured programming concepts, survey of features of existing high level languages. Students would design and write application using an appropriate language.
The course includes a compulsory 3 hour laboratory work each week.
(Pre req. CSE 110 )

Suggested Texts:
1. Appropriate book for the language chosen by the course teacher.

CSE 220: Data Structures (3 credits)
Introduction to widely used and effective methods of data organisation, focussing 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.
(Pre req. CSE 111)

Suggested Books:
1. Jeffrey Kingston,"Algorithms and Data Structures: Design, Correctness, Analysis", 2nd Edition, Addison-Wesley.

2. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman.,"Data Structures and Algorithms", Addison Wesley, 1974)

CSE 221: Algorithms (3 credits)
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. ( Pre req. CSE 220 )

Suggested Books:
1. Donald E. Knuth,"Art of Computer Programming, Volume 1: Fundamental Algorithms ", Addison-Wesley Professional; 3rd edition, 1997.

CSE 230: Discrete Mathematics (3 credits)
Set theory, Elementary number theory, Graph theory, Paths and trees, Boolean Algebra, Binary Relations, Functions, Algebraic system, Generating functions, Induction, Reduction, Semigroup, Permutation groups, Discrete Probability, Mathematical logic, Prepositional calculus and Predicate calculus.

Suggested Books:
1. Kenneth H Rosen,"Discrete Mathematics and Its Applications", McGraw-Hill, 5th edition, 2003.
2. Bernard Kolman, Robert C. Busby, Sharon Cutler Ross,"Discrete Mathematical Structures, Prentice Hall; 5th edition, 2003.

CSE 250: Circuits and Electronics (3 credits)
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.

(Pre req. PHY 112 or appropriate experience in electronic circuits)

Suggested Books:
1. Robert L. Boylestad," Introductory Circuit Analysis" Prentice Hall, 10th edition, 2002.

CSE 251 Electronic Devices and Circuits (3 credits)
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.
(Pre req.: CSE 250)
Suggested Books:
1. David A. Bell,"Electronic Devices and Circuits", 3rd ed., New Delhi Prentice Hall, 2002.

1. Robert L. Boylestad, Louis Nashelsky,"Electronic Devices and Circuit Theory" Prentice Hall, 8th edition, 2001.
2. Jacob Millman, Christos C. Halkias,"Integrated Electronics: Analog and Digital Circuits and Systems", McGraw-Hill, 1972.
3. Ben Streetman and Sanjay Banerjee,"Solid State Electronic Devices", Prentice Hall, 5th edition, 1999.

CSE 260: Digital Logic Design (3 credits)
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.

Suggested Books:
1. Ronald J. Tocci, Neal S. Widmer and Gregory L. Moss,"Digital Systems: Principles and Applications", Prentice Hall, 9th edition, 2003.

CSE 310: Object Oriented Programming ( 3 credits)
An introduction to object oriented programming using. Java is the language typically used to illustrate the concepts, but another suitable language may be substituted by the instructor. 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.
(Pre req. CSE 111)

Suggested Books:
1. Grady Booch,"Object Oriented analysis and Design", 2nd ed., Addison-Wesley, 1993.

Suggested References:
1. H. Schildt,"Java 2: The Complete Reference", 5th ed., McGraw-Hill, 2002.

CSE 320: Data Communications (3 credits)
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. This course will include a compulsory 3-hour laboratory work each week for those interested in obtaining the CCNA certification.

Suggested Books:
1. B. A. Forouzan et. al.,"Data Communication and Networking", 2nd Edition, Tata McGraw-Hill, 2000.
2. W. Stallings,"Data and Computer Communication", 5th ed., Prentice Hall of India, 1997.
3. F. Hallsall,"Data Communications, Computer Networks and Open System", 4th ed., Addison-Wesley, 1996.

CSE 321: Operating Systems ( 3 credits)
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.
(Pre req.: CSE 221)

Suggested Books:
1. Silberschatz G. Gagne and P. B. Galvin,"Operating System Concepts", 6th ed., Wiley, 2002.
2. A. Tanenbaum,"Modern Operating Systems", 2nd ed., Prentice-Hall, 2001.

CSE 330: Numerical Methods ( 3 credits)
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.
( Pre req.: MAT 120)

Suggested Books:
1. S. B. Rao and C. K. Shantha,"Numerical Methods", Vantage Press, 1992.
2. P. Balagurusamy and Techmadia,"Numerical Methods".

CSE 331: Automata and Computability (3 credits)
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. (Pre req.: CSE 221)

Suggested Books:
1. J.V. Kohavi ,"Switching Theory and Finite Automata", McGraw-Hill, 1979.
2. Harry R. Lewis, Christos H. Papadimitriou,"Elements of the Theory of Computation " Prentice Hall; 2nd edition, 1997.

CSE 340: Computer Architecture (3 credits)
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. (Pre req. CSE 260)

Suggested Texts:
1. D. A. Patterson, J. L. Hennessy, P. J. Ashenden J. R. Larus and D. J. Sorin,"Computer Organization and Design: The Hardware/Software Interface", 3rd ed., Morgan Kauffmann, 2004.

Suggested References:
1. J. P. Hayes,"Computer Architecture and Organization", 3rd ed., McGraw Hill, 1997.
2. W. Stallings,"Computer Organization and Architecture", 6th ed., Prentice Hall, 2002.

CSE 341: Microprocessors (3 credits)
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.
( Pre req. CSE 260)

Suggested Books

1. Y. Liu and G. A. Gibson,"Microcomputer Systems: The 8086/8088 Family Architecture, Programming Design", 2nd ed., Prentice-Hall, 1986.
2. M. Rafiquzzaman,"Microprocessors: Theory and Applications: Intel and Motorola", Revised ed., Prentice Hall, 1992.
3. Douglas V. Hall,"Microprocessors and Interfacing: Programming and Hardware" 2nd ed., Gloence McGraw Hill, 1991.

CSE 342: Computer System Engineering (3 credits)
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.

Suggested Books:
1. Julia H. Allen,"The CERT Guide to System and Network Security Practices", Addison-Wesley Professional, 1st edition, 2001.

CSE 350: Digital Electronics and Pulse Techniques (3 Credits)
Diode logic gates, transistor switches, transistor gates, MOS gates, 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.
(Pre req. CSE 251, CSE 260)

Suggested Books:
1. Jacob Millman," Microelectronics: Digital and Analog Circuits and Systems", McGraw-Hill, 1979.

CSE 360: Computer Interfacing (3 credits)
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.
(Pre req. CSE 341)

Suggested Books:
1. Alan Clements,"Microprocessor Interfacing and the 68000 Peripherals and Systems", John Wiley & Sons Inc, 1989.

CSE 370: Database Systems (3 credits)
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.
(Pre req. CSE 221)

Suggested Books:
1. Ramez Elmasri, Shamkant B. Navathe," Fundamentals of Database Systems", Addison Wesley; 4th edition, 2003.
2. P. Bhattacharya ," Database Management Systems" , Tata McGraw-Hill.

CSE 371: Management Information Systems (3 Credits)
Computer & information processing; Strategic information systems; Software, hardware and telecommunications; System building methods; Transaction processing system; Office automation; DeCSEion support systems; Executive support systems; Artificial intelligence; Computer security & disaster planning; Ethical & social issues in information systems.
Suggested Books:
1. James O'Brian ,"Management Information Systems" , Tata MCGraw-Hill.
2. Post and Andersin," Management Information Systems", Tata Mcgraw-Hill.

CSE 390: Technical Communication (3 Credits)
The fundamentals of technical communication using oral, written and visual means are presented as practised in industry and academia. Clarity of thought, organisational skills and systematic approaches are emphasised. Students engage in exercises that focus on technical writing, public speaking, graphic design and giving presentations. They apply their skills across a broad range of activities, including critique of presentations and writing of proposals, reports, memoranda, user manuals, instructional modules, and technical specifications. Techniques presented are intended to create an appreciation for format and content and to better prepare students for project documentation and formal presentations.
(Prereq.: Permission of instructor)

Suggested Books:
1. Daniel G. Riordan"Technical Report Writing", Houghton Mifflin Company, 8th edition, 2001.

CSE 391: Programming for the Internet (3 Credits)
A survey of current Internet technologies and state-of-the-art web programming methods. Using client/server structures, topics studied will be drawn from JavaScript, JSP, ASP, Cold Fusion, Flash, Document Object Model, HTML, Cascading Style Sheets, XML, CGI, TCP/IP and the .NET platform. Programming tools may include PERL, various UNIX shell scripts, Windows batch files, Java and other languages as needed.
(Prereq.: CSE 220)

Suggested Books: TBD

CSE 392: Signals and Systems (3 Credits)
The course deals with the topics of Fourier series, Fourier transforms, Laplace transform, time and frequency response, ideal low-pass filters, band-pass channels, analogue communications, amplitude modulation, angle modulation, frequency-division multiplexing, digital communications, pulse-code modulation, time-division multiplexing, random processes, stationarity, autocorrelation functions, spectral density, Gaussian processes, noise in analogue and digital modulation schemes.
(Prereq.: MAT 215)

Suggested Books:
1. Alan V. Oppenheim, Alan S. Willsky, S. Hamid, S. Hamid Nawab,"Signals and Systems", Prentice Hall, 2nd edition, 1996.

CSE 410: Advanced Programming In UNIX ( 3 Credits)
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 synchronization. Network programming and TCP/IP socket programming. The course includes a compulsory 3 hour laboratory work each week.
(Pre req CSE 321)
Suggested Books:
1. W. Richard Stevens,"Advanced Programming in the UNIX(R) Environment", Addison-Wesley, 1st edition, 1992.
2. Eric Harlow,"Developing Linux Applications with GTK+ and GDK", Sams, 1st edition, 1999.

CSE 419: Programming Languages ( 3 credits)
An introduction to the principles of functional, imperative, and logic programming languages. Topics covered include meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object-oriented programming, modules, and multiprocessing; case studies of contemporary programming languages. Programming experience and background in language implementation required.
(Pre req.: CSE 111, and CSE 331 or permission of the instructor)

CSE 420: Compiler Design ( 3 credits)
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.
(Pre req.: CSE 221, and CSE 331 or permission of the instructor)

Suggested Books:
1. Alfred V. Aho, Jeffrey D. Ullman,"Principles of Compiler Design", Addison-Wesley, 1977.
2. Kenneth C. Louden,"CompilerConstruction:PrinciplesandPractice", 1st edition,1997.

CSE 421: Computer Networks (3 credits)
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 each week if the student wishes to obtain CCNA certification. Otherwise the course includes a compulsory 3-hour laboratory work alternate week.
Prerequisite: CSE 320 for CCNA certification.

Suggested Texts:
1. U. D. Black,"Computer Networks: Protocols Standard and Interfaces", 5th ed., Prentice Hall, 1987.

CSE 422: Artificial Intelligence (3 credits)
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.
(Pre req. CSE 221)

Suggested Books:
1. Stuart J. Russell, Peter Norvig,"Artificial Intelligence: A Modern Approach", PrenticeHall, 2nd edition, 2002.

CSE 423: Computer Graphics (3 credits)
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.
(Pre req. MAT 215)

Suggested Books:
1. William M., Newman,"Principles of Interactive Computer Graphics", McGraw-Hill, 2nd edition, 1978.
2. James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes,"Computer Graphics: Principle and Practice in C", Addison-Wesley, 2nd edition, 1995.

CSE 424: Pattern Recognition (3 credits)
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.
( Pre req. MAT 215)

Suggested Books:
1. Richard O. Duda, Peter E. Hart, David G. Stork,"Pattern Classification", Wiley- Interscience, 2nd edition, 2000.

CSE 425: Neural Networks (3 credits)
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.

Suggested Books:
1. James A. Anderson,"An Introduction to Neural Networks", The MIT Press, 1995.
2. Mohamad H. Hassoun," Fundamentals of Artificial Neural Networks", The MIT Press, 1995.

CSE 426: Basic Graphs Theory (3 credits)
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.

Suggested Books:
1. V.K. Balakrishnan,"Schaum's Outline of Graphs Theory: Including Hundreds of Solved Problems", Schaum's.
2. Douglas B. West,"Introduction to Graph Theory", Prentice Hall, 2nd edition, 2000.

CSE 427: Machine Learning (3 credits)
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.

Suggested Books:

1. Tom M. Mitchell,"Machine Learning", McGraw-Hill, 1997.
2. Pierre Baldi, Sren Brunak,"Bioinformatics: The Machine Learning Approach", The MIT Press, 2nd edition, 2001.

CSE 428: Image Processing (3 credits)
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.

Suggested Books:
1. John C. Russ,"The Image Processing Handbook", CRC Press, 4th edition, 2002.
2. Michael Seul, Lawrence O'Gorman, Michael J. Sammon,"Practical Algorithms for Image Analysis: Descriptions, Examples, and Code", Cambridge University Press, Book & CD Rom edition, 2000.

CSE 429: Basic Multimedia Theory (3 credits)
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, happing 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.

Suggested Books:
1. James Monaco,"How to Read a Film: The World of Movies, Media, and Multimedia: Language, History, Theory", Oxford University Press, 3rd edition, 2000.
2. Howard Rheingold,"Virtual Reality: The Revolutionary Technology Of Computer-Generated Artificial Worlds-And How It", Simon & Schuster; Reprint edition, 1992.
3. Olu Lafe,"Cellular Automata Transforms: Theory and Applications in Multimedia Compression, Encryption, and Modeling", Kluwer Academic Publishers, 1st edition, 2000.
4. Barry G. Haskell, Atul Puri, Arun N. Netravali,"Digital Video : An introduction to MPEG-2 (Digital Multimedia Standards Series)", Springer, 1st edition, 1996.

CSE 430: Digital Signal Processing (3 credits)
Introduction to Digital Signal Processing, Filtering, Frequency response, Sampling theory, Z-transform, Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT), Windowing, Correlation & Convolution, Application of Digital Signal Processing. Introduction to Digital Filters, Finite Impulse Response (FIR), Infinite Impulse Response (IIR), Different techniques of FIR and IIR filter design. MATLAB application to DSP; the course includes a compulsory 3-hour laboratory work each week. (Pre req. CSE 111 and MAT120)
Text Book:
1. John G. Proakis, Dimitris Manolakis,"Digital Signal Processing: Principles, Algorithms and Applications", Prentice Hall, 3rd edition, 1995.

Reference Book:
1. Richard G. Lyons,"Understanding Digital Signal Processing", Prentice Hall, 2nd edition, 2004.

CSE 431: Natural Language Processing (3 credits)
Introduction to the field of natural language processing (NLP)- the creation of computer programs that can understand, generate, and learn natural language. The topics include the three major subfields of NLP: syntax (the structure of an utterance), semantics (the truth-functional meaning of an untterance), and pragmatics/discourse (the context-dependent meaning of an utterance). The course will introduce both knowledge-based and statistical methods for NLP, and will illustrate the use of such methods in a variety of of text- and speech-based application areas.
(Pre req. CSE 111, and CSE 422 or consent of the instructor)
Text Book:
1. Daniel Jurafsky, James H. Martin,"Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition", Prentice Hall, 1st edition, 2000.

Reference Book:
1. Christopher D. Manning, Hinrich Schtze,"Foundations of Statistical Natural Language Processing", The MIT Press; 1st edition, 1999.

CSE 432: Speech Recognition and Synthesis (3 credits)
Introduction to automatic speech recognition, speech understanding and speech synthesis/text-to-speech from the computer science and linguistics perspective. Focus on understanding of key algorithms including noisy channel model, Hidden Markov Models (HMMs), A* and Viterbi decoding, N-gram language modeling, unit selection synthesis, and roles of linguistic knowledge (especially phonetics, intonation, pronunciation variation, disfluencies).
(Pre req. CSE 111)
Text Book:
1. Xuedong Huang, Alex Acero, Hsiao-Wuen Hon,"Spoken Language Processing: A Guide to Theory, Algorithm and System Development", Pearson Education, 1st edition, 2001.

Reference Book:
1. Christopher D. Manning, Hinrich Schtze,"Foundations of Statistical Natural LanguageProcessing", The MIT Press, 1st edition, 1999.
2. Daniel Jurafsky, James H. Martin,"Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition", Prentice Hall, 1st edition, 2000.

CSE 460: VLSI Design (3 credits)
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.
(Pre req. CSE 350)

Suggested Books:
1. Douglas A. Pucknell, Kamran Eshraghian,"Basic VlSI Design: Systems and Circuits (Silicon Systems Engineering Series)", Prentice Hall, 2nd edition, 1988.

CSE 461: Digital System Design (3 credits)
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.
( Pre req. CSE 260)

Suggested Texts:
1. R. J. Tocci, N. S. Widmer and G. L. Moss,"Digital Systems: Principles and Applications", 9th ed., Prentice Hall, 2003.
2. D. V. Hall,"Microprocessors and Interfacing: Programming and Hardware", 2nd ed., Glencoe McGraw-Hill, 1992.

CSE 462: Fault Tolerance System (3 credits)
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

Suggested Books:
1. Dhiraj K. Pradhan,"Fault-Tolerant Computer System Design [FACSIMILE]", Prentice Hall, 1st edition, 1996.

CSE 470: Software Engineering (3 credits)
Concepts of software engineering: requirements definition, modular, structure design, data specifications, functional specifications, verification, documentation, software maintenance, Software support tools. Software project organization, quality assurance, management and communication skills.

Suggested Books:
1. Ian Sommerville, "Software Engineering", Addison Wesley, 6th edition, 2000.
2. Roger S Pressman, Roger Pressman,"Software Engineering: A Practitioner's Approach", McGraw-Hill, 6th edition, 2004.

CSE 471: System analysis and design ( 3 credits)
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.

Suggested Books:
1. Robert J. Thierauf,"Systems Analysis and Design of Real-Time Management Information Systems", Prentice Hall, 1975.
2. V. Rajaraman,"Analysis and Design of Information Systems", Prentice-Hall of India Pvt.Ltd, 2004.

CSE 472: Human Computer Interface (3 credits)
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.(Pre req. CSE 221)

Suggested Books:
1. Andy Downton,"Engineering the Human-Computer Interface (Essex Series in Telecommunications and Information Systems)", McGraw Hill, 1993.

CSE 473: Decision Support Systems (3 Credits)
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.

Suggested Books:
1. J. L. Nazareth, John L. Nazareth,"DLP and Extensions: An Optimization Model and Decision Support System", Springer-Verlag Telos, Book & CD-ROM edition, 2001.

CSE 474: Simulation and Modeling (3 credits)
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.
(Pre req. MAT 215)

Suggested Books:
1. Bernard P. Zeigler, Bernard Zeigler, Herbert Praehofer,"Theory of Modeling and Simulation", Academic Press, 2nd edition, 2000.

CSE 490: WAN Routing and Technologies (Special Topics) (3 credits)
The course focuses on advanced IP addressing techniques (Variable Length Subnet Masking [VLSM]), intermediate routing protocols (RIP v2, single-area OSPF, EIGRP), command-line interface configuration of switches, Ethernet switching, Virtual LANs (VLANs), Spanning Tree Protocol (STP), and VLAN Trunking Protocol (VTP). The course will also focus on advanced IP addressing techniques (Network Address Translation [NAT], Port Address Translation [PAT], and DHCP), WAN technology and terminology, PPP, ISDN, DDR, Frame Relay, network management, and introduction to optical networking. The course includes a compulsory 3-hour laboratory work each week if the student wishes to obtain CCNA certification.
Prereq.: CSE 320 and CSE 421

CSE 490: Special Topics (3 credits)
This course will explore an area of current interest in Computer Science & Engineering. The emphasis will be on thorough study of a contemporary field within CSE, and the course will be made accessible to students with an intermediate, undergraduate CSE background. The syllabus should be approved by the department chair prior to commencement of the term, and a detailed description will be provided before the registration period.
(Prereq.: Permission of instructor)

Suggested Books: TBD

CSE 491: Independent Study (3 credits)
For students interested in any of the following ways of studying Computer Science & Engineering: independently exploring an advanced topic under a faculty instructor; conducting significant research under a faculty supervisor; or doing an internship in industry under the supervision of industry and faculty advisors. In each case, the student must first identify a faculty member within the CSE department to oversee his/her work, and then write a proposal to the department chair outlining the means and objectives of the project. The proposal must be approved by the intended faculty supervisor and department chair prior to commencement of the term. At the end of the term, the student must submit a detailed report and/or give a presentation of the results, before the final course grade may be awarded.
(Prereq.: Permission of instructor)

Suggested Books: TBD