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:

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:


Different learning outcomes (sourced from Cal Poly's course catalog)


Computer Science Student Learning Outcomes

  • An ability to apply knowledge of computing and mathematics appropriate to the discipline
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  • An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
  • An ability to function effectively on teams to accomplish a common goal
  • An understanding of professional, ethical, legal, security, and social issues and responsibilities
  • An ability to communicate effectively with a range of audiences
  • An ability to analyze the local and global impact of computing on individuals, organizations and society
  • Recognition of the need for, and an ability to engage in, continuing professional development
  • An ability to use current techniques, skills, and tools necessary for computing practice
  • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer- based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
  • An ability to apply design and development principles in the construction of software systems of varying complexity



Software Engineering Learning Outcomes
  • An ability to apply knowledge of mathematics, science, and engineering. 
  • An ability to design and conduct experiments, as well as to analyze and interpret data. 
  • An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.
  • An ability to function on multi-disciplinary teams.
  • An ability to identify, formulate, and solve engineering problems.
  • An understanding of professional and ethical responsibility.
  • An ability to communicate effectively.
  • The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
  • A recognition of the need for, and an ability to engage in life-long learning.
  • A knowledge of contemporary issues.
  • An ability to use techniques, skills, and modern engineering tools necessary for engineering practice.



6525:474679