About Computer Programming

Enjoy solving puzzles? Learn how to harness the power of computers by writing computer programs!

In this program, you will 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 Bachelors program, a Masters 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. 

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

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 CNIT 197 or CNIT 198

Software Engineering 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

Android Programming

3

Total Units: 10

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, which we will regard 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 

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 CNIT 197 or CNIT 198

Software Engineering OR Work Experience

1-3

Total Units: 5-7

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 (or can take CS 211E - spring only - after completing CS 211S)

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 CNIT 197 or CNIT 198

Software Engineering OR Work Experience

1-3

Total Units: 8-10

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

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 CNIT 197 or CNIT 198

Software Engineering OR Work Experience

1-3

Total Units: 5-7

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 111B or 131B

Programming Fundamentals: Java or 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 211E or CS 231 or CNIT 134

(Advanced Programming Course)

3

CS 177 or CNIT 197 or CNIT 198

Software Engineering OR Work Experience

1-3
CNIT 133

JavaScript, jQuery, AJAX

3

Total Units: 9

Transfer Options

The program coursework you complete at City College will satisfy lower-division requirements for related majors at several colleges and universities.

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