B.S. in Computer Science: Student Outcomes
- Models & Abstractions: Covers Mathematics, theory and "abstract thinking." It's the first step from a real-world problem to some formulation in terms of sets, graphs, lists, mappings, etc.
- Algorithms: The steps needed to solve the problem as modeled, by using existing algorithms or by building new ones.
- Programming: The skills needed to cover the gap between an algorithm and an actual piece of code (including testing and debugging)
- System & hardware: The skills needed to cover the gap between code and an actual running system, including all the networking and hardware issues.
- Software Engineering: The methods and techniques needed to build software systems of varying complexitiy involving multiple stakeholders.
- Applications: Models, algorithms, programming, engineering and system aspects (1-5) as specific to particular domain, such as Graphics or AI.
- Self-learning: Self-learning skills, exposure to technologies new to the students, practice in understanding those technologies on their own.
- Communication & teamwork: Includes technical writing, web publishing, oral communications and all the group-based experiences.
- Technology & Society: Covers the ethical, legal and social issues of computing as it impacts society.
Detailed descriptions of the required and elective computer science courses and their mapping onto the student outcomes can be found here. Course guidelines show prerequisite dependencies between courses and suggested CS course schedules: for students who took CS 415 before fall 2014 and for students who took CS 415 in fall 2014 or later.