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.

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): 24-28

Associate Degree Requirements

English Proficiency
Select one of the following:
ENGL 1ACOMPOSITION & READING5
ENGL 1AHHONORS COMPOSITION & READING5
ENGL 1S
ENGL 1T
INTEGRATED COMPOSITION & READING
and INTEGRATED COMPOSITION & READING
8
or equivalent
Mathematics Proficiency
Select one of the following:
MATH 105INTERMEDIATE ALGEBRA5
MATH 180QUANTITATIVE REASONING5
or any MATH course approved for Foothill GE Area V, Communication & Analytical Thinking

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)

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
INTERMEDIATE ALGORITHM & DATA STRUCTURE METHODOLOGIES IN JAVA
INTERMEDIATE ALGORITHM & DATA STRUCTURE METHODOLOGIES IN C++
INTERMEDIATE ALGORITHM & DATA STRUCTURE METHODOLOGIES IN PYTHON
PROGRAMMING IN C#
PYTHON FOR PROGRAMMERS
INTERMEDIATE PYTHON PROGRAMMING
JAVASCRIPT FOR PROGRAMMERS
RUBY & FUNCTIONAL PROGRAMMING
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 IN JAVA
DATA ANALYTICS & MANAGEMENT
OPEN SOURCE CONTRIBUTION
3-D GRAPHICS PROGRAMMING
INTRODUCTION TO SOFTWARE QUALITY ASSURANCE
DATABASE-DRIVEN WEB APPLICATION DEVELOPMENT
DISTRIBUTED DATABASES
GENERAL CHEMISTRY
HONORS GENERAL CHEMISTRY
GENERAL CHEMISTRY
HONORS 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 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 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

Certificate of Achievement in Software Development in C++

  • Units: 24-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 15 units from the following:15
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 Units24

Certificate of Achievement in Software Development in Java

  • Units: 24-28
C S 1AOBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN JAVA4.5
C S 1BINTERMEDIATE SOFTWARE DESIGN IN JAVA4.5
And select a minimum of 15 units from the following:15
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 Units24

Certificate of Achievement in Software Development in Python

  • Units: 24-28
C S 3AOBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON4.5
C S 3BINTERMEDIATE SOFTWARE DESIGN IN PYTHON4.5
And select a minimum of 15 units from the following:15
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 Units24