Degree Programs
US News & World Report and other national publications recognize Cal Poly as having one of the best undergraduate computer science programs in the country. What makes the program stand out are: its very talented students, strong interactions with faculty on industry projects, a deep commitment to teaching, and laboratories with up-to-date technology.
The Computer Science program is accredited by the Computing Accreditation Commission of ABET.
Class sizes are kept small — rarely more than 35 students — and are taught by the Computer Science faculty, not graduate students. Most courses in the major have a strong laboratory component.
Educational Objectives
The computer science program has four broad program educational objectives (PEOs) that graduates are expected to attain within five years of graduation:
- Technical Competence. Graduates have applied current technical knowledge and skills to develop effective computer solutions, using state-of-the art technologies.
- Interpersonal Skills. Graduates have communicated effectively and worked collaboratively in a team environment.
- Professional Awareness. Graduates have maintained a positive and ethical attitude concerning the computing profession and its impact on individuals, organizations and society.
- Intellectual Growth. Graduates have continued to grow intellectually and professionally in their chosen field, including successful pursuit of graduate study if such study was a desired goal.
Student Learning Outcomes
Graduates of the 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 Computer Science Department began the Software Engineering major in Fall 2003 as the first undergraduate software engineering major in California. Software Engineering, as a formal engineering profession, has only existed for a few years. There are now more than 25 universities in the U.S that offer Software Engineering majors and the number is growing rapidly.
Software engineering students get a strong technical preparation in computer science fundamentals. The program emphasizes a combination of technical and team management skills. A graduate of the program is expected to understand the challenges of large-scale systems development and to be equipped with the necessary technical, process and people skills to be productive in a team environment immediately upon leaving Cal Poly.
The Software Engineering program is accredited by the Engineering Accreditation Commission of ABET.
Class sizes are kept small — rarely more than 35 students — and are taught by the Computer Science faculty, not graduate students. Most courses in the major have a strong laboratory component.
Educational Objectives
The Software Engineering program has four broad program educational objectives (PEOs) that graduates are expected to attain within five years of graduation:
- Technical Competence. Graduates have applied the software engineering body of knowledge and other technical skills to specify, design, and implement complex software systems, doing so with state-of-the art technologies.
- Interpersonal Skills. Graduates have communicated effectively and worked collaboratively in a team environment.
- Professional Awareness. Graduates have maintained a positive and ethical attitude concerning the computing profession and its impact on individuals, organizations and society.
- Intellectual Growth. Graduates have continued to grow intellectually and professionally in their chosen field, including successful pursuit of graduate study if such study was a desired goal.
Student Learning Outcomes
Graduates of the program will have an ability to:
- Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- Apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
- 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.
- Recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
- Develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
The M.S. program in Computer science offers students the opportunity to prepare for careers in several areas of emphasis, including software engineering, computer architecture, programming languages, theory of computing, operating systems, database systems, distributed computing, computer networks, artificial intelligence, computer graphics, and human-computer interaction.
For more details on our graduate programs see https://csc.calpoly.edu/gr/.
This program provides a means for academically excellent upper-division students to complete the M.S. Computer Science graduate studies while completing the B.S. Computer Science, B.S. Computer Engineering, or B.S. Software Engineering degree requirements.
For more detailed information on our graduate degree programs see https://csc.calpoly.edu/gr/ .
The Computer Science minor consists of a core of 16 units and the choice of a track for specialized study. The core provides the common knowledge and skills needed by anyone who wishes to advance further in computer science. The track consists of one or more required courses and several restricted elective courses.
Admission to the minor is limited and selection will be made based upon the applicant’s performance in the core courses. Please see the College of Engineering Advising Center for further information before planning to enter the minor.
The minor in Computing for Interactive Arts (CIA) is a Cross Disciplinary Studies Minor jointly offered by the Department of Art and Design and the Computer Science Department. The CIA minor fosters a collaborative, cross-disciplinary environment in which Art and Design students integrate coding and algorithmic thinking in creative works and Computer Science students apply the principles and methodology of design thinking to visual applications. The minor enables students from different disciplines to collaborate on projects requiring both a technical and a creative perspective.
Through an inter-college collaboration, the Computer Science and Statistics departments offer a cross-disciplinary minor in Data Science — a rapidly evolving discipline that uses elements of statistics and computer science to gather, organize, summarize, and communicate information from a variety of data sources and data types. Job opportunities for data scientists are growing as the availability of data becomes ever abundant via the internet, consumer transactions, sensor arrays, medical records, embedded biometrics, bionformatics, etc.
The CDSM provides an opportunity for both statistics and computer science students to complement their major training with foundational skills for data science. Statistics majors will acquire essential programming, database, distributed computing, and data mining skills from the Computer Science Department while computer science majors will acquire essential probability, regression modeling, statistical programming, and multivariate analysis skills from the Statistics Department.
Through an inter-college collaboration, the Biology, Chemistry, Computer Science and Software Engineering, and Statistics Departments offer a Cross-Disciplinary Studies Minor (CDSM) in Bioinformatics. Bioinformatics lies at the intersection of data science, computer science, statistics, and biology. The CDSM in Bioinformatics creates a strong foundation in molecular biology as well as the design and applications of algorithms, software, and databases commonly used by computational biologists.
The student will gain an understanding of how bioinformatic data are generated, organized, and used to gain insights into molecular life science. The CDSM in Bioinformatics will provide the opportunity for biology, biochemistry, computer science, and statistics students to identify solutions to biological questions using bioinformatics, to write and implement software on a bioinformatics project, to apply statistical analyses associated with bioinformatics, and to learn algorithms that can be useful for software development in the bioinformatics/computational biology field.