Physical Sciences, Mathematics & Engineering Division www.foothill.edu/psme/ (650) 949-7259

Computer Science (2013-2014)

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. Our up-to-date curriculum is also valuable for enhancing the career opportunities of working professionals.

Program Learning Outcomes

• Use standard software engineering tools to create reusable code.

• Design a large program that takes advantage of existing code libraries.

• Organize a complex program in a logical way, enabling the extension of the program.

• Comprehend user requirements and produce code and documentation in an industry-accepted style that satisfies those requirements.

• Develop software that solves problems in a variety of fields, including math, physics, chemistry, biology, astronomy, business, and the Internet.

• Design a large program that takes advantage of existing code libraries.

• Organize a complex program in a logical way, enabling the extension of the program.

• Comprehend user requirements and produce code and documentation in an industry-accepted style that satisfies those requirements.

• 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.

Units required for Major: 62.5

Units required for Certificate: 25

Degree Requirements:

• English proficiency: ENGL 1A, 1AH, 1S & 1T, ESLL 26 or equivalent.

• Mathematics proficiency: MATH 57, 105, 108 or equivalent.

A minimum of 90 units is required* to include:

• All Foothill General Education requirements (30 Units)

• Prerequisites (2.5 units)

• Core courses (40 Units)

• Support courses (20 Units)

*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 and the student must receive a grade of "C" or higher in these courses.

• Mathematics proficiency: MATH 57, 105, 108 or equivalent.

A minimum of 90 units is required* to include:

• All Foothill General Education requirements (30 Units)

• Prerequisites (2.5 units)

• Core courses (40 Units)

• Support courses (20 Units)

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

Program Type(s):

Additional Information:

MATH 105 or 108 (General Education courses) or equivalent

C S 49 (2.5 units) or equivalent.

Core Courses: (40 units)

C S 10 Computer Architecture & Organization (5 units)

MATH 1A Calculus (5 units)

MATH 1B Calculus (5 units)

MATH 1C Calculus (5 units)

MATH 22 Discrete Mathematics (5 units)

**or** C S 18 Discrete Mathematics (5 units)

**And select ONE** option:

__Option #1: JAVA__

C S 1A Object-Oriented Programming Methodologies in Java (5 units)

C S 1B Intermediate Software Design in Java (5 units)

C S 1C Advanced Data Structures & Algorithms in Java (5 units)

__Option #2: C++__

C S 2A Object-Oriented Programming Methodologies in C++ (5 units)

C S 2B Intermediate Software Design in C++ (5 units)

C S 2C Advanced Data Structures & Algorithms in C++ (5 units)

MATH 1A Calculus (5 units)

MATH 1B Calculus (5 units)

MATH 1C Calculus (5 units)

MATH 22 Discrete Mathematics (5 units)

C S 1A Object-Oriented Programming Methodologies in Java (5 units)

C S 1B Intermediate Software Design in Java (5 units)

C S 1C Advanced Data Structures & Algorithms in Java (5 units)

C S 2A Object-Oriented Programming Methodologies in C++ (5 units)

C S 2B Intermediate Software Design in C++ (5 units)

C S 2C Advanced Data Structures & Algorithms in C++ (5 units)

Support Courses: (20 units)

C S 20A Programming in C# (5 units)

C S 21A Programming in Python (5 units)

C S 22A Javascript for Programmers (5 units)

C S 30A Introduction to Linux & Unix (5 units)

C S 30B Linux & Unix Shell Programming (5 units)

C S 30C Linux & Unix System Administration (5 units)

C S 31A Introduction to Database Management (5 units)

C S 40A Software Engineering Methodologies (5 units)

C S 50A Network Fundamentals (CCNA) (5 units)

C S 63A Developing Applications for IOS (5 units)

C S 64A Writing Apps for Android in Java (5 units)

C S 80A Open Source Contribution (5 units)

C S 81A 3D Graphics Programming (5 units)

C S 82A Introduction to Software Quality Assurance (5 units)

C S 83A Introduction to Quantum Computing (5 units)

BIOL 1A Principles of Cell Biology (6 units)

BIOL 1B Form & Function in Plants & Animals (6 units)

BIOL 1C Evolution, Systematics & Ecology (6 units)

CHEM 1A General Chemistry (5 units)

CHEM 1B General Chemistry (5 units)

CHEM 1C General Chemistry & Qualitative Analysis (5 units)

MATH 1D Calculus (5 units)

MATH 2A Differential Equations (5 units)

MATH 2B Linear Algebra (5 units)

PHYS 2A General Physics (5 units)

PHYS 2AM General Physics - Calculus Supplement (1 unit)

PHYS 2B General Physics (5 units)

PHYS 2BM General Physics - Calculus Supplement (1 unit)

PHYS 2C General Physics (5 units)

PHYS 2CM General Physics - Calculus Supplement (1 unit)

PHYS 4A General Physics (Calculus) (6 units)

PHYS 4B General Physics (Calculus) (6 units)

PHYS 4C General Physics (Calculus) (6 units)

PHYS 5A* General Physics (Calculus) Extended (5 units)

PHYS 5B* General Physics (Calculus) Extended (5 units)

PHYS 5C* General Physics (Calculus) Extended (5 units)

*The PHYS 5A, 5B & 5C sequence is equivalent to PHYS 4A & 4B.

C S 21A Programming in Python (5 units)

C S 22A Javascript for Programmers (5 units)

C S 30A Introduction to Linux & Unix (5 units)

C S 30B Linux & Unix Shell Programming (5 units)

C S 30C Linux & Unix System Administration (5 units)

C S 31A Introduction to Database Management (5 units)

C S 40A Software Engineering Methodologies (5 units)

C S 50A Network Fundamentals (CCNA) (5 units)

C S 63A Developing Applications for IOS (5 units)

C S 64A Writing Apps for Android in Java (5 units)

C S 80A Open Source Contribution (5 units)

C S 81A 3D Graphics Programming (5 units)

C S 82A Introduction to Software Quality Assurance (5 units)

C S 83A Introduction to Quantum Computing (5 units)

BIOL 1A Principles of Cell Biology (6 units)

BIOL 1B Form & Function in Plants & Animals (6 units)

BIOL 1C Evolution, Systematics & Ecology (6 units)

CHEM 1A General Chemistry (5 units)

CHEM 1B General Chemistry (5 units)

CHEM 1C General Chemistry & Qualitative Analysis (5 units)

MATH 1D Calculus (5 units)

MATH 2A Differential Equations (5 units)

MATH 2B Linear Algebra (5 units)

PHYS 2A General Physics (5 units)

PHYS 2AM General Physics - Calculus Supplement (1 unit)

PHYS 2B General Physics (5 units)

PHYS 2BM General Physics - Calculus Supplement (1 unit)

PHYS 2C General Physics (5 units)

PHYS 2CM General Physics - Calculus Supplement (1 unit)

PHYS 4A General Physics (Calculus) (6 units)

PHYS 4B General Physics (Calculus) (6 units)

PHYS 4C General Physics (Calculus) (6 units)

PHYS 5A* General Physics (Calculus) Extended (5 units)

PHYS 5B* General Physics (Calculus) Extended (5 units)

PHYS 5C* General Physics (Calculus) Extended (5 units)

*The PHYS 5A, 5B & 5C sequence is equivalent to PHYS 4A & 4B.

C S 18 Discrete Mathematics (5 units)

**or** MATH 22 Discrete Mathematics (5 units)

C S 10 Computer Architecture & Organization (5 units)

C S 40A Software Engineering Methodologies (5 units)

C S 63A Developing Applications for IOS (5 units)

**or** C S 64A Writing Apps for for the Android in Java (5 units)

**And select one** from the following:

C S 1C Advanced Data Structures & Algorithms in Java (5 units)

C S 2C Advanced Data Structures & Algorithms in C++ (5 units)

C S 22A JavaScript for Programmers (5 units)

C S 30B Linux & Unix Shell Programming (5 units)

C S 63A Developing Applications for IOS (5 units)

C S 64A Writing Apps for for the Android in Java (5 units)

C S 80A Open Source Contribution (5 units)

C S 81A 3-D Graphics Programming (5 units)

**NOTE:** There is no minimum English proficiency is required for this certificate.

C S 10 Computer Architecture & Organization (5 units)

C S 40A Software Engineering Methodologies (5 units)

C S 63A Developing Applications for IOS (5 units)

C S 1C Advanced Data Structures & Algorithms in Java (5 units)

C S 2C Advanced Data Structures & Algorithms in C++ (5 units)

C S 22A JavaScript for Programmers (5 units)

C S 30B Linux & Unix Shell Programming (5 units)

C S 63A Developing Applications for IOS (5 units)

C S 64A Writing Apps for for the Android in Java (5 units)

C S 80A Open Source Contribution (5 units)

C S 81A 3-D Graphics Programming (5 units)

View another Program.