Courses
  /  
Computer Science Curriculum
CS Core Course

The courses below fulfill the CS Core Course requirement in computer science.

EECS 101 - An Intro to Computer Science for Everyone

Computation is ubiquitous: DNA contains biological programs and is a part of all lifeforms, the human brain is a powerful computer, and the digital computer has revolutionized most aspects of our society. The primary goal of this course is to explore the whats, whys, and hows of computer science.

EECS 111 - Fundamentals of Computer Programming I

This is an introductory course on the fundamentals of computer programming. I see this class as an opportunity for you, the student, to see what computer programming is all about and (more importantly) to see whether you want to spend the next few years doing more of it. This course will include weekly programming projects, readings, a midterm, and final examinations. Class participation is not optional. This course is approved for Weinberg Area II (Formal Studies) distribution credit This course is a required Core course in the CS curriculum in McCormick and Weinberg Can be taken as EECS 395 during Fall 15'

EECS 211 - Fundmentals of Computer Programming II

Object-oriented programming, classes and data hiding, dynamic object construction and destruction, derived classes and inheritance, virtual functions; functions, call by value/reference, overloading; abstract data types; standard template libraries; exception handling; introduction to UNIX, file processing, process management. This course is a required Core course in the CS curriculum in McCormick and Weinberg Both sections of this course have required discussions that are on Tuesday and can be either 1- 1:50 or 2- 2:50 (check with instructor).

EECS 212 - Mathematical Foundations of Computer Science

This course will discuss fundamental concepts and tools in discrete mathematics with emphasis on their applications to computer science. Example topics include logic and Boolean circuits; sets, functions, relations, databases, and finite automata; deterministic algorithms and randomized algorithms; analysis techniques based on counting methods and recurrence equations; trees and more general graphs. (Formerly EECS 310) This course is a required Core course in the CS curriculum in McCormick and Weinberg

EECS 213 - Intro to Computer Systems

This course has four purposes: (1) to learn about the hierarchy of abstractions and implementations that comprise a modern computer system; (2) to demystify the machine and the tools that we use to program it; (3) to come up to speed on systems programming in C in the Unix environment; (4) to prepare students for upper-level systems courses. This course is a required Core course in the CS curriculum in McCormick and Weinberg

EECS 214 - Data Structures and Data Management

The design, implementation, and analysis of abstract data types, data structures and their algorithms. Topics include: data and procedural abstraction, linked lists, stacks, queues, binary trees, searching, and sorting. Required for computer science majors. (Formerly EECS 311) Can be taken as EECS 395 during Spring 15' This course is a required Core course in the CS curriculum in McCormick and Weinberg