Computer Science (College of Engineering)
Computer scientists are experts in computation – both in terms of the theory of computation and its innumerable practical applications. A computer scientist understands how to design and analyze algorithms, how to store and retrieve information, how computers function, 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, and in many other current and emerging specializations.
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 curriculum will allow you to tailor your computing studies to your specific areas of interest. Along the way, you will develop both algorithmic fundamentals and a framework for understanding that will enable you to keep pace with the ever-changing world of computer science.
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.
Open to students enrolled in the College of Engineering, this program is administered by the CSE Division of the EECS Department.
CS-ENG program guide
What’s the difference between CS-Eng and CS-LSA?
The department offers two program paths to a degree in computer science. One is available to students enrolled in the College of LSA and the other is for students enrolled in the College of Engineering. The program requirements are almost exactly the same for both majors, but if you’d like to know the differences you can find out here.
Declaring in CS-ENG
Declaration requirements are listed in the CS-Eng program guide. If you meet ALL of these requirements, please use this appointment-scheduling tool to schedule a declaration appointment with a CS-Eng advisor.
Double major information
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.
To pursue a dual degree with another academic unit, see the College of Engineering rules on combined degree programs (see section on Multiple Dependent Degree Programs).
Course descriptions information
EECS Course List (links to Michigan Engineering Bulletin)
Flexible technical electives
As indicated in the CS-Eng Program Guide, the CS-Eng program includes Flexible Technical Elective courses.
Graduates of the CS-Engineering program will have an ability to:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- 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.