Course Catalog


Course Number:
(e.g., Math 11, Eng 1)

A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   Back to main page



Course code & No. Course Title Course Description Offering Unit
CS 20 Digital Electronics and Circuits DCS
CS 21 Computer Organization and Architecture DCS
CS 22 Introduction to Computer Organization Basic logic design; coding; number representation and arithmetic; computer architecture; study of an actual, simple minicomputer or microcomputer system. DCS
CS 24 Operating Systems and Computer Architecture II concurrent processes; name management; resource allocation; protection; advanced architecture and operating systems implementations. DCS
CS 200 Undergraduate Thesis DCS
CS 204 Theory of Computation Formal models of computation; recursive function theory; undecidability. Resourcebounded computational complexity, non-determinism, NPcompleteness. DCS
CS 208 Complexity Theory Computational models, measures of complexity, complexity classes: nondeterministic, alternating, probabilistic, parallel. Boolean circuits. Complete problems. DCS
CS 210 Advanced Algorithms and Data Structures Advanced data structures; algorithm design techniques; mathematical techniques in the analysis of algorithms. DCS
CS 211 Combinatorial Optimization Design and analysis of algorithms for combinatorial optimization problems, worst-case complexity, NP- Completeness proofs, euristics. Open problems. DCS
CS 213 Communication Theory Mathematical theory of communication. Information Theory, Communication Channels. Coding. Cryptography. DCS
CS 214 Parallel Algorithms Models of parallel computation. Performance measures, scalability, pipelining, techniques for analyzing parallel algorithms. Interconnection network topologies. Applications. DCS
CS 216 Randomized Algorithms Construction and analysis of randomized algorithms. Expected performance of randomized algorithms, fundamental limitations on probabilistic computations, complexity issues, applications. DCS
CS 220 Survey of Programming Languages Comparative study of different types of modern programming languages; imperative, functional, logic-based and object-oriented. Syntax, semantics and implementation of programming languages. DCS
CS 222 Programming Language Theory Fundamental concepts underlying all programming languages. Semantic aspects including binding times, visibility, retention, storage management, abstraction mechanisms and extensibility. Operational and denotational semantic specifications. DCS
CS 225 Compiler Design and Construction Theory of compiler design and construction: techniques in error correction and recovery; code generation and optimization. DCS
CS 231 Numerical Computing Algorithm design for numerical computation. Error analysis. Performance evaluation of numerical software. DCS
CS 233 Probabilistic Methods in Computer Science Random combinatorial structures and their applications to computer science. DCS
CS 236 Scientific Computing Problems and methods in scientific computing. Applications from science and engineering. DCS
CS 237 Biomedical Informatics Computational methods for managing and analyzing information about biomedical systems. Standards and tools in biomedical informatics. DCS
CS 239 Parallel Computing Parallel computer architectures. Programming for parallel architectures. Representation, program dependence, control structures. DCS
CS 240 Computer Graphics Solid modeling: Euler operators, finite element methods. Rendering: filling, shading, ray tracing. Natural modeling: L-systems, fractals. Image processing: filtering, antialiasing, enhancement. DCS
CS 242 Data Visualization Visualization techniques for data from science, business, social science, demographics, and information management. DCS
CS 245 Network Optimization Algorithms for network optimization problems; shortest paths, maximum flows, minimum-cost flows, multicommodity flows, dynamic flows, minimum cuts, matching, and assignment problem DCS
CS 247 Cryptography Primality testing, finite fields, elliptic curves. Protocols: public key cryptography, digital signatures, zero knowledge proofs, and other cryptographic protocols. DCS
CS 248 Computational Mathematics Overview of computational mathematics. Algorithms for computing with algebraic structures. Computer algebra systems. DCS
CS 250 Advanced Operating Systems Synchronization and communication mechanisms, virtual memory management,file systems, deadlock control, resource allocation, protection and access control. Case study of specialized systemsother cryptographic protocols. DCS
CS 252 Advanced Computer Architecture DCS
CS 253 Computer Security Encryption, digital signatures,authentication, key management. Secure electronic commerce. Network Security. File security. DCS
CS 255 Advanced Computer Networks The OSI Reference Model and layers. Distributed computing. Networked multimedia systems. Clint-server computing. Communication and internet working. DCS
CS 256 Computer Systems Performance Analysis Overview of performance evaluation. Measurement techniques and tools. Applications of probability theory and techniques. Experimental design and analysis. Simulation and queuing models DCS
CS 257 Distributed Systems Computer communications networks and their protocols. Event ordering and synchronization. Deadlocks. Network operating systems and languages for distributed computing. Distributed databases. Fault tolerance and recovery strategies. Applications. DCS
CS 258 Mobile Computing Mobile computing systems. Data management, packet transmission, mobile IP, routing protocols, reliability and issues in mobile wireless networks. DCS
CS 259 Network Performance, Modeling and Monitoring Network performance evaluation. Measurement techniques and tools. Simulation, queuing models, case studies, practicals. DCS
CS 260 Advanced Software Engineering Structured approach to requirements analysis, system design, implementation and maintenance of software systems. Formal description and documentation techniques. DCS
CS 262 Methods of Software Development Modern approaches to software development. Prototyping and automated tools. Computer Aided Systems Engineering (CASE) methods and tools. Object-oriented Programming Systems (OOPS). DCS
CS 265 Software Quality Assurance Quality Management, Quality Assurance, Quality Control. Measurement and Analysis. Maturity Model. DCS
CS 266 IT Project Management Detailed discussions of project management knowledge areas and processes. Case studies. Simulations and walk through of real-world IT projects from initiation and planning to evaluation and closing. DCS
CS 267 Software Engineering for the Web Software process and requirements analysis, design, development and testing for web-based systems, software development tools, configuration management systems, case studies. DCS
CS 268 Web Science The Web as a full communications medium that fosters full collaboration, social interaction, and commerce. Case studies. DCS
CS 270 Advanced Database Systems Data models and their underlying mathematical foundations; database manipulation and query languages; functional dependencies; physical data organization and indexing methods; concurrency control; crash recovery; database security; distributed databases. DCS
CS 271 Database Theory Data models and their underlying mathematical foundations; database manipulation and query languages; functional dependencies; physical data organization and indexing methods; concurrency control; crash recovery; database security; distributed databases. DCS
CS 280 Intelligent Systems Fundamental issues in Intelligent Systems. Intelligent search and optimization methods. Knowledge representation and reasoning. Learning, natural language understanding, pattern recognition, knowledge-based systems and other methods in intelligent Systems. DCS
CS 281 Robotic Systems Biologically-motivated robotic systems. Reactive, deliberative, and hybrid architectures. Knowledge representation for robotics systems. Sensor fusion and perceptual strategies. Adaptation and social behavior. Knowledge representation and reasoning. Learning, natural language understanding, pattern recognition, knowledge-based systems and other methods in intelligent Systems. DCS
CS 282 Computer Vision Image formation; early vision; segmentation from texture and motion; object representation; matching and inference; knowledge-based vision. DCS
CS 283 Data Mining Decision trees, association rules, clustering. Intrusion detection. Design and use of serial, distributed and parallel data mining algorithms. DCS
CS 284 Machine Learning Pattern recognition, parametric and nonparametric learning, decision trees, Bayesian and neural networks, reinforcement learning, genetic algorithms, computational learning theory. DCS
CS 286 Natural Language Understanding Computational properties of natural languages. Morphological, syntactic and semantic processing from an algorithmic perspective. Models of acquisition and parsing. DCS
CS 287 Speech Processing Models of speech processing, speech recognition and synthesis. Speech recognition systems. Text-to-speech systems. Applications. DCS
CS 289 Digital Image Processing DCS
CS 290 Advanced Topics in Theoretical Computer Science DCS
CS 291 Advanced Topics in Net-Centric Computing DCS
CS 292 Advanced Topics in Software Technology DCS
CS 293 Advanced Topics in Computer Systems DCS
CS 294 Advanced Topics in Computational Science DCS
CS 295 Advanced Topics in Intelligent Systems DCS
CS 296 Seminar DCS
CS 297 Special Topics DCS
CS 298 Special Problem DCS