About Computer Programming

Enjoy solving puzzles? Harness the power of computers by writing computer programs!

Learn the fundamental pieces that make a computer program. Upon completing the degree or one of the certificates listed here, you may be ready to re-enter the workforce, or you can further hone your skills in a bachelor's program, a master's program, or another education program. Whatever your intended path, the courses in this program can help prepare you to meet the rising need for capable computer programmers.

Explore Potential Careers

Studying Computer Programming can lead to a variety of different jobs or career paths. Below are just some of the many options you will have!

  • Software Developer
  • Software Engineer
  • Front-End Web Developer
  • Back-End Developer
  • Full-Stack Developer
  • Android Engineer
  • iOS Engineer
  • Quality Assurance Engineer

Program Options 

Click on the degree or certificate you're interested in earning to see a sample map of courses to take to complete your goal from start to finish.

Please note that the course maps provided are just an example to help you get started. Please meet with a counselor to personalize the plan to you and your Academic goals.

Important Note: Due to college-wide budget constraints, the Computer Science Department has had to indefinitely or permanently suspend offerings of a number of our courses. As a result, a number of the certificates below are no longer fully supported. Please read the notes next to each certificate carefully to see how that certificate has been affected.

In particular, the following courses have been indefinitely or permanently suspended and will not be offered in the near future: CS 112, CS 130A, CS 130B, CS 132A, CS 142, CS 155B, CS 178, CS 185, CS 186, CS 197P, CS 197V, CS 198, CS 211E, CS 212, CS 214U, CS 230W, CS 232, CS 256, CS 280.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners and required for UC Davis)

Intro to Programming 4

MATH 90 + 90S (depending on math placement)

Precalculus Algebra + Support 5-8

ENGL 1A + 1AS

University-Parallel Reading and Composition + Support

4-6

Total Units: 13-18 

Semester 2

Course Number Course Title Units

CS 110B or 111B

Programming Fundamentals (C++ or Java)

4

MATH 95 (depending on math placement)

Trigonometry

5

CCSF Area D

Social Science

3

CCSF Area F + H (e.g. AFAM 60 or ASAM 20 or LALS 1 or HIST 9 or 12A or 12B or 41A or 41B)

US History/Government + Ethnic Studies OR Women's and Gender Studies OR LGBT Studies

3

Total Units: 15 

Semester 3

Course Number Course Title Units

CS 110C or 111C

Data Structures and Algorithms (C++ or Java)

4

MATH 110A

Calculus I

5
PHYC 4A (recommended for CCSF Area C)

Classical Mechanics for Scientists and Engineers

3

PHYC 4AL

Mechanics Laboratory for Scientists and Engineers

1

CCSF Area G1

Health Knowledge

1-3

CCSF Area G2

Physical Skills

1

Total Units: 15-17

Semester 4

Course Number Course Title Units
CS 270

Computer Architecture with Assembly Language

4

MATH 110B

Calculus II

5
MATH 115 Discrete Mathematics 3

CCSF Area E

Humanities

3

Total Units: 15

View Requirements in College Catalog

Semester 1 

Number Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4

CS 160A

Intro to Unix/Linux 2

Total Units: 6 

Semester 2

Course Number Course Title Units

CS 111B

Programming Fundamentals: Java

4

CS 177 or CS 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Work Experience

1-3

Total Units: 5-7 

Semester 3

Course Number Course Title Units

CS 111C

Data Structures and Algorithms: Java

4

CS 211S

Advanced Java: Standard Edition

3

CS 211D (offered fall semesters)

Android Programming

3

Total Units: 10

Note: THIS CERTIFICATE IS NO LONGER FULLY SUPPORTED.

Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 178. We advise students looking to complete this certificate to take CIS 178 at Merritt College or CIS 145 at College of San Mateo, either of which will be regarded as equivalent.

We offer our sincere apologies to any students affected by this. We hope to bring CS 178 back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4

CS 160A

Intro to Unix/Linux

2

Total Units: 6 

Semester 2

Course Number Course Title Units

CS 131B or CNIT 133

Programming Fundamentals: Python OR JavaScript, jQuery, AJAX

3-4

CS 177

Software Engineering 3

CS 178 (not currently offered)

Build Automation for DevOps & QA

3

Total Units: 9-10 

Note: Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 280. For this reason, we advise that students pursuing this certificate take CS 150A, CS 160B, or CS 270 to fulfill the specialized context programming requirement. We offer our sincere apologies to any students affected by this. We hope to bring CS 280 back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4

CS 160A (first half of semester)

Intro to Unix/Linux 2

CS 160B (second half of semester) or 150A (full semester) (or can instead take CS 270 in Semester 3)

Unix/Linux Shell Scripting OR Intro to SQL Databases and NoSQL

2-3

Total Units: 8-9 

Semester 2

Course Number Course Title Units

CS 110B

Programming Fundamentals: C++

4

Total Units: 4 

Semester 3

Course Number Course Title Units

CS 110C

Data Structures and Algorithms: C++

4

CS 177 or CS 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Work Experience

1-3

Total Units: 5-7

Note: Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 211E. We advise that students pursuing this certificate take CS 150A to meet the database course requirement. We offer our sincere apologies to any students affected by this. We hope to bring CS 211E back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4

CS 160A

Intro to Unix/Linux 2

CS 150A

Introduction to SQL Databases and NoSQL

Total Units: 9 

Semester 2

Course Number Course Title Units

CS 111B

Programming Fundamentals: Java 4

Total Units: 4 

Semester 3

Course Number Course Title Units

CS 111C

Data Structures and Algorithms: Java 4
CS 211S Advanced Java: Standard Edition 3

CS 177 or CS 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Work Experience

1-3

Total Units: 8-10

Note: THIS CERTIFICATE IS NO LONGER FULLY SUPPORTED.

Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 185 and CS 214U. For this reason, we advise that students looking to study game and simulation programming look for courses at other schools. Students who have completed equivalent courses at another school may still earn this certificate if the Department Chair approves the substitution.

We offer our sincere apologies to any students affected by this. We hope to bring these courses back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4

MATH 90 (if needed)

Precalculus Algebra

5
MATH 95 (if needed) Trigonometry 3

PHYC 40 (if needed)

Elementary Physics 3

Total Units: 4 - 15 

Semester 2

Course Number Course Title Units
CS 110B

Programming Fundamentals: C++

4

CS 185 (not currently offered)

Exploring Game Worlds 3

PHYC 2A or 4A

Introductory Physics OR Classical Mechanics for Scientists and Engineers

3

Total Units: 10 

Semester 3

Course Number Course Title Units

CS 110C

Data Structures and Algorithms: C++ 4

CS 214U (not currently offered)

Game and Simulation Programming in Unity

4

CS 177 or CNIT 197 or CNIT 198

Software Engineering OR Work Experience

1-3

Total Units: 9-11

Note: THIS CERTIFICATE IS NO LONGER FULLY SUPPORTED.

Due to college-wide budget constraints, the Computer Science Department is temporarily suspending our offerings of CS 212. For this reason, we advise that students looking to study iPhone programming look for courses at other schools. Students who have completed an equivalent course at another school may still earn this certificate if the Department Chair approves the substitution.

We offer our sincere apologies to any students affected by this. We hope to bring CS 212 back soon. Feel free to contact the Computer Science Department Chair with questions. 

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4

Total Units: 4 

Semester 2

Course Number Course Title Units
CS 110B or 111B Programming Fundamentals: C++ or Java 4

CS 212 (not currently offered)

iPhone Programming 4

Total Units: 8 

Semester 3

Course Number Course Title Units
CS 110C or 111C Data Structures and Algorithms: C++ or Java 4

CS 177 or CS 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Work Experience

1-3

Total Units: 5-7

Note: The Computer Science Department no longer offers PHP or Ruby classes (CS 130A, CS 130B, CS 132, or CS 232). Due to college-wide budget constraints, we are also temporarily suspending our offerings of CS 211E. We advise that students pursuing this certificate take CS 131B followed by either CS 231 or CNIT 134. We offer our sincere apologies to any students affected by this. We hope to bring CS 211E back soon. Feel free to contact the Computer Science Department Chair with questions.

View Requirements in College Catalog

Semester 1 

Course Number Course Title Units

CS 110A (optional, but encouraged for beginners)

Intro to Programming 4
CS 160A Intro to Unix/Linux 2
CNIT 131 Internet Basics and Beginning HTML

Total Units: 9 

Semester 2

Course Number Course Title Units

CS 131B

Programming Fundamentals: Python 4
CS 150A Introduction to SQL Databases and NoSQL 3
CNIT 132 Intermediate HTML and CSS 3

Total Units: 10 

Semester 3

Course Number Course Title Units
CS 231 or CNIT 134

(Advanced Programming Course)

3

CS 177 or CS 195 or CNIT 197 or CNIT 198

Software Engineering OR Software Development Practicum OR Work Experience

1-3
CNIT 133

JavaScript, jQuery, AJAX

3

Total Units: 7-9

Transfer Options

The program coursework you complete at City College for the AS degree in computer science will satisfy lower-division requirements for related majors at several colleges and universities. Note that transfer requirements may differ from one institution to another.

Have questions about transfer? Visit the Transfer Center for help, transfer information, and/or to speak with college representatives.