Academic Catalog

Computer Science

Program Description

Computer programming, algorithms, data structures, and languages play an increasingly important role in academic, science, and business careers. The Associate in Science degree satisfies the transfer requirements of many disparate 4-year colleges and universities. Our up-to-date curriculum is also valuable for enhancing the career opportunities of working professionals.

Learn more about the program on the Computer Science website.

Associate Degree for Transfer

This program also offers an Associate Degree for Transfer. Learn more and review the degree requirements on the Computer Science AS-T listing.

Program Learning Outcomes

  • Students will be able to use standard software engineering tools to create reusable code.
  • Students will be able to design a large program that takes advantage of existing code libraries.
  • Students will be able to organize a complex program in a logical way, enabling the extension of the program.
  • Students will be able to comprehend user requirements and produce code and documentation in an industry-accepted style that satisfies those requirements.
  • Students will be able to develop software that solves problems in a variety of fields, including math, physics, chemistry, biology, astronomy, business, and the internet.
  • Students will be able to design and implement security policies for organizations of all sizes (Cybersecurity certificate).

Career Opportunities

The local Silicon Valley industry continues to need qualified software engineers, system administrators, software quality assurance engineers, and systems integrators.

Award Type(s)

  • AS = Associate in Science Degree
  • CA = Certificate of Achievement

Units Required

  • Major: 56
  • Certificate(s): 13.5-48.5

Associate Degree Requirements

English Proficiency
Select one of the following:
ENGL 1ACOMPOSITION & READING5
ENGL 1AHHONORS COMPOSITION & READING5
ESLL 26ADVANCED COMPOSITION & READING5
or equivalent
Ethnic Studies
Any course in the ETHN (Ethnic Studies) subject code, currently approved for Area F of CSU GE and Area 7 of IGETC
Mathematics Proficiency
College-level math course at or above the level of Intermediate Algebra

A minimum of 90 units is required1 to include:

  • Completion of one of the following general education patterns: Foothill General Education, CSU General Education Breadth Requirements or the Intersegmental General Education Transfer Curriculum (IGETC)
  • Core courses (38 units)
  • Support courses (18 units)
1

Additional elective course work may be necessary to meet the 90-unit minimum requirement for the associate degree.

Note: All courses pertaining to the major must be taken for a letter grade. In addition, a grade of "C" or better is required for all core and support courses used for the degree or certificates.

Core and Support Courses

Core Courses
C S 10COMPUTER ARCHITECTURE & ORGANIZATION4.5
MATH 1ACALCULUS5
or MATH 1AH HONORS CALCULUS I
MATH 1BCALCULUS5
or MATH 1BH HONORS CALCULUS II
MATH 1CCALCULUS5
MATH 22DISCRETE MATHEMATICS5
or C S 18 DISCRETE MATHEMATICS
And select one option from the following:13.5
Option 1: Java
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN JAVA
INTERMEDIATE SOFTWARE DESIGN IN JAVA
ADVANCED DATA STRUCTURES & ALGORITHMS IN JAVA
Option 2: C++
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN C++
INTERMEDIATE SOFTWARE DESIGN IN C++
ADVANCED DATA STRUCTURES & ALGORITHMS IN C++
Option 3: Python
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON
INTERMEDIATE SOFTWARE DESIGN IN PYTHON
ADVANCED DATA STRUCTURES & ALGORITHMS IN PYTHON
Support Courses
Select 18 units from the following:18
PRINCIPLES OF CELL BIOLOGY
FORM & FUNCTION IN PLANTS & ANIMALS
EVOLUTION, SYSTEMATICS & ECOLOGY
INTRODUCTION TO DATA SCIENCE
PROGRAMMING IN C#
JAVASCRIPT FOR PROGRAMMERS
INTRODUCTION TO LINUX
LINUX SHELL PROGRAMMING
LINUX SYSTEM ADMINISTRATION
ADVANCED LINUX SYSTEM ADMINISTRATION
LINUX SYSTEM ADMINISTRATION: NETWORK SERVICES
INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
SOFTWARE ENGINEERING METHODOLOGIES
DATA VISUALIZATION
FOUNDATIONS OF COMPUTER PROGRAMMING
NETWORK BASICS (CCNA)
INTRODUCTION TO CLOUD COMPUTING IN AMAZON WEB SERVICES
DATABASE ESSENTIALS IN AMAZON WEB SERVICES
COMPUTE ENGINES IN AMAZON WEB SERVICES
SECURITY IN AMAZON WEB SERVICES
DEVELOPING APPLICATIONS FOR IOS
WRITING APPS FOR THE ANDROID
OPEN SOURCE CONTRIBUTION
DATABASE-DRIVEN WEB APPLICATION DEVELOPMENT
GENERAL CHEMISTRY
GENERAL CHEMISTRY
GENERAL CHEMISTRY & QUALITATIVE ANALYSIS
CALCULUS
DIFFERENTIAL EQUATIONS
LINEAR ALGEBRA
GENERAL PHYSICS
GENERAL PHYSICS: CALCULUS SUPPLEMENT
GENERAL PHYSICS
GENERAL PHYSICS: CALCULUS SUPPLEMENT
GENERAL PHYSICS
GENERAL PHYSICS: CALCULUS SUPPLEMENT
GENERAL PHYSICS (CALCULUS)
GENERAL PHYSICS (CALCULUS)
GENERAL PHYSICS (CALCULUS)
Total Units56

Certificate Requirements

Certificate of Achievement in Advanced Web Applications Development

  • Units: 48.5

C S 1A
C S 1B
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN JAVA
and INTERMEDIATE SOFTWARE DESIGN IN JAVA 1
9
or C S 2A
C S 2B
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN C++
and INTERMEDIATE SOFTWARE DESIGN IN C++
or C S 3A
C S 3B
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON
and INTERMEDIATE SOFTWARE DESIGN IN PYTHON
C S 22AJAVASCRIPT FOR PROGRAMMERS4.5
C S 30AINTRODUCTION TO LINUX4.5
C S 31AINTRODUCTION TO DATABASE MANAGEMENT SYSTEMS4.5
C S 40ASOFTWARE ENGINEERING METHODOLOGIES4.5
C S 77AADVANCED WEB APPLICATION DEVELOPMENT4.5
C S 77BPROJECTS IN WEB APPLICATION DEVELOPMENT4.5
C S 84ADATABASE-DRIVEN WEB APPLICATION DEVELOPMENT4.5
GID 55USER EXPERIENCE (UI/UX) DESIGN4
GID 57WEBSITE DESIGN & DEVELOPMENT II4
Total Units48.5
1

Python has more relevance for web application development than C++.

Certificate of Achievement in Software Development in C++

  • Units: 28

C S 2AOBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN C++4.5
C S 2BINTERMEDIATE SOFTWARE DESIGN IN C++4.5
And select a minimum of 19 units from the following:19
ADVANCED DATA STRUCTURES & ALGORITHMS IN C++
COMPUTER ARCHITECTURE & ORGANIZATION
DISCRETE MATHEMATICS
DISCRETE MATHEMATICS
JAVASCRIPT FOR PROGRAMMERS
INTRODUCTION TO LINUX
INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
SOFTWARE ENGINEERING METHODOLOGIES
NETWORK BASICS (CCNA)
CALCULUS
HONORS CALCULUS I
ELEMENTARY STATISTICS
Total Units28

Certificate of Achievement in Software Development in Java

  • Units: 28
C S 1AOBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN JAVA4.5
C S 1BINTERMEDIATE SOFTWARE DESIGN IN JAVA4.5
And select a minimum of 19 units from the following:19
ADVANCED DATA STRUCTURES & ALGORITHMS IN JAVA
COMPUTER ARCHITECTURE & ORGANIZATION
DISCRETE MATHEMATICS
DISCRETE MATHEMATICS
JAVASCRIPT FOR PROGRAMMERS
INTRODUCTION TO LINUX
INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
SOFTWARE ENGINEERING METHODOLOGIES
NETWORK BASICS (CCNA)
CALCULUS
HONORS CALCULUS I
ELEMENTARY STATISTICS
Total Units28

Certificate of Achievement in Software Development in Python

  • Units: 28
C S 3AOBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON4.5
C S 3BINTERMEDIATE SOFTWARE DESIGN IN PYTHON4.5
And select a minimum of 19 units from the following:19
ADVANCED DATA STRUCTURES & ALGORITHMS IN PYTHON
COMPUTER ARCHITECTURE & ORGANIZATION
DISCRETE MATHEMATICS
DISCRETE MATHEMATICS
JAVASCRIPT FOR PROGRAMMERS
INTRODUCTION TO LINUX
INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
SOFTWARE ENGINEERING METHODOLOGIES
NETWORK BASICS (CCNA)
CALCULUS
HONORS CALCULUS I
ELEMENTARY STATISTICS
Total Units28

Certificate of Achievement in Advanced Software Development

  • Units: 27-28

C S 1AOBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN JAVA 14.5
or C S 2A OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN C++
or C S 3A OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON
C S 1BINTERMEDIATE SOFTWARE DESIGN IN JAVA 14.5
or C S 2B INTERMEDIATE SOFTWARE DESIGN IN C++
or C S 3B INTERMEDIATE SOFTWARE DESIGN IN PYTHON
C S 1CADVANCED DATA STRUCTURES & ALGORITHMS IN JAVA 14.5
or C S 2C ADVANCED DATA STRUCTURES & ALGORITHMS IN C++
or C S 3C ADVANCED DATA STRUCTURES & ALGORITHMS IN PYTHON
And select a minimum of 13.5 units from the following:13.5
COMPUTER ARCHITECTURE & ORGANIZATION
DISCRETE MATHEMATICS
DISCRETE MATHEMATICS
JAVASCRIPT FOR PROGRAMMERS
INTRODUCTION TO LINUX
INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
SOFTWARE ENGINEERING METHODOLOGIES
NETWORK BASICS (CCNA)
CALCULUS
HONORS CALCULUS I
ELEMENTARY STATISTICS
Total Units27
1

It is recommended that the student stick to a particular programming language throughout the sequence of A, B, and C courses (e.g., C S 1A, C S 1B & C S 1C), at least for the A & B courses.

Certificate of Achievement in Web Applications Development

  • Units: 27

C S 1A
C S 1B
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN JAVA
and INTERMEDIATE SOFTWARE DESIGN IN JAVA 1
9
or C S 2A
C S 2B
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN C++
and INTERMEDIATE SOFTWARE DESIGN IN C++
or C S 3A
C S 3B
OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON
and INTERMEDIATE SOFTWARE DESIGN IN PYTHON
C S 22AJAVASCRIPT FOR PROGRAMMERS4.5
C S 77AADVANCED WEB APPLICATION DEVELOPMENT4.5
C S 77BPROJECTS IN WEB APPLICATION DEVELOPMENT4.5
C S 84ADATABASE-DRIVEN WEB APPLICATION DEVELOPMENT4.5
Total Units27
1

Python has more relevance for web application development than C++.

Certificate of Achievement in Cloud Computing

  • Units: 27
C S 30AINTRODUCTION TO LINUX4.5
C S 50ANETWORK BASICS (CCNA)4.5
C S 55AINTRODUCTION TO CLOUD COMPUTING IN AMAZON WEB SERVICES4.5
C S 55BDATABASE ESSENTIALS IN AMAZON WEB SERVICES4.5
C S 55CCOMPUTE ENGINES IN AMAZON WEB SERVICES4.5
C S 55DSECURITY IN AMAZON WEB SERVICES4.5
Total Units27

Certificate of Achievement in Cybersecurity

  • Units: 27
C S 30AINTRODUCTION TO LINUX4.5
C S 50ANETWORK BASICS (CCNA)4.5
C S 53ACYBERSECURITY FUNDAMENTALS4.5
C S 53BFIREWALLS & THREAT MANAGEMENT4.5
C S 53CETHICAL HACKING4.5
C S 53DINTRODUCTION TO COMPUTER FORENSICS4.5
Total Units27

Certificate of Achievement in IT Support

  • Units: 18
C S 30AINTRODUCTION TO LINUX4.5
C S 50ANETWORK BASICS (CCNA)4.5
C S 53ACYBERSECURITY FUNDAMENTALS4.5
C S 56BIT ESSENTIALS4.5
Total Units18

Certificate of Achievement in Network Computing

  • Units: 13.5
C S 50ANETWORK BASICS (CCNA)4.5
C S 50BROUTING & SWITCHING ESSENTIALS (CCNA)4.5
C S 50CSCALING LOCAL AREA NETWORKS (CCNA)4.5
Total Units13.5