Undergraduate / Computer Science Major (BS/BA) / CS Core, Breadth, and Depth RequirementsCS Core Course
The courses below fulfill the CS Core Course requirement in computer science.
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.
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'
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).
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
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
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