|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 141, MATH 113, or equivalents. Introduction to the design of geometry algorithms. Covers the basic computational geometry concepts and techniques used in graphics, robotics, and engineering design. Topics include polygons and polytops, convex hulls, and voronoi diagrams.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 130. Covers academic, theoretical, and practical aspects of video games by exploring common algorithms, data structures, and software design for different genres. Topics include game interface, character movement, intelligent behaviors, and networked or multiplayer games. Requires in-depth, applied programming and a term project, including the design, implementation, and analysis of a computer game.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 014 with a grade of "C-" or better; CS 111/MATH 111; MATH 009C or MATH 09HC; proficiency in C++. Explores basic algorithm analysis using asymptotic notations, summation and recurrence relations, and algorithms and data structures for discrete structures including trees, strings, and graphs. Also covers general algorithm design techniques including "divide-and-conquer," the greedymethod, and dynamic programming. Homework and programming assignments integrate knowledge of data structures, algorithms, and programming.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 010 or knowledge of an object-oriented or fourthgeneration (scripting) programming language, for example C++, Hypertalk, Supertalk, Lingo, Openscript, ScriptX. Introduces multimedia technologies and programming techniques, multimedia hardware devices, authoring languages and environments, temporal and nontemporal media (interactivity in text, graphics, audio, video, and animation), applications, and trends. A term project is required. Cross-listed with EE 143.
-
4.00 Credits
Lecture, 3 hours; discussion, 1 hour. Prerequisite(s): CS 141; MATH 113 or MATH 131. The study of efficient algorithm design techniques for combinatorial optimization problems. Topics include shortest paths, minimum spanning trees, network flows, maximum matchings, stable matchings, linear programming, duality, two-person games, algorithmic techniques for integer programming problems, NP-completeness, and approximation algorithms.
-
4.00 Credits
Lecture, 3 hours; discussion, 1 hour. Prerequisite(s): CS 014; CS 111/MATH 111; MATH 009C or MATH 09HC. A study of formal languages, including regular and context-free languages; computational models for generating these languages such as finite-state automata, pushdown automata, regular expressions, and context-free grammars; mathematical properties of the languages and models; equivalence between the models, and an introduction to Turing machines and decidability.
-
4.00 Credits
Lecture, 3 hours; discussion, 1 hour. Prerequisite(s): CS 141, CS 150. The study of fundamental questions about the nature of computing. Topics include Turing machines, computability, reductions, complexity theory, complexity classes P and NP, the P=NP problem, NP-completeness, and other time and space complexity classes.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 061, CS 141, CS 150. Covers the fundamentals of compiler design, including lexical analysis, parsing, semantic analysis, compile-time memory organization, run-time memory organization, code generation, and compiler portability issues. Laboratory work involves exercises covering various aspects of compilers.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 061, CS 141 with a grade of "C-" or better, C++ programming proficiency. Covers the principles and practice of operating system design, including concurrency, memory management, file systems, protection, security, command languages, scheduling, and system performance. Laboratory work involves exercises about various aspects of operating systems.
-
4.00 Credits
Lecture, 3 hours; laboratory, 3 hours. Prerequisite(s): CS 061, CS 141. Study of concurrent and parallel systems. Topics include modular structure and design, interprocess communication, synchronization, failures and persistence, concurrency control, atomic transactions, recovery, language support, distributed interprocess communication, and implementation mechanisms. Provides preparation for the study of operating systems, databases, and computer networking.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|