2026-2028 Catalog

Offered at: San Luis Obispo Campus

Nearly all disciplines use the capabilities of computers. The Computer Science minor consists of a lower-division core and upper-division elective courses selected in consultation with an advisor. The core provides common knowledge and skills needed by anyone who wishes to advance further in computer science. The remaining courses enable students to specialize in areas relevant to their goals.

Admission to the minor is limited and selection is based upon the applicant's performance in:
CSC 1001Fundamentals of Computer Science3
CSC 1001LFundamentals of Computer Science Laboratory1
CSC 2001Data Structures3
CSC 2001LData Structures Laboratory1

Students who intend to minor in computer science should consult the College of Engineering's Engineering Student Services website for GPA and course grade requirements for admission to the minor. In addition, they should contact Engineering Student Services for further information before planning to enter the minor.

Before formally applying, students must make an appointment at the College of Engineering's Engineering Student Services. The Computer Science minor is not open to CSC, CPE or SE major students, or to students in the Cross Disciplinary Studies Minor in Computing for Interactive Arts, the Cross Disciplinary Studies Minor in Data Science, or the Cross Disciplinary Studies Minor in Bioinformatics. Questions concerning the minor should be directed to Engineering Student Services.

Program Learning Objectives

  1. Analyze a computing problem and apply principles of computing to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements.
  3. Apply software development fundamentals to produce computing-based solutions.

Minor Requirements and Curriculum

The minor must be completed prior to, or at the same time as, the requirements for the bachelor's degree. A major and a minor may not be taken in the same degree program, and a minor is not required for a degree. Requirements for the minor include:
  • At least half of the units must be from upper-division courses (3000-4000 level).
  • At least half of the units must be taken at Cal Poly (in residence).
  • No more than one-third of the units will be taken with credit-no credit grading (CR/NC), not counting courses with mandatory CR/NC. Departments may further limit CR/NC grading if desired.
  • A minimum 2.0 GPA is required in all units counted for completion of the minor.
REQUIRED COURSES
CSC 1001
1001L
Fundamentals of Computer Science
and Fundamentals of Computer Science Laboratory
4
CSC 2001
2001L
Data Structures
and Data Structures Laboratory
4
CSC 3001Modern Application Development4
Approved Electives
Select from the following:6-8
Microcontrollers and Embedded Applications
Computer Architecture
Robotic Systems Integration
Autonomous Mobile Robotics
Advanced Microcontrollers and Embedded Applications
Applied Parallel Computing
Network Security
Advanced Computer Architecture
Introduction to Real-Time Operating Systems
High-Performance Embedded Systems
Design of Fault-Tolerant Systems
Introduction to Computer Networks
Advanced Computer Networks
Scalable Server Implementation and Testing
Distributed Systems
Software Engineering
Software Engineering without Programming
Computational Thinking for Educators
Teaching Computing
Practical Computer Security for Everyone
Introduction to Computer Security
Cryptography Engineering and Applications
Introduction to Privacy: Policy and Technology
Programming Languages
Theory of Computation
Algorithms and Complexity
Introduction to Databases
Introduction to Non-Relational Database Systems
Introduction to Database Management Systems
Game Design and Development
Introduction to Mixed Reality
Game Engineering and Critical Analysis
Mobile Application Development
Web Development
Software Evaluation
User-Centered UI/UX Design
Human-Computer Interaction
Malware Design and Analysis
Binary Exploitation: Tools and Techniques
Web and Cloud Security
Compiler Construction
Bioinformatics Algorithms
Introduction to Operating Systems
Implementation of Operating Systems
Fundamentals of Machine Learning
Database Management Systems Organization
Deep Learning
Introduction to Computer Graphics
Advanced Rendering Techniques
Computer Animation
Real-Time 3D Computer Graphics Software
Natural Language Processing
Artificial Intelligence
Semantic Computing
Computer Vision
Introduction to Data Science
Ethics, Science, and Technology
Total Units18