Artificial Intelligence

An introduction to the ideas and techniques that allow computers to perform intelligently. The course will discuss methods of adversarial game playing and of solving general problems using heuristic search. It will also discuss the design of agents that learn either from experience or from a provided dataset. The course will cover both theoretical aspects of AI and practical considerations such as noisy sensor readings. Three class meetings per week. Offered in alternate years.

Requisite: COSC 211. Limited to 50 students. Fall semester: Professor Wu.

Probability & Computing

Probability is everywhere in computer science. In networks and systems, it is a key tool that allows us to predict performance, to understand how delay changes with the system parameters, and more. In algorithms, randomization is used to design faster and simpler algorithms than their deterministic counterparts. In machine learning, probability is central to the underlying theory. This course provides an introduction to probability with a focus on computer science applications.

Data Structures

A fundamental problem in computer science is that of organizing data so that it can be used effectively. This course introduces basic data structures and their applications. Major themes are the importance of abstraction in program design and the separation of specification and implementation. Program correctness and algorithm complexity are also considered. Data structures for lists, stacks, queues, dictionaries, sets, and graphs are discussed. This course will provide advanced programming experience.

Data Structures

A fundamental problem in computer science is that of organizing data so that it can be used effectively. This course introduces basic data structures and their applications. Major themes are the importance of abstraction in program design and the separation of specification and implementation. Program correctness and algorithm complexity are also considered. Data structures for lists, stacks, queues, dictionaries, sets, and graphs are discussed. This course will provide advanced programming experience.

Systems I: Computer Org;

This course will cover building blocks and design principles of computer systems, including how user programs are translated and executed on hardware. Beginning with Boolean logic and the design of combinational and sequential circuits, the course discusses the design of computer hardware components, microprocessing, pipelining, basic machine architecture, and the interpretation of machine instructions and assembly languages. The course will also introduce operating systems topics, basic memory management, and parallel processing.

Systems I: Computer Org;

This course will cover building blocks and design principles of computer systems, including how user programs are translated and executed on hardware. Beginning with Boolean logic and the design of combinational and sequential circuits, the course discusses the design of computer hardware components, microprocessing, pipelining, basic machine architecture, and the interpretation of machine instructions and assembly languages. The course will also introduce operating systems topics, basic memory management, and parallel processing.

Intro CompSci II Lab

COSC 112 Lab Section

A continuation of COSC 111. This course will emphasize more complicated problems and their algorithmic solutions. The object-oriented programming paradigm will be discussed in detail, including data abstraction, inheritance, and polymorphism. Other topics will include stacks, queues, linked lists, programming for graphical user interfaces, and basic topics in probability. A laboratory section will meet once a week to give students practice with programming constructs.

Subscribe to