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 11 Computer Programming I EEEI, DCS
CS 12 Computer Programming II Advanced programming techniques. Recursion. Abstract data types: stacks, queues, linked structures. Programming interfaces. Introduction to object-oriented programming: classes, inheritance, polymorphism. Event-handling. Exception handling. API programming. EEEI, DCS
CS 21 Computer Organization and Assembly Language Programming Machine level representation of data. Assembly level machine organization. Assembly/machine language programming. Memory system organization and architecture. Interfacing and communication. Functional organization. Multiprocessing and alternative architectures. 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 30 Discrete Mathematics for Computer Science Combinatorial Structures and their applications to Computer Science DCS
CS 32 Data Structures Graphs; algorithms design and analysis; algorithms for memory management; design of a simple database management system. DCS
CS 32 Data Structures Concepts, algorithms and applications of complex data structures: tables, trees, graphs, heaps, generalized lists, multilinked structures. Basic algorithmic techniques and analysis: sorting algorithms, hash tables, binary search trees, balanced trees. DCS
CS 70 Computers and Society History of computing and technology; the role of computers in modern society; the computer and the individual; survey of computer applications; legal and ethical issues; computers in decision-making processes; the computer scientist as a professional; futurists' views of computing public perception of computers and computer scientists. DCS
CS 80 Special Problems DCS
CS 115 Advance Communication Electronics Circuits for digital communications. Phase -locked loops. Clock circuits. Digital modulation and demodulation. A/D converters. Multiplexers. EEEI
CS 120 Internet Technologies Programmer-oriented survey of contemporary authoring, distributing, browsing, client server and other technologies; role, use and implementation of current Internet tools; security and privacy issues. DCS
CS 130 Mathematical Methods in Computer Science Vector spaces. Linear transformations. Matrices and determinants. Ordinary differential equations and systems of ordinary differential equations; Fourier series; Laplace transforms. DCS
CS 131 Numerical Methods Floating point arithmetic; use of mathematical subroutine packages; approximation; numerical integration and differentiation; solution of linear and non-linear equations; solution of ordinary differential equations DCS
CS 131 Numerical Methods Floating point arithmetic; use of mathematical subroutine packages; approximation; numerical integration and differentiation; solution of linear and non-linear equations; solution of ordinary differential equations DCS
CS 133 Automata Theory and Computability Finite state automata and regular expressions; context free grammars and pushdown automata. Turing machines, Church's thesis, complexity classes, and undecidability. DCS
CS 134 Computational Complexity Time complexity; the classes P and NP; NP-completeness; the polynomial hierarchy; space complexity; intractability. DCS
CS 135 Algorithm Design and Analysis . Algorithm analysis: asymptotic analysis, time and space tradeoffs, recurrence relations. Greedy, divide and conquer, heuristics and other algorithm design strategies. Fundamental computing algorithms for sorting, selection, trees and graphs. Intractability and approximation. DCS
CS 137 Computer Algebra Arithmetic in basic algebraic domains; the Euclidean algorithm; polynomial greatest common divisors and resultants; polynomial factorization. DCS
CS 140 Operating Systems and Computer Architecture I Review of some basic computer systems concepts; dynamic procedure activation, including runtime storage allocation,addressing mechanisms and parameter handling; system structures; evaluation of systems; memory management; process management; recovery procedures. DCS
CS 140 Operating Systems Survey of operating systems. Memory management: virtual memory, segmentation, paging,fetch and replacement policies. Processor and process management: scheduling, concurrency, synchronization and mutual exclusion, deadlock. Device management. Security. File systems: sequential, direct access, and indexed sequential files. Implementation of file organization. files. Implementation of file organization DCS
CS 145 Computer Networks Network models and layers; terminal and file transfer protocols; message handling protocols; concurrency; network interconnection; distributed computation; overview of networking and communication software. DCS
CS 150 Organization of Programming Languages Programming language concepts. Data types and structures; control structures and data flow; run-time consideration; interpretive languages; introduction to analytical analysis and parsing. DCS
CS 150 Programming Languages History and overview of programming languages. Programming paradigms: imperative, functional, object-oriented, logical. Type systems. Data and execution control. Declaration and modularity. Introduction to syntax and semantics. Introduction to language translation. DCS
CS 153 Introduction to Computer Security Computer Security Models and Protocols. Security Issues. Cryptographic Algorithms and Digital Signatures. Risk Assessment DCS
CS 155 Compiler Construction Grammar specification, lexical analysis, parsing techniques, semantic analysis, code generation and optimization, runtime storage administration, error detection and recovery. DCS
CS 160 File Processing Logical and physical file structures. Secondary storage devices. Sequential, direct and indexed files. Single-key and multiple-key retrieval. Data compaction. Implementation of file organizations. DCS
CS 165 Database Systems Database concepts: data independence,architecture, models, administration, relational algebra and calculus, normalization, structured query language, query optimization, transactions, concurrency, recovery, security.Survey of database management systems. DCS
CS 165 Database Management System Design Introduction to database concepts; data normalization; data description languages; query facilities; file organization; index organization; file security; data integrity and reliability. DCS
CS 171 Topics in Theoretical Computer Science DCS
CS 172 Topics in Net-Centric Computing DCS
CS 173 Topics in Software Technology DCS
CS 174 Topics in Computer Systems DCS
CS 175 Topics in Computational Science DCS
CS 176 Topics in Intelligent Systems DCS
CS 180 Artificial Intelligence Fundamental principles of artificial intelligence. Search methods. Knowledge representation and reasoning. Agents. Machine learning and neural works. Current research applications. DCS
CS 180 Artificial Intelligence Means and uses of knowledge representation in heuristic problem solving; search strategies and control; introduction to natural language processing; selected studies on communication and perception; current research and applications. DCS, DCS
CS 191 Software Engineering I Principles of Software Engg. Software Project Management. Requirements Engineering. Systems Analysis and Design. DCS
CS 192 Software Engineering II Software architecture and design patterns; software quality assurance; software implementation and maintenance. DCS
CS 194 Undergraduate Research Seminar DCS
CS 195 Practicum DCS
CS 195 Practicum DCS
CS 196 Seminar on Ethical and Professional Issues in Computing DCS
CS 197 Special Topics DCS
CS 198 Special Problems DCS
CS 198 Special Problems I DCS
CS 199 Special Problems II 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, 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 255 Computer Networks OSI Reference Model and layers; protocols and services; local and wide area networks; internet working; specific implementations. 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 280.0 Artificial Intelligence 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
CS 300 Thesis DCS
CS 301 Communication Complexity DCS
CS 315 Algorithms in Bioinformatics DCS
CS 318 Approximation Algorithms DCS
CS 334 Computational Systems Biology DCS
CS 338 Computational Models of Biological Processes DCS
CS 341 Knowledge Engineering DCS
CS 351 Pervasive Computing and Communication DCS
CS 360 Formal Methods DCS
CS 369 The Semantic Web DCS
CS 371 Security Engineering DCS
CS 380 Computational Intellingence 1 DCS
CS 381 Computational Intellingence 2 DCS
CS 385 Artificial Neural Networks DCS
CS 389 Digital Image Processing DCS
CS 390 Independent Study DCS
CS 397 Special Topics DCS
CS 400 Dissertation DCS