Computing Hardware

This course will provide students with a deeper understanding of modern computer systems and hardware platforms, including design principles for desktop CPUs, mobile devices, graphics processing units (GPUs), and flexible computing platforms (e.g., FPGAs).  Key topics include multi-core processing, hardware acceleration, software-hardware co-design, and memory management.  This course includes a laboratory component and projects developing and interacting with hardware platforms.  

Computing Hardware

This course will provide students with a deeper understanding of modern computer systems and hardware platforms, including design principles for desktop CPUs, mobile devices, graphics processing units (GPUs), and flexible computing platforms (e.g., FPGAs).  Key topics include multi-core processing, hardware acceleration, software-hardware co-design, and memory management.  This course includes a laboratory component and projects developing and interacting with hardware platforms.  

Databases

This course is an introduction to the use of relational databases and the inner workings of systems to manage these databases. Relational databases allow one to store, retrieve, and operate on data in a well-defined way, independent of the nature of the data. Database Management Systems (DBMS) are computer systems designed with the goal of making operations on relational databases as efficient as possible.

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 Alfeld.

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.

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.

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.

Intro Comp Science II

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.

Learning by Doing

Learning by doing represents a valuable educational experience for all students. This course provides an opportunity to reflect on an internship or other fieldwork experience and to integrate that experience with key learning outcomes expected in a student’s major.

Senior Honors

Fall semester. The Department.

How to handle overenrollment: null

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: Intensive reading, writing

Subscribe to