Computer Science
Computer Science (CSC) covers topics from theory through programming to cutting-edge development of computing solutions. The computer science major provides an excellent foundation that allows graduates to adapt to new technologies and new innovative ideas.
Computer scientists design and develop all types of software from systems infrastructure (operating systems, communications programs, etc.) to application technologies (interactive entertainment, games, web and mobile apps, artificial intelligence suites, software for robotics, databases, search engines, etc.). Computer scientists create these capabilities, but typically they do not manage the deployment of them.
Computing professionals hardly ever work alone. In today’s world, being a computer scientists building software (or any other application) requires the coordinated efforts of many people with a wide variety of skills.
For additional information, please see the following sites:
- Association for Computing Machinery (ACM) : Disciplines and Majors
- ACM – Computing Curricula 2005 - Specifically, pages 13, 15-16, 18 (pdf)
Software Engineering
Software Engineering (SE) covers the development, deployment and maintenance software systems (i.e., phases of the life cycle of software systems). Such systems must behave reliably, efficiently, be affordable to develop and maintain, and must satisfy all the requirements that customers have specified. Such characteristics are vitally important because of the impact of large and expensive software systems on safety-critical applications (i.e., medical, aerospace, telecommunications, national security).
Software Engineering integrates significant aspects of computer science, along with mathematics and practices whose origins are in engineering. It provides extensive training working in group environments, as well as team-based projects involving interactions with customers (Peopleware).
Software development is a highly creative activity. There is very little that is mechanical about software development—if there were, those aspects of the discipline would have been automated years ago.
For additional information, please see the following sites:
- Association for Computing Machinery (ACM) : Disciplines and Majors
- ACM – Computing Curricula 2005 - Specifically, pages 15-16, 21 (pdf)
Different learning outcomes (sourced from Cal Poly's course catalog)
Computer Science Student Learning Outcomes
|
Software Engineering Learning Outcomes
|
6525:474679