Undergraduate Program in Computer Science (College of Engineering)

Hand with phone

Program Guide | Declaring in CS-Eng | Course Descriptions | Flexible Technical Electives

Computer scientists are experts in computation, both in terms of the theory of what fundamental capabilities and limitations of computation are, as well as how it can be practically realized and applied. A computer scientist understands how to design and analyze algorithms that apply computation effectively, how to store and retrieve information efficiently, how computers work to deliver computation, and how to develop software systems that solve complex problems. Specialists within computer science might have expertise in developing software applications, in designing computer hardware, or in analyzing algorithms, among many other current possibilities, and even more emerging specialties.

The Computer Science Major available through the College of Engineering will prepare you for a world of incredible opportunities. Our world-class faculty will challenge you to deepen your intellectual curiosity, and our computer science curriculum will allow you to tailor your computing studies to your specific areas of interest. Along the way, you will develop both the computing algorithmic fundamentals and the framework for understanding that will enable you to keep pace with the ever-changing world of computer science.

A World of Possibilities

Computer science students at Michigan have opportunities to engage in research, to get involved in student organizations and multidisciplinary teams, to learn about entrepreneurship and start companies, to compete in computing contests and events, to network with corporate recruiters and intern at top companies, and to attend conferences. Students graduate from the program with the skills and knowledge to pursue rewarding careers in industry or to continue their study in graduate school.

Program Information

The computer science program requires students to have a solid foundation in computer software, hardware, and theory, but also gives each student ample opportunity to take advanced electives in areas of computer science such as databases, architecture, networks, artificial intelligence, and graphics, or in emerging interdisciplinary areas such as electronic commerce, web information systems, and computer game design.

Enrollment and Graduation data

CS-Eng Program Guide

CS-ENG Program Guide, Fall '12* or later (.pdf)
CS-ENG Program Guide, Summer '12* or earlier (.pdf)

* Date refers to the first term a student takes U-M CoE courses.

Declaring in CS-Eng:

To declare, students must meet the declaration requirements of a "C" or better (or AP credit or "T" transfer credit) in:

(1) MATH 115, 116, 120, 121, 156, 185 or 186
(2) PHYSICS 140 or 160 -OR- CHEM 130
(3) ENGR 100, 101, or 151
(4) Have completed one full term (final grades posted) at U-M Ann Arbor
(5) Have a U-M Cumulative GPA of a 2.00 or higher
(6) Be in "Good Academic Standing" - 2.00 GPA or better for both the Term GPA and the Cumulative GPA

If you meet ALL these requirements, please schedule a declaration appointment with a CS-Eng Faculty Advisor.

Planning on a Double Major with CS-Eng and another CoE Major? Review our Double CoE Major hand-out to see how some courses may apply to CS-Eng.

Course Descriptions Information

EECS Course List

Special Topics Courses for the Current Term (EECS 398, EECS 498)

Flexible Technical Electives

As indicated in the CS-Eng Program Guide, the CS-Eng program includes Flexible Technical Elective courses.

Current courses in this category are listed here.

Student Outcomes

Graduates of the CS-Engineering program will have an ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

The CS-Engineering Program Objectives for our graduates are:

  • Use their understanding of algorithms, computers, and programming to solve complex problems.
  • Adapt to the rapidly changing scientific and technological landscape, recognize the implications of their work, and drive the development of future technologies.
  • Communicate effectively with their colleagues and the general public.
  • Contribute substantively, as leaders, to science, technology, and society.