Computer Science Undergraduate Course Listing
|
CAP 4630 | ECS-EECS | 3(3,0) |
Artificial Intelligence: PR: COP 3530 (CS Maturity). This also implies passing the Foundation Exam (COT 3960) which implies COT 3100 (Introduction to Discrete Structures). Current Methods in AI: knowledge-based systems, representation, inference, planning, natural language. Programming in Lisp or Prolog required. |
CAP 5015 | ECS-EECS | 3(3,0) |
Multimedia Compression on the Internet: PR: Senior standing with background on design and analysis of algorithms. Open to all graduate students. Multimedia data; internet technology; entropy; compression methods; lossy compression; vector quantization; transform coding; wavelet video compression; model based compression. |
CAP 5415 | ECS-EECS | 3(3,0) |
Computer Vision: PR: COP 3530 (CS Maturity) Knowledge of C and Calculus is desired. Image formation, binary vision, region growing and edge detection, shape representation, dynamic scene analysis, texture, stereo and range images, and knowledge representation. |
CAP 5512 | ECS-EECS | 3(3,0) |
Evolutionary Computation: PR: Graduate standing or instructor approval. This course covers the field of evolutionary computation, focusing on the theory and application of genetic algorithms. |
CAP 5636 | ECS-EECS | 3(3,0) |
Advanced Artificial Intelligence: PR: COP 4630. AI theory of knowledge representation, expert systems,memory organization, problem solving, learning, planing and natural language. |
CAP 5725 | ECS-EECS | 3(3,0) |
Computer Graphics I: Fundamentals of Computer Graphics: PR: COP 3530-C/C++ or Java-Linear Algebra and Vector Algebra. Architecture of graphics processors; display hardware; principles of programming and display software; problems and applications of graphic systems. |
CDA 3103 | ECS-EECS | 3(3,1) |
Computer Organization: Combinational logic, arithmetic circuits, sequential logic design, finite state machine design, software tools for logic design.. |
CDA 4150 | ECS-EECS | 3(3,0) |
Computer Architecture: PR: COP 3402C and CDA 3103C. Basic processor design, hardwired and microprogrammed control, ALU, memory organization, pipelining, I/O, and computer arithmetic. |
CDA 5106 | ECS-EECS | 3(3,0) |
Advanced Computer Architecture I: PR: CDA 4150 (CS Maturity) Primarily for students enrolled in the M.S. or Ph.D. program of the Department of Computer Science. The goal of the course is to teach advanced concepts and design principles of computer architecture. A study of the techniques of quantitative analysis and evaluation of modern computing systems. |
CDA 5110 | ECS-EECS | 3(3,0) |
Parallel Architecture and Algorithms: PR: COT4210, CDA5106. General-purpose vs. special-purpose parallel computers; arrays,message-passing; shared-memory; taxonomy; parallization techniques;communication synchronization and granularity; parallel data structures; automatic program restructing. |
CDA 5501 | ECS-EECS | 3(3,0) |
Computer Communication Networks Architecture: PR: CDA 4150, Senior standing. Computer Networks, Layers, Protocols and Interfaces, Local Area Networks, Inter-networking. |
CEN 5016 | ECS-EECS | 3(3,0) |
Software Engineering: PR: COP 4232 (Introduction to OO Requirements Specification and Design)or Graduate Status. Application of formal software processes, engineering methods, anddocumentation standards to the development of large scale software systems. A team project is required. |
CGS 2100 | ECS-EECS | 3(2,1) |
Computer Fundamentals for Business: Web assisted course, designed to teach undergraduate students how to use computers (hardware and software) in business, including business applications, commercial packages and the Internet. |
COP 3223 | ECS-EECS | 3(3,0) |
Introduction to Programming with C: Equivalent to EGN 3210. Programming in C including arrays, pointer manipulation and use of standard C math and IO libraries. |
COP 3330 | ECS-EECS | 3(3,0) |
Object-Oriented Programming: PR: COP 3223 (C Language) Knowledge of C. Object oriented programming concepts (classes, objects, methods, encapsulation, inheritance, interfaces) and the expression of these concepts in the programming language Java. |
COP 3402 | ECS-EECS | 3(3,1) |
Systems Programming: PR: COP 3503 (CS II) Also passing the Foundation Exam (COT 3960). Concepts of Assembly Language. Design and development of assemblers, linkers, loaders, Lexical Analysis and Compilers. |
COP 3502 | ECS-EECS | 3(3,0-1) |
Computer Science I: PR: COP 3223. Knowledge of a high level programming language. Problem solving techniques, order analysis and notation, abstract data types, and recursion; ethical, moral and social issues in computing.. |
COP 3502H | ECS-EECS | 3(3,0) |
Computer Science I (Honors): PR: COP 3223. Knowledge of a high level programming language. Problem solving techniques, order analysis and notation, abstract data types, and recursion; ethical, moral and social issues in computing. |
COP 3503 | ECS-EECS | 3(3,0) |
Computer Science II: PR: COP 3502 (pre-requisite) COT 3100 (co-requisite). Continuation of Computer Science I. Introduction to Object-oriented design, data structures, traversal techniques, and program correctness. |
COP 3503H | ECS-EECS | 3(3,0) |
Computer Science II - Honors: PR: COP 3503 (pre-requisite) COT 3100 (co-requisite). Continuation of Computer Science I. Introduction to Object-oriented design, data structures, traversal techniques, and program correctness. |
COP 3530 | ECS-EECS | 3(3,0) |
Computer Science III: PR: COP 3503 (Computer Science II) This also implies passing the Foundation Exam (COT 3960) which implies COT 3100 (Introduction to Discrete Structures). Algorithm design and analysis for tree, list, set, relational and graph data models; effects of representation on algorithmic complexity. Introduction to parallel and distributed concepts. |
COP 4020 | ECS-EECS | 3(3,0) |
Programming Languages I: PR: COP 3530 (CS Maturity) This also implies passing the Foundation Exam (COT 3960). The objective of this course is to gain deeper understanding of the paradigms and fundamental concepts of programming languages, such as scope, binding, abstraction, encapsulation, typing etc. Also, object-oriented, functional and logic programming paradigms will be introduced through sample programming languages. |
COP 4232 | ECS-EECS | 3(3,0) |
Software Systems Development: COP 3960 (Foundation Exam): ensures qualification as a CS major. COP 3503 (Computer Science II): ensures knowledge of data structures, object-oriented programming, and of two programming languages C and Java. The principles, processes, and methods for developing large software systems in object-oriented programming languages, such as Ada and C++. |
COP 4520 | ECS-EECS | 3(3,0) |
Concepts of Parallel and Distributed Processing: PR: COP 3402; COP 3530 This also implies passing the Foundation Exam (COT 3960) which implies COT 3100 ( Introduction to Discrete Structures ). Parallel and distributed paradigms, architectures and algorithms, and the analytical tools, environments and languages needed to support these paradigms. |
COP 4600 | ECS-EECS | 3(3,0) |
Operating Systems: PR: COP 3530 Computer Science III- COP 3402 System Software. The goal of the course is to teach the function and organization of operating systems, process management, virtual memory, I/O management, and file management. |
COP 4710 | ECS-EECS | 3(3,0) |
Database Systems: PR: COP 3530C (CS Maturity) This also implies passing the Foundation Exam (COT 3960) which implies COT 3100 ( Introduction to Discrete Structures ). Storage and access structures, database models and languages, related database design, and implementation techniques for database management systems. |
COP 5021 | ECS-EECS | 3(3,0) |
Program Analysis: PR: COP 4020 (Programming Languages I) and COT 4210 (Discrete Computational Structures). Syntactic and Semantic analysis of programs. Theoretical and practical limitations, attribute evaluation, data flow analysis, program optimization, intermediate representations code generation. Tools to automate analysis. |
COP 5711 | ECS-EECS | 3(3,0) |
Parallel and Distributed Databases: PR: COP 4710. Storage manger, implementation techniques for parallel DBMSs, distributed DBMS architectures, distributed database design, query processing, multidatabase systems. |
COT 3100 | ECS-EECS | 3(3,0) |
Introduction to Discrete Structures: PR: MAC 1105, MAC 1114. Logic, sets, functions, relations, combinatorics, graphics, Boolean algebras, finite-state machines, Turing machines, unsolvability, computational complexity. |
COT 4110 | ECS-EECS | 3(3,0) |
Tools for Algorithm Analysis: PR: COP 3530C and COT 3100. This also implies passing the Foundation Exam (COT 3960). Tools from discrete and continuous mathematics for analyzing complexity of algorithms. Order notation use and manipulation. |
COT 4210 | ECS-EECS | 3(3,0) |
Discrete Computational Structures II: PR: COP 3530 (CS Maturity) This also implies passing the Foundation Exam (COT 3960) which implies COT 3100 (Introduction to Discrete Structures). Introduction to computation theory. A study of the properties of grammars and automata as formal specifications for algorithms and families of languages. |
COT 4500 | ECS-EECS | 3(3,0) |
Numerical Calculus: PR: MAC 2312, COP 3502. Numerical methods for finding roots of nonlinear equations, solutions of systems of linear equations, and ordinary differential equations. |
COT 4810 | ECS-EECS | 3(3,0) |
Topics in Computer Science: PR: COP 3530 and COP 3402. A range of topics from the field of Computer Science; application of oral and written communication skills; social, ethical and moral issues of computing. |
COT 5310 | ED-IP | 3(3,0) |
Formal Languages and Automata Theory: PR: COT 210. Classes of formal grammars and their relation to automata, normal forms, closure properties, decision problems. LR(K) grammars. |
COT 5405 | ECS-EECS | 3(3,0) |
Design and Analysis of Algorithms: PR: COT 4210 and COT 4110. Classification of algorithms, e.g., recursive, divide-and-conquer, greedy, etc. Data Structures and algorithm design and performance. Time and space complexity analysis. |
COT 5520 | ECS-EECS | 3(3,0) |
Computational Geometry: PR: Senior standing with background on design and analysis of algorithms. Open to all graduate students. Geometric searching, point location, convex hulls, proximity problems, Voronoi diagrams, spanning trees, triangulation, intersection, arrangements, applications. |
COT 6415 | ECS-EECS | 3(3,0) |
Complexity of Parallel Computation: PR: CDA 5110 and COT 6410. This is a highly specialized course dealing with the complexity theory of parallel computation. It is meant primarily for doctoral students intending to conduct research in P-completeness and related topics. A good knowledge of parallel computing (covered in our CDA 5110) as well as complexity theory of sequential computing (covered in our COT 6410) are required for enrolling in this course. |