|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
4.00 Credits
Cognitive Science Intended for highly motivated students who want hands-on experience with mobile robot hardware and software. Students learn to program in Python and control robots using the ARIA robot interface as they work toward building an intelligent system that includes visual object identification, obstacle avoidance, and sonar-based navigation capabilities. The eventual goal is to have robots participate in a scavenger hunt. The spring semester has a much greater emphasis on higher-level organization, including cognitive architectures, machine learning, visual recognition, and problem solving. Students are assigned to small teams that work cooperatively toward a shared objective. Interested students must meet with the instructors prior to registration.
-
4.00 Credits
This course introduces students to the functional programming paradigm. Topics include recursion, recursively defined data types, and first-class functions. The course also introduces some basic programming techniques from artificial intelligence, including blind and heuristic search algorithms. Prerequisite: Computer Science 141.
-
4.00 Credits
This course covers many mathematical concepts of importance to the foundation of the modern computer scientist, employing a functional programming language as a vehicle for computational expression. General discrete mathematics topics include logic and formal proof, sets, relations, functions, induction and coinduction, number theory, and graph theory. Functional programming concepts include lambda calculus, type theory, lists and algebraic data types, recursion and corecursion, and polymorphism. Prerequisites: Math 141 and an introductory computer science course, or their equivalents.
-
4.00 Credits
This course covers the design and analysis of correct and efficient computer algorithms. Topics include sorting, greedy algorithms, divide-andconquer algorithms, dynamic programming algorithms, and graph algorithms. Advanced topics in algorithms may be selected from specialized areas of the mathematical and empirical sciences. Prerequisites: Computer Science 201 and Mathematics 235 or 261.
-
4.00 Credits
Covers a selection of important issues in the design of programming languages including, but not limited to, type systems, procedure activation, parameter passing, data encapsulation, dynamic memory allocation, and concurrency. In addition, the functional, logical, and object-oriented programming paradigms are presented, along with a history of high-level programming languages. Prerequisite: Computer Science 201.
-
4.00 Credits
An introduction to several computational models developed to formalize the notion of an algorithm, the course also offers detailed discussion of primary topics in the theory of computation, including the theory of recursive functions, Turing machines, and several undecidable problems, such as the halting problem. Prerequisite: Mathematics 261 or both Computer Science 301 and Mathematics 235.
-
4.00 Credits
An introduction to the design, implementation, and uses of databases. Topics include database design, models, integrity, concurrency, security, and query languages. Prerequisite: Computer Science 201.
-
4.00 Credits
Computer graphics have become ubiquitous in today's society, from magazine ads to movies to video games. In this course students explore the basic algorithms used to create and manipulate two- and three-dimensional graphic objects. Among the topics covered are coordinate transformations, projection, hidden surfaces, shading, ray tracing, and texture mapping. A strong background in mathematics and programming is necessary. Prerequisites: Mathematics 242 or 331, Computer Science 201, and permission of the instructor.
-
4.00 Credits
Covers traditional topics of operating systems, including interprocess communication, semaphores, monitors, scheduling algorithms, deadlocks, virtual memory, and file system design. In addition, discussion may include issues in distributed systems such as the client-server model, remote procedure call, distributed synchronization, transactions, threads, and file servers. Prerequisite: Computer Science 201.
-
4.00 Credits
Takes a bottom-up approach to computer networking, covering in detail the physical, datalink, MAC, network, transport, and application layers. TCP/IP and OSI reference models are introduced, with examples taken from the Internet, ATM networks, and wireless networks. Prerequisite: Computer Science 201.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|