ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://www.ccsf.edu/academics/ccsf-catalog/courses-by-department/computer-science |
| Last Crawled | 2026-04-15 04:41:30 (3 days ago) |
| First Indexed | 2020-08-26 21:36:54 (5 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Computer Science | CCSF |
| Meta Description | ProgramsMajorsComputer Science (AS_T)Computer Science (AS)CertificatesAndroid App ProgrammingBuild Automation for DevOps & QA |
| Meta Canonical | null |
| Boilerpipe Text | Computer Science
CS 10, Introduction to Computer Science
Lec-70 P/NP Available
PREREQ: Intermediate algebra or higher ADVISE: Readiness for college-level English or ESL 188
Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to solve problems with computers by designing and implementing algorithms, and how computing fits into larger social issues.
CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 110A, Introduction to Programming and Computer Science
Lec-70
ADVISE: (Intermediate algebra or higher) and (Readiness for college-level English or ESL 188)
Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to design and implement algorithms using a programming language, and how computing fits into larger social issues.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 110B, Programming Fundamentals: C++
Lec-70
ADVISE: CS 10 or CS 110A or MATH 108
This course covers programming fundamentals using the C++ language, using procedural and object-oriented approaches to problem solving. Topics include structured elements, classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, pointers, files, design and implementation of abstract data types, in numerical and non-numerical applications.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 110C, Data Structures and Algorithms: C++
Lec-70
PREREQ: CS 110B
The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 111B, Programming Fundamentals: Java
Lec-70
ADVISE: CS 10 or CS 110A or MATH 108
This course covers programming fundamentals using the Java language, emphasizing an object-oriented approach to problem solving. Topics include classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, files, design and implementation of abstract data types, in numerical and non-numerical applications.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 111C, Data Structures and Algorithms: Java
Lec-70
PREREQ: CS 111B.
The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 131B, Programming Fundamentals: Python
Lec-70 P/NP Available
ADVISE: CS 10 or CS 110A or MATH 108
This course covers programming fundamentals using the Python language. Python is interpreted, interactive, and object-oriented. Recommended for general-purpose programming, system administration, or web programming. Topics include classes, objects, inheritance, polymorphism, design and implementation of abstract data types, dictionaries, lists, list comprehensions, files, modules, and mutable and immutable types.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
Formerly CS 131A
CS 150A, Introduction to SQL Databases and NoSQL
Lec-52.5 P/NP Available
A course in the use of SQL database management systems to create, query, and update database tables. The course covers both the syntax and the logic of the major features of the SQL language. It also covers a brief overview of NoSQL (Not Only SQL) data sources such as JSON and MongoDB.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 155B, MySQL Database Administration
Lec-52.5 P/NP Available
ADVISE: CS 150A and CS 160B
Students install and configure a MySQL server and create and manage user accounts. Issues
pertaining to optimization, security, privileges, tuning, troubleshooting, and performing upgrades are
studied and practiced.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 155P, MySQL Programming
Lec-52.5 P/NP Available
ADVISE: CS 150A
An advanced course in the use of MySQL techniques to process database objects. Design and develop MySQL program units: stored procedures, functions, and database triggers. Work with dynamic SQL and with XML data.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 160A, Introduction to Unix/Linux
Lec-35 P/NP Available
Introduction to using the Unix/Linux operating system. Unix/Linux file management and common text processing utilities including searching.
UC/CSU
Units: 2
Credit type: Credit/Degree Applicable
CS 160B, Unix/Linux Shell Scripting
Lec-35 P/NP Available
ADVISE: CS 160A
Analyze, design, write, test, and debug shell scripts. Students learn basic shell scripting techniques and develop scripting skills needed for Unix/Linux System Administration courses. The bash shell is used.
UC/CSU
Units: 2
Credit type: Credit/Degree Applicable
CS 177, Software Engineering
Lec-52.5 P/NP Available
PREREQ: CS 110B or CS 111B or CS 131B
Introduction to principal software engineering processes and pitfalls. Focus on users, development methodologies, testing, and tools. Use of techniques including version control, functional specification, Agile and Test-Driven Development.
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 178, Build Automation for DevOps & QA
Lec-52.5 Lab-17.5 P/NP Available
ADVISE: CS 132A and CS 177 and CS 260A
Development and Operations (DevOps) is the use of build automation tools to automate provisioning, configuration, monitoring, and management of data centers and networks. These same tools are used to automatically build and test software for Quality Assurance (QA). Design tests and use tools like Jenkins to execute planned systematic actions that provide confidence in a software product under development, and its infrastructure.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 185, Exploring Game Worlds
Lec-52.5 P/NP Available
ADVISE: VMD 105
Utilizing the Unity game engine and a range of additional tools, this course is an introduction to the career opportunities in the games industry. Students will learn how individual games are made, distributed, and sold via both physical media and online. Virtual reality and augmented reality will also be examined.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 195, Software Development Practicum
Lec-52.5 field trips P/NP Available
PREREQ: CS 110B or CS 111B or CS 131B or CS 150A or CS 177
Integrate and apply knowledge gained through CCSF coursework in a team-based environment. Work on realistic projects with input invited from local employers. Develop, design, and program a professional software project in a team environment.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 197P, Technical Interview Preparation
Lec-17.5 P/NP Only
PREREQ: Completion of or concurrent enrollment in: CS 110C or CS 111C
Preparation for programming job interviews: problem-solving and algorithm questions solved on a white board or online chat, approaches to technical interviews, and solving common kinds of problems. Requires prior experience programming Data Structures and Algorithms in C++, Java, or similar.
CSU
Units: 1
Credit type: Credit/Degree Applicable
CS 197V, Version Control and Online Code Repositories
Lec-17.5 P/NP Only
ADVISE: CS 10 or MATH 108 or prior programming experience
Using version control software such as Git and online code repositories such as GitHub. Use these systems for team collaboration in software development, and to present work online as a portfolio for job applications. Set up an online code repository as a portfolio for employers to assess what kind of programming experience an applicant has.
CSU
Units: 1
Credit type: Credit/Degree Applicable
CS 198, Industry Internship
P/NP Available
Provides students with the opportunity to earn course and certificate credit for working in the field, in a supervised setting in the ICT/Computer Science industry. Internships include software quality assurance (QA), junior developer, database programmer or administrator, Linux system administrator, etc. One unit of credit is earned for 54 hours of unpaid or paid work.
CSU
Units: 1
Credit type: Credit/Degree Applicable
CS 199, Independent Study
Lab-52.5 to 157.5 P/NP Available
ADVISE: CS 110C or CS 111C or CS 160B or CS 177 or CS 211S or CS 211D or CS 212 or CS 214U or CS 231 or CS 232 or CS 256 or CS 280
Large-scale individual projects in computer science to be defined in cooperation with an instructor/supervisor. The project must be in in an area not covered by other course offerings. The student is responsible for the project definition and completion under the guidance of an instructor/supervisor.
CSU
Units: 1
Credit type: Credit/Degree Applicable
UC upon review
CS 211D, Android Programming
Lec-52.5 P/NP Available
PREREQ: CS 111B
An advanced course in the design and development of applications for mobile devices running the Android operating system. Use the Android SDK and Android Studio to craft user interfaces (UIs) and create applications that make use of web services, long-term storage, user location, and media.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 211E, Advanced Java: Enterprise
Lec-52.5 P/NP Available
ADVISE: CS 111B and CS 211S
Advanced Java Enterprise Edition covers features of the Java language essential for building network- and web-oriented applications. Topics include networking, Java Database Connectivity (JDBC), Servlets, JavaBeans, JavaServer Pages (JSP), Remote Method Invocation (RMI), JavaScript Object Notation (JSON), and Extensible Markup Language (XML).
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 211S, Advanced Java: Standard Edition
Lec-52.5
PREREQ: CS 111B
Introduces advanced Java language features and packages that are essential for building Java Standard Edition applications. Topics include object-oriented design, updated Java features, file input and output, exception handling, collections, generics, graphical user interfaces (GUIs), functional programming, reflection, and multithreading. Helps prepare students for industry certification in Java programming.
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 212, iPhone Programming
Lec-70 P/NP Available
ADVISE: CS 112 or CS 110B or CS 111B
An advanced course in the design and development of iOS applications using Xcode and Swift. Overview of object-oriented programming in Swift. Development of user interfaces with Storyboard. Development of iOS applications using the model-view-controller paradigm, persistent storage, and networked data.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 214U, Game and Simulation Programming in Unity
Lec-70 P/NP Available
PREREQ: CS 110B or CS 111B
This course provides students with the opportunity to learn computer science concepts in the context of game and simulation development. Data algorithms, behavioral algorithms, memory management, object and class hierarchy, and Unity's architectural pattern will be presented.
CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 231, Advanced Python for Analytics
Lec-52.5 P/NP Available
PREREQ: CS 131B
Second course in the Python programming language. Emphasis is on applications in data analytics. Covers resources, practices, and modules used by successful Python programmers; debugging and testing; data serialization; and interaction with SQL databases and web services. Students write useful programs demonstrating mastery of these techniques, which are applicable to real world problems.
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 131A may be used to satisfy the prerequisite. Please contact the Computer Sciences Department for more information.
CS 256, Data Visualization
Lec-52.5 P/NP Available
PREREQ: CS 131B or CS 111B or CS 110B ADVISE: MATH 80 or ECON 5 or PSYC 5 or LALS 5 or MATH 108
Access and analyze data and produce information visualizations to discover patterns. Fundamental skills and concepts for data science applicable to scientists, journalists, business people, and database programmers. Requires programming in a language of the student's choice.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 260A, Linux System Administration
Lec-70 P/NP Available
ADVISE: CS 160B
The administration of a Linux server. Prepares students for industry certification and entry-level employment in system administration. Topics include process control, system monitoring, filesystem preparation and maintenance, logical volumes, basic servers and the firewall, virtual machines, startup and shutdown, user accounts, periodic tasks, security issues, and installations.
CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 270, Computer Architecture with Assembly Language
Lec-70
PREREQ: CS 110B or CS 111B ADVISE: CS 160A
Basic computer organization including the von Neumann architecture, the instruction cycle, parts of a CPU (central processing unit), pipelining, memory hierarchy, and interrupt handling. Representation of numerical and non-numerical data. Translation to assembly code from high-level constructs such as if statements, loops, and function calls.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 280, Introduction to Parallel and Cloud Programming
Lec-70 Lab-17.5 P/NP Available
ADVISE: CS 110B or CS 111B or CS 131B
Programming fundamentals using multiple processors or computers to solve a problem. Mechanics of computation, multi-tasking, multi-threading, and object-oriented approaches to managing many computing elements working on the same problem. Programming for Cloud computation, Big Data access, and highly parallel computing hardware, e.g. multi-core processors and Graphics Processing Units (GPU).
CSU
Units: 4
Credit type: Credit/Degree Applicable |
| Markdown | [Skip to main content](https://www.ccsf.edu/academics/ccsf-catalog/courses-by-department/computer-science#main-content)
[](https://www.ccsf.edu/)
[Apply](https://www.ccsf.edu/apply-ccsf "Apply to CCSF")
## Utility Menu
- [Ram Resources](https://www.ccsf.edu/ram-resources)
- [Events](https://www.ccsf.edu/events)
- [CANVAS](https://ccsf.instructure.com/)
- [MyCCSF](https://www.ccsf.edu/myccsf)
- [CityOnline](https://www.ccsf.edu/academics/online-learning/cityonline)
- [Learn English](https://www.ccsf.edu/academics/schools/esl-international-ed-and-transitional-studies/english-second-language)
- [Employee Services](https://www.ccsf.edu/employee-services)
## [Search]()
- [Centers](https://www.ccsf.edu/about/our-locations "CCSF Campus Centers")
- [Admissions & Registration](https://www.ccsf.edu/admissions-recordsregistration)
Toggle submenu
- Get Started
- [Apply to CCSF](https://www.ccsf.edu/apply-ccsf)
- [New Student Orientation](https://www.ccsf.edu/orientation-site/)
- [Placement](https://www.ccsf.edu/student-services/assessment-center/math-english-and-credit-esl-placement)
- [Counseling](https://www.ccsf.edu/student-services/counseling)
- [International Students](https://www.ccsf.edu/academics/schools/esl-international-ed-and-transitional-studies/office-international-programs-oip)
- [Ram Resources](https://www.ccsf.edu/ram-resources)
- Register for Classes
- [How to Register](https://www.ccsf.edu/admissions-recordsregistration/register-classes)
- [Important Dates](https://www.ccsf.edu/admissions-recordsregistration/important-dates)
- [Class Schedules](https://www.ccsf.edu/academics/class-schedule)
- [myRAM Portal](https://ramid.ccsf.edu/)
- Campus Offices
- [Admissions & Records/Registration](https://www.ccsf.edu/admissions-recordsregistration)
- [Noncredit Admissions/Registration](https://www.ccsf.edu/admissions-recordsregistration/noncredit-admission)
- [Assessment Center](https://www.ccsf.edu/student-services/assessment-center)
- [Outreach & Recruitment](https://www.ccsf.edu/student-services/outreach-recruitment)
- [Academics](https://www.ccsf.edu/academics)
Toggle submenu
- Programs
- [Degree, Certificate, & Transfer](https://www.ccsf.edu/degrees-certificates)
- [Career Education](https://www.ccsf.edu/academics/career-education)
- [Online Learning](https://www.ccsf.edu/academics/online-learning)
- [High School Programs](https://www.ccsf.edu/academics/high-school-programs)
- Growth and Enrichment
- [Professional Growth](https://www.ccsf.edu/professional-growth)
- [Personal Enrichment](https://www.ccsf.edu/academics/personal-enrichment)
- [Adult Education](https://www.ccsf.edu/academics/adult-education)
- [Learning Communities](https://www.ccsf.edu/academics/learning-communities)
- [Contract and City Extension](https://www.ccsf.edu/academics/contract-education-and-extension-programs)
- Resources
- [Schools & Departments](https://www.ccsf.edu/academics/schools)
- [Schedule of Classes](https://www.ccsf.edu/academics/class-schedule)
- [Semester Calendars](https://www.ccsf.edu/admissions-recordsregistration/important-dates)
- [College Catalog](https://www.ccsf.edu/academics/ccsf-catalog)
- [Library](https://library.ccsf.edu/)
- [Paying For College](https://www.ccsf.edu/paying-college)
Toggle submenu
- Aid
- [Apply for Financial Aid](https://www.ccsf.edu/paying-college/financial-aid-office/how-apply-financial-aid)
- [Types of Aid](https://www.ccsf.edu/paying-college/financial-aid-office/financial-aid-programs)
- [Free City](https://www.ccsf.edu/free-city)
- Costs
- [Tuition & Fees](https://www.ccsf.edu/admissions-recordsregistration/tuition-and-fees)
- [Pay Your Fees](https://www.ccsf.edu/admissions-recordsregistration/billing-payments-refunds)
- [California Residency](https://www.ccsf.edu/admissions-recordsregistration/residency-tuition-purposes)
- Campus Offices
- [Financial Aid Office](https://www.ccsf.edu/paying-college/financial-aid-office)
- [Scholarship Office](https://www.ccsf.edu/student-services/scholarship-office)
- [Office of Student Employment](https://www.ccsf.edu/paying-college/office-campus-student-employment)
- [Student Services](https://www.ccsf.edu/student-services)
Toggle submenu
- Student Services
- [Counseling](https://www.ccsf.edu/student-services/counseling)
- [Career Services](https://www.ccsf.edu/academics/career-education/career-services)
- [Parenting Students](https://www.ccsf.edu/student-services/resource-centers/family-resource-center)
- [Student Affairs](https://www.ccsf.edu/about-ccsf/administration/student-affairs)
- [Student Equity](https://www.ccsf.edu/about-ccsf/administration/student-affairs/student-equity)
- [Veterans Services](https://www.ccsf.edu/student-services/support-programs/veterans-resource-center-services)
- Academic Help
- [Library](https://library.ccsf.edu/)
- [Support Programs](https://www.ccsf.edu/student-services/support-programs)
- [Transfer Center](https://www.ccsf.edu/student-services/counseling/transfer-center)
- [Tutoring](https://www.ccsf.edu/student-services/tutoring)
- [Computer Labs](https://www.ccsf.edu/computer-labs)
- [Student Completion](https://www.ccsf.edu/student-services/student-completion-department)
- Wellness
- [Basic Needs](https://www.ccsf.edu/about-ccsf/administration/student-affairs/student-equity/sparkpoint-ccsf-basic-needs-center)
- [Health Services](https://www.ccsf.edu/student-services/student-health-services)
- [Food on Campus](https://www.ccsf.edu/student-services/food-campus)
- [Wellness/Fitness Center](https://sites.google.com/mail.ccsf.edu/ccsf-fitness-center/home?authuser=0)
- [Campus Life](https://www.ccsf.edu/campus-life)
Toggle submenu
- Get Involved
- [Student Life & Leadership](https://www.ccsf.edu/campus-life/student-life-and-leadership)
- [CCSF Athletics](https://ccsfathletics.com/landing/index)
- [Associated Students](https://www.ccsf.edu/campus-life/student-life-and-leadership/associated-students)
- [Clubs & Organizations](https://www.ccsf.edu/campus-life/student-life-and-leadership/inter-club-council)
- On Campus
- [New Construction](https://www.ccsf.edu/about-ccsf/administration/finance-and-administration/facilitiesbuildings-and-grounds/new-construction)
- [Resource Centers](https://www.ccsf.edu/student-services/resource-centers)
- [Bookstore](https://www.bkstr.com/ccsfstore/home)
- [Parking](https://www.ccsf.edu/about-ccsf/administration/finance-and-administration/business-services-dbo/bursars-office/student-parking-permits)
- [District Police](https://www.ccsf.edu/district-police)
- Happening at CCSF
- [Events](https://www.ccsf.edu/events)
- [News](https://www.ccsf.edu/news)
- [The Arts at CCSF](https://www.ccsf.edu/campus-life/arts-ccsf)
- [Tour of Art Map](https://www.ccsf.edu/campus-life/tour-art-map)
- [Commencement](https://www.ccsf.edu/about-ccsf/administration/student-affairs/ccsf-commencement)
- [Campus Tours](https://www.ccsf.edu/student-services/outreach-recruitment/visit-campus)
- [About](https://www.ccsf.edu/about-ccsf)
Toggle submenu
- About
- [Overview of CCSF](https://www.ccsf.edu/about-ccsf)
- [Mission and Vision](https://www.ccsf.edu/about-ccsf/city-colleges-mission-and-vision)
- [History of City College](https://www.ccsf.edu/about-ccsf/history-city-college)
- [Centers](https://www.ccsf.edu/about/our-locations)
- [Accreditation](https://www.ccsf.edu/about-ccsf/accreditation)
- Leadership
- [Board of Trustees](https://www.ccsf.edu/about-ccsf/board-trustees)
- [Participatory Governance](https://www.ccsf.edu/about-ccsf/participatory-governance)
- [Administration](https://www.ccsf.edu/about-ccsf/administration)
- Information
- [Support CCSF](https://www.ccsf.edu/about-ccsf/administration/academic-institutional-affairs/institutional-advancement-and-effectiveness/community-development)
- [Marketing & Public Information](https://www.ccsf.edu/about-ccsf/marketing-and-public-information)
- [Campus Map](https://www.ccsf.edu/about/our-locations/map)
- [Contact CCSF](https://www.ccsf.edu/about-ccsf/contact-us)
## Menu
- [Menu](https://www.ccsf.edu/academics/ccsf-catalog/courses-by-department/computer-science "Toggle Push Menu")
# Computer Science
## Breadcrumb
1. [CCSF Home](https://www.ccsf.edu/)
2. [Degree, Certificate, & Transfer](https://www.ccsf.edu/degrees-certificates)
3. [College Catalog](https://www.ccsf.edu/academics/ccsf-catalog)
4. [Courses and Majors by Program/Department](https://www.ccsf.edu/academics/ccsf-catalog/courses-by-department)
5. Computer Science
## Programs
### Majors
- [Computer Science (AS\_T)](https://ccsf.curricunet.com/Report/Program/GetReport/1849?reportId=29)
- [Computer Science (AS)](https://ccsf.curricunet.com/Report/Program/GetReport/1472?reportId=29)
### Certificates
- [Android App Programming](https://ccsf.curricunet.com/Report/Program/GetReport/1716?reportId=29)
- [Build Automation for DevOps & QA](https://ccsf.curricunet.com/Report/Program/GetReport/1955?reportId=29)
- [Computer Programming: C++](https://ccsf.curricunet.com/Report/Program/GetReport/1713?reportId=29)
- [Computer Programming: Java](https://ccsf.curricunet.com/Report/Program/GetReport/1714?reportId=29)
- [Data Analytics Fundamentals](https://ccsf.curricunet.com/Report/Program/GetReport/1852?reportId=29)
- [Database Administration](https://ccsf.curricunet.com/Report/Program/GetReport/1437?reportId=29)
- [Databases for Developers](https://ccsf.curricunet.com/Report/Program/GetReport/1967?reportId=29)
- [Game and Simulation Programming](https://ccsf.curricunet.com/Report/Program/GetReport/1299?reportId=29)
- [iPhone App Programming](https://ccsf.curricunet.com/Report/Program/GetReport/1968?reportId=29)
- [Linux Administration](https://ccsf.curricunet.com/Report/Program/GetReport/1910?reportId=29)
- [Web Application Programming](https://ccsf.curricunet.com/Report/Program/GetReport/1969?reportId=29)
## Courses
### Computer Science
CS 10, Introduction to Computer Science
Lec-70 P/NP Available
PREREQ: Intermediate algebra or higher ADVISE: Readiness for college-level English or ESL 188
Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to solve problems with computers by designing and implementing algorithms, and how computing fits into larger social issues.
CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 110A, Introduction to Programming and Computer Science
Lec-70
ADVISE: (Intermediate algebra or higher) and (Readiness for college-level English or ESL 188)
Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to design and implement algorithms using a programming language, and how computing fits into larger social issues.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 110B, Programming Fundamentals: C++
Lec-70
ADVISE: CS 10 or CS 110A or MATH 108
This course covers programming fundamentals using the C++ language, using procedural and object-oriented approaches to problem solving. Topics include structured elements, classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, pointers, files, design and implementation of abstract data types, in numerical and non-numerical applications.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 110C, Data Structures and Algorithms: C++
Lec-70
PREREQ: CS 110B
The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 111B, Programming Fundamentals: Java
Lec-70
ADVISE: CS 10 or CS 110A or MATH 108
This course covers programming fundamentals using the Java language, emphasizing an object-oriented approach to problem solving. Topics include classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, files, design and implementation of abstract data types, in numerical and non-numerical applications.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 111C, Data Structures and Algorithms: Java
Lec-70
PREREQ: CS 111B.
The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 131B, Programming Fundamentals: Python
Lec-70 P/NP Available
ADVISE: CS 10 or CS 110A or MATH 108
This course covers programming fundamentals using the Python language. Python is interpreted, interactive, and object-oriented. Recommended for general-purpose programming, system administration, or web programming. Topics include classes, objects, inheritance, polymorphism, design and implementation of abstract data types, dictionaries, lists, list comprehensions, files, modules, and mutable and immutable types.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
Formerly CS 131A
CS 150A, Introduction to SQL Databases and NoSQL
Lec-52.5 P/NP Available
A course in the use of SQL database management systems to create, query, and update database tables. The course covers both the syntax and the logic of the major features of the SQL language. It also covers a brief overview of NoSQL (Not Only SQL) data sources such as JSON and MongoDB.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 155B, MySQL Database Administration
Lec-52.5 P/NP Available
ADVISE: CS 150A and CS 160B
Students install and configure a MySQL server and create and manage user accounts. Issues pertaining to optimization, security, privileges, tuning, troubleshooting, and performing upgrades are studied and practiced.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 155P, MySQL Programming
Lec-52.5 P/NP Available
ADVISE: CS 150A
An advanced course in the use of MySQL techniques to process database objects. Design and develop MySQL program units: stored procedures, functions, and database triggers. Work with dynamic SQL and with XML data.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 160A, Introduction to Unix/Linux
Lec-35 P/NP Available
Introduction to using the Unix/Linux operating system. Unix/Linux file management and common text processing utilities including searching.
UC/CSU
Units: 2
Credit type: Credit/Degree Applicable
CS 160B, Unix/Linux Shell Scripting
Lec-35 P/NP Available
ADVISE: CS 160A
Analyze, design, write, test, and debug shell scripts. Students learn basic shell scripting techniques and develop scripting skills needed for Unix/Linux System Administration courses. The bash shell is used.
UC/CSU
Units: 2
Credit type: Credit/Degree Applicable
CS 177, Software Engineering
Lec-52.5 P/NP Available
PREREQ: CS 110B or CS 111B or CS 131B
Introduction to principal software engineering processes and pitfalls. Focus on users, development methodologies, testing, and tools. Use of techniques including version control, functional specification, Agile and Test-Driven Development.
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 178, Build Automation for DevOps & QA
Lec-52.5 Lab-17.5 P/NP Available
ADVISE: CS 132A and CS 177 and CS 260A
Development and Operations (DevOps) is the use of build automation tools to automate provisioning, configuration, monitoring, and management of data centers and networks. These same tools are used to automatically build and test software for Quality Assurance (QA). Design tests and use tools like Jenkins to execute planned systematic actions that provide confidence in a software product under development, and its infrastructure.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 185, Exploring Game Worlds
Lec-52.5 P/NP Available
ADVISE: VMD 105
Utilizing the Unity game engine and a range of additional tools, this course is an introduction to the career opportunities in the games industry. Students will learn how individual games are made, distributed, and sold via both physical media and online. Virtual reality and augmented reality will also be examined.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 195, Software Development Practicum
Lec-52.5 field trips P/NP Available
PREREQ: CS 110B or CS 111B or CS 131B or CS 150A or CS 177
Integrate and apply knowledge gained through CCSF coursework in a team-based environment. Work on realistic projects with input invited from local employers. Develop, design, and program a professional software project in a team environment.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 197P, Technical Interview Preparation
Lec-17.5 P/NP Only
PREREQ: Completion of or concurrent enrollment in: CS 110C or CS 111C
Preparation for programming job interviews: problem-solving and algorithm questions solved on a white board or online chat, approaches to technical interviews, and solving common kinds of problems. Requires prior experience programming Data Structures and Algorithms in C++, Java, or similar.
CSU
Units: 1
Credit type: Credit/Degree Applicable
CS 197V, Version Control and Online Code Repositories
Lec-17.5 P/NP Only
ADVISE: CS 10 or MATH 108 or prior programming experience
Using version control software such as Git and online code repositories such as GitHub. Use these systems for team collaboration in software development, and to present work online as a portfolio for job applications. Set up an online code repository as a portfolio for employers to assess what kind of programming experience an applicant has.
CSU
Units: 1
Credit type: Credit/Degree Applicable
CS 198, Industry Internship
P/NP Available
Provides students with the opportunity to earn course and certificate credit for working in the field, in a supervised setting in the ICT/Computer Science industry. Internships include software quality assurance (QA), junior developer, database programmer or administrator, Linux system administrator, etc. One unit of credit is earned for 54 hours of unpaid or paid work.
CSU
Units: 1
Credit type: Credit/Degree Applicable
CS 199, Independent Study
Lab-52.5 to 157.5 P/NP Available
ADVISE: CS 110C or CS 111C or CS 160B or CS 177 or CS 211S or CS 211D or CS 212 or CS 214U or CS 231 or CS 232 or CS 256 or CS 280
Large-scale individual projects in computer science to be defined in cooperation with an instructor/supervisor. The project must be in in an area not covered by other course offerings. The student is responsible for the project definition and completion under the guidance of an instructor/supervisor.
CSU
Units: 1
Credit type: Credit/Degree Applicable
UC upon review
CS 211D, Android Programming
Lec-52.5 P/NP Available
PREREQ: CS 111B
An advanced course in the design and development of applications for mobile devices running the Android operating system. Use the Android SDK and Android Studio to craft user interfaces (UIs) and create applications that make use of web services, long-term storage, user location, and media.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 211E, Advanced Java: Enterprise
Lec-52.5 P/NP Available
ADVISE: CS 111B and CS 211S
Advanced Java Enterprise Edition covers features of the Java language essential for building network- and web-oriented applications. Topics include networking, Java Database Connectivity (JDBC), Servlets, JavaBeans, JavaServer Pages (JSP), Remote Method Invocation (RMI), JavaScript Object Notation (JSON), and Extensible Markup Language (XML).
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 211S, Advanced Java: Standard Edition
Lec-52.5
PREREQ: CS 111B
Introduces advanced Java language features and packages that are essential for building Java Standard Edition applications. Topics include object-oriented design, updated Java features, file input and output, exception handling, collections, generics, graphical user interfaces (GUIs), functional programming, reflection, and multithreading. Helps prepare students for industry certification in Java programming.
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 212, iPhone Programming
Lec-70 P/NP Available
ADVISE: CS 112 or CS 110B or CS 111B
An advanced course in the design and development of iOS applications using Xcode and Swift. Overview of object-oriented programming in Swift. Development of user interfaces with Storyboard. Development of iOS applications using the model-view-controller paradigm, persistent storage, and networked data.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 214U, Game and Simulation Programming in Unity
Lec-70 P/NP Available
PREREQ: CS 110B or CS 111B
This course provides students with the opportunity to learn computer science concepts in the context of game and simulation development. Data algorithms, behavioral algorithms, memory management, object and class hierarchy, and Unity's architectural pattern will be presented.
CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 231, Advanced Python for Analytics
Lec-52.5 P/NP Available
PREREQ: CS 131B
Second course in the Python programming language. Emphasis is on applications in data analytics. Covers resources, practices, and modules used by successful Python programmers; debugging and testing; data serialization; and interaction with SQL databases and web services. Students write useful programs demonstrating mastery of these techniques, which are applicable to real world problems.
UC/CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 131A may be used to satisfy the prerequisite. Please contact the Computer Sciences Department for more information.
CS 256, Data Visualization
Lec-52.5 P/NP Available
PREREQ: CS 131B or CS 111B or CS 110B ADVISE: MATH 80 or ECON 5 or PSYC 5 or LALS 5 or MATH 108
Access and analyze data and produce information visualizations to discover patterns. Fundamental skills and concepts for data science applicable to scientists, journalists, business people, and database programmers. Requires programming in a language of the student's choice.
CSU
Units: 3
Credit type: Credit/Degree Applicable
CS 260A, Linux System Administration
Lec-70 P/NP Available
ADVISE: CS 160B
The administration of a Linux server. Prepares students for industry certification and entry-level employment in system administration. Topics include process control, system monitoring, filesystem preparation and maintenance, logical volumes, basic servers and the firewall, virtual machines, startup and shutdown, user accounts, periodic tasks, security issues, and installations.
CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 270, Computer Architecture with Assembly Language
Lec-70
PREREQ: CS 110B or CS 111B ADVISE: CS 160A
Basic computer organization including the von Neumann architecture, the instruction cycle, parts of a CPU (central processing unit), pipelining, memory hierarchy, and interrupt handling. Representation of numerical and non-numerical data. Translation to assembly code from high-level constructs such as if statements, loops, and function calls.
UC/CSU
Units: 4
Credit type: Credit/Degree Applicable
CS 280, Introduction to Parallel and Cloud Programming
Lec-70 Lab-17.5 P/NP Available
ADVISE: CS 110B or CS 111B or CS 131B
Programming fundamentals using multiple processors or computers to solve a problem. Mechanics of computation, multi-tasking, multi-threading, and object-oriented approaches to managing many computing elements working on the same problem. Programming for Cloud computation, Big Data access, and highly parallel computing hardware, e.g. multi-core processors and Graphics Processing Units (GPU).
CSU
Units: 4
Credit type: Credit/Degree Applicable
Quick Links
[CCSF College Catalog](https://www.ccsf.edu/academics/ccsf-catalog)
[Courses and Majors by Program/Department](https://www.ccsf.edu/ccsf-catalog/courses-by-department)
[Class Schedule](https://www.ccsf.edu/academics/class-schedule)
[Apply for Degree](https://www.ccsf.edu/admissions-recordsregistration/graduation-information)
[Apply for Certificate](https://www.ccsf.edu/admissions-recordsregistration/complete-your-certificate)
## Footer Menu
- Public Information
- [AB540](https://www.ccsf.edu/admissions-recordsregistration/residency-tuition-purposes)
- [Accreditation](https://www.ccsf.edu/about-ccsf/accreditation)
- [Federal CARES Act](https://www.ccsf.edu/paying-college/financial-aid-office/federal-cares-act)
- [Voter Approved Initiatives](https://www.ccsf.edu/about-ccsf/board-trustees/bond-measures-overview)
- [Community Development](https://www.ccsf.edu/about-ccsf/administration/academic-institutional-affairs/institutional-advancement-and-effectiveness/community-development)
- [Title IX](https://www.ccsf.edu/about-ccsf/administration/office-general-counsel/title-ix)
- [Student Success Data](https://www.ccsf.edu/about-ccsf/administration/academic-institutional-affairs/institutional-advancement-and-effectiveness/office-research-planning/research)
- [Clery Report](https://www.ccsf.edu/district-police/clery-act-and-crime-activity-log)
- [Privacy Policy](https://www.ccsf.edu/privacy-policy)
- [COVID-19 Information](https://www.ccsf.edu/covid-19-information)
- Connections
- [Board of Trustees](https://www.ccsf.edu/about-ccsf/board-trustees)
- [Bookstore](https://www.bkstr.com/ccsfstore)
- [Calendars](https://www.ccsf.edu/about-ccsf/administration/academic-institutional-affairs/instructional-calendar)
- [District Police](https://www.ccsf.edu/district-police)
- [Campus Maps](https://www.ccsf.edu/maps)
- [Contact CCSF](https://www.ccsf.edu/about-ccsf/contact-us)
- [Employee Directory](https://www.ccsf.edu/directory)
- [Library](https://library.ccsf.edu/)
- [Report a Website Issue](mailto:helpdesk@ccsf.edu)
- [Ram Resources](https://www.ccsf.edu/ram-resources)
**Academic Excellence Since 1935**
[© 2026 City College of San Francisco](https://www.ccsf.edu/copyright-support "Copyright Support")
## Footer Social Links
- [Facebook](https://www.facebook.com/citycollegeofsanfrancisco/)
- [Instagram](https://www.instagram.com/officialccsf/)
- [Twitter](https://twitter.com/officialccsf)
- [Linkedin](https://www.linkedin.com/school/city-college-of-san-francisco/)
[Back](https://www.ccsf.edu/academics/ccsf-catalog/courses-by-department/computer-science)
## [Search]()
[Apply](https://www.ccsf.edu/apply-ccsf "Apply to CCSF")
## Utility Menu
- [Ram Resources](https://www.ccsf.edu/ram-resources)
- [Events](https://www.ccsf.edu/events)
- [CANVAS](https://ccsf.instructure.com/)
- [MyCCSF](https://www.ccsf.edu/myccsf)
- [CityOnline](https://www.ccsf.edu/academics/online-learning/cityonline)
- [Learn English](https://www.ccsf.edu/academics/schools/esl-international-ed-and-transitional-studies/english-second-language)
- [Employee Services](https://www.ccsf.edu/employee-services)
## Main navigation
- [Centers](https://www.ccsf.edu/about/our-locations "CCSF Campus Centers")
- [Admissions & Registration](https://www.ccsf.edu/admissions-recordsregistration)
- Get Started
- [Apply to CCSF](https://www.ccsf.edu/apply-ccsf)
- [New Student Orientation](https://www.ccsf.edu/orientation-site/)
- [Placement](https://www.ccsf.edu/student-services/assessment-center/math-english-and-credit-esl-placement)
- [Counseling](https://www.ccsf.edu/student-services/counseling)
- [International Students](https://www.ccsf.edu/academics/schools/esl-international-ed-and-transitional-studies/office-international-programs-oip)
- [Ram Resources](https://www.ccsf.edu/ram-resources)
- Register for Classes
- [How to Register](https://www.ccsf.edu/admissions-recordsregistration/register-classes)
- [Important Dates](https://www.ccsf.edu/admissions-recordsregistration/important-dates)
- [Class Schedules](https://www.ccsf.edu/academics/class-schedule)
- [myRAM Portal](https://ramid.ccsf.edu/)
- Campus Offices
- [Admissions & Records/Registration](https://www.ccsf.edu/admissions-recordsregistration)
- [Noncredit Admissions/Registration](https://www.ccsf.edu/admissions-recordsregistration/noncredit-admission)
- [Assessment Center](https://www.ccsf.edu/student-services/assessment-center)
- [Outreach & Recruitment](https://www.ccsf.edu/student-services/outreach-recruitment)
- [Academics](https://www.ccsf.edu/academics)
- Programs
- [Degree, Certificate, & Transfer](https://www.ccsf.edu/degrees-certificates)
- [Career Education](https://www.ccsf.edu/academics/career-education)
- [Online Learning](https://www.ccsf.edu/academics/online-learning)
- [High School Programs](https://www.ccsf.edu/academics/high-school-programs)
- Growth and Enrichment
- [Professional Growth](https://www.ccsf.edu/professional-growth)
- [Personal Enrichment](https://www.ccsf.edu/academics/personal-enrichment)
- [Adult Education](https://www.ccsf.edu/academics/adult-education)
- [Learning Communities](https://www.ccsf.edu/academics/learning-communities)
- [Contract and City Extension](https://www.ccsf.edu/academics/contract-education-and-extension-programs)
- Resources
- [Schools & Departments](https://www.ccsf.edu/academics/schools)
- [Schedule of Classes](https://www.ccsf.edu/academics/class-schedule)
- [Semester Calendars](https://www.ccsf.edu/admissions-recordsregistration/important-dates)
- [College Catalog](https://www.ccsf.edu/academics/ccsf-catalog)
- [Library](https://library.ccsf.edu/)
- [Paying For College](https://www.ccsf.edu/paying-college)
- Aid
- [Apply for Financial Aid](https://www.ccsf.edu/paying-college/financial-aid-office/how-apply-financial-aid)
- [Types of Aid](https://www.ccsf.edu/paying-college/financial-aid-office/financial-aid-programs)
- [Free City](https://www.ccsf.edu/free-city)
- Costs
- [Tuition & Fees](https://www.ccsf.edu/admissions-recordsregistration/tuition-and-fees)
- [Pay Your Fees](https://www.ccsf.edu/admissions-recordsregistration/billing-payments-refunds)
- [California Residency](https://www.ccsf.edu/admissions-recordsregistration/residency-tuition-purposes)
- Campus Offices
- [Financial Aid Office](https://www.ccsf.edu/paying-college/financial-aid-office)
- [Scholarship Office](https://www.ccsf.edu/student-services/scholarship-office)
- [Office of Student Employment](https://www.ccsf.edu/paying-college/office-campus-student-employment)
- [Student Services](https://www.ccsf.edu/student-services)
- Student Services
- [Counseling](https://www.ccsf.edu/student-services/counseling)
- [Career Services](https://www.ccsf.edu/academics/career-education/career-services)
- [Parenting Students](https://www.ccsf.edu/student-services/resource-centers/family-resource-center)
- [Student Affairs](https://www.ccsf.edu/about-ccsf/administration/student-affairs)
- [Student Equity](https://www.ccsf.edu/about-ccsf/administration/student-affairs/student-equity)
- [Veterans Services](https://www.ccsf.edu/student-services/support-programs/veterans-resource-center-services)
- Academic Help
- [Library](https://library.ccsf.edu/)
- [Support Programs](https://www.ccsf.edu/student-services/support-programs)
- [Transfer Center](https://www.ccsf.edu/student-services/counseling/transfer-center)
- [Tutoring](https://www.ccsf.edu/student-services/tutoring)
- [Computer Labs](https://www.ccsf.edu/computer-labs)
- [Student Completion](https://www.ccsf.edu/student-services/student-completion-department)
- Wellness
- [Basic Needs](https://www.ccsf.edu/about-ccsf/administration/student-affairs/student-equity/sparkpoint-ccsf-basic-needs-center)
- [Health Services](https://www.ccsf.edu/student-services/student-health-services)
- [Food on Campus](https://www.ccsf.edu/student-services/food-campus)
- [Wellness/Fitness Center](https://sites.google.com/mail.ccsf.edu/ccsf-fitness-center/home?authuser=0)
- [Campus Life](https://www.ccsf.edu/campus-life)
- Get Involved
- [Student Life & Leadership](https://www.ccsf.edu/campus-life/student-life-and-leadership)
- [CCSF Athletics](https://ccsfathletics.com/landing/index)
- [Associated Students](https://www.ccsf.edu/campus-life/student-life-and-leadership/associated-students)
- [Clubs & Organizations](https://www.ccsf.edu/campus-life/student-life-and-leadership/inter-club-council)
- On Campus
- [New Construction](https://www.ccsf.edu/about-ccsf/administration/finance-and-administration/facilitiesbuildings-and-grounds/new-construction)
- [Resource Centers](https://www.ccsf.edu/student-services/resource-centers)
- [Bookstore](https://www.bkstr.com/ccsfstore/home)
- [Parking](https://www.ccsf.edu/about-ccsf/administration/finance-and-administration/business-services-dbo/bursars-office/student-parking-permits)
- [District Police](https://www.ccsf.edu/district-police)
- Happening at CCSF
- [Events](https://www.ccsf.edu/events)
- [News](https://www.ccsf.edu/news)
- [The Arts at CCSF](https://www.ccsf.edu/campus-life/arts-ccsf)
- [Tour of Art Map](https://www.ccsf.edu/campus-life/tour-art-map)
- [Commencement](https://www.ccsf.edu/about-ccsf/administration/student-affairs/ccsf-commencement)
- [Campus Tours](https://www.ccsf.edu/student-services/outreach-recruitment/visit-campus)
- [About](https://www.ccsf.edu/about-ccsf)
- About
- [Overview of CCSF](https://www.ccsf.edu/about-ccsf)
- [Mission and Vision](https://www.ccsf.edu/about-ccsf/city-colleges-mission-and-vision)
- [History of City College](https://www.ccsf.edu/about-ccsf/history-city-college)
- [Centers](https://www.ccsf.edu/about/our-locations)
- [Accreditation](https://www.ccsf.edu/about-ccsf/accreditation)
- Leadership
- [Board of Trustees](https://www.ccsf.edu/about-ccsf/board-trustees)
- [Participatory Governance](https://www.ccsf.edu/about-ccsf/participatory-governance)
- [Administration](https://www.ccsf.edu/about-ccsf/administration)
- Information
- [Support CCSF](https://www.ccsf.edu/about-ccsf/administration/academic-institutional-affairs/institutional-advancement-and-effectiveness/community-development)
- [Marketing & Public Information](https://www.ccsf.edu/about-ccsf/marketing-and-public-information)
- [Campus Map](https://www.ccsf.edu/about/our-locations/map)
- [Contact CCSF](https://www.ccsf.edu/about-ccsf/contact-us) |
| Readable Markdown | ### Computer Science
CS 10, Introduction to Computer Science Lec-70 P/NP Available PREREQ: Intermediate algebra or higher ADVISE: Readiness for college-level English or ESL 188 Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to solve problems with computers by designing and implementing algorithms, and how computing fits into larger social issues. CSU Units: 4 Credit type: Credit/Degree Applicable
CS 110A, Introduction to Programming and Computer Science Lec-70 ADVISE: (Intermediate algebra or higher) and (Readiness for college-level English or ESL 188) Broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to design and implement algorithms using a programming language, and how computing fits into larger social issues. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 110B, Programming Fundamentals: C++ Lec-70 ADVISE: CS 10 or CS 110A or MATH 108 This course covers programming fundamentals using the C++ language, using procedural and object-oriented approaches to problem solving. Topics include structured elements, classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, pointers, files, design and implementation of abstract data types, in numerical and non-numerical applications. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 110C, Data Structures and Algorithms: C++ Lec-70 PREREQ: CS 110B The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 111B, Programming Fundamentals: Java Lec-70 ADVISE: CS 10 or CS 110A or MATH 108 This course covers programming fundamentals using the Java language, emphasizing an object-oriented approach to problem solving. Topics include classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, files, design and implementation of abstract data types, in numerical and non-numerical applications. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 111C, Data Structures and Algorithms: Java Lec-70 PREREQ: CS 111B. The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 131B, Programming Fundamentals: Python Lec-70 P/NP Available ADVISE: CS 10 or CS 110A or MATH 108 This course covers programming fundamentals using the Python language. Python is interpreted, interactive, and object-oriented. Recommended for general-purpose programming, system administration, or web programming. Topics include classes, objects, inheritance, polymorphism, design and implementation of abstract data types, dictionaries, lists, list comprehensions, files, modules, and mutable and immutable types. UC/CSU Units: 4 Credit type: Credit/Degree Applicable Formerly CS 131A
CS 150A, Introduction to SQL Databases and NoSQL Lec-52.5 P/NP Available A course in the use of SQL database management systems to create, query, and update database tables. The course covers both the syntax and the logic of the major features of the SQL language. It also covers a brief overview of NoSQL (Not Only SQL) data sources such as JSON and MongoDB. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 155B, MySQL Database Administration Lec-52.5 P/NP Available ADVISE: CS 150A and CS 160B Students install and configure a MySQL server and create and manage user accounts. Issues pertaining to optimization, security, privileges, tuning, troubleshooting, and performing upgrades are studied and practiced. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 155P, MySQL Programming Lec-52.5 P/NP Available ADVISE: CS 150A An advanced course in the use of MySQL techniques to process database objects. Design and develop MySQL program units: stored procedures, functions, and database triggers. Work with dynamic SQL and with XML data. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 160A, Introduction to Unix/Linux Lec-35 P/NP Available Introduction to using the Unix/Linux operating system. Unix/Linux file management and common text processing utilities including searching. UC/CSU Units: 2 Credit type: Credit/Degree Applicable
CS 160B, Unix/Linux Shell Scripting Lec-35 P/NP Available ADVISE: CS 160A Analyze, design, write, test, and debug shell scripts. Students learn basic shell scripting techniques and develop scripting skills needed for Unix/Linux System Administration courses. The bash shell is used. UC/CSU Units: 2 Credit type: Credit/Degree Applicable
CS 177, Software Engineering Lec-52.5 P/NP Available PREREQ: CS 110B or CS 111B or CS 131B Introduction to principal software engineering processes and pitfalls. Focus on users, development methodologies, testing, and tools. Use of techniques including version control, functional specification, Agile and Test-Driven Development. UC/CSU Units: 3 Credit type: Credit/Degree Applicable
CS 178, Build Automation for DevOps & QA Lec-52.5 Lab-17.5 P/NP Available ADVISE: CS 132A and CS 177 and CS 260A Development and Operations (DevOps) is the use of build automation tools to automate provisioning, configuration, monitoring, and management of data centers and networks. These same tools are used to automatically build and test software for Quality Assurance (QA). Design tests and use tools like Jenkins to execute planned systematic actions that provide confidence in a software product under development, and its infrastructure. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 185, Exploring Game Worlds Lec-52.5 P/NP Available ADVISE: VMD 105 Utilizing the Unity game engine and a range of additional tools, this course is an introduction to the career opportunities in the games industry. Students will learn how individual games are made, distributed, and sold via both physical media and online. Virtual reality and augmented reality will also be examined. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 195, Software Development Practicum Lec-52.5 field trips P/NP Available PREREQ: CS 110B or CS 111B or CS 131B or CS 150A or CS 177 Integrate and apply knowledge gained through CCSF coursework in a team-based environment. Work on realistic projects with input invited from local employers. Develop, design, and program a professional software project in a team environment. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 197P, Technical Interview Preparation Lec-17.5 P/NP Only PREREQ: Completion of or concurrent enrollment in: CS 110C or CS 111C Preparation for programming job interviews: problem-solving and algorithm questions solved on a white board or online chat, approaches to technical interviews, and solving common kinds of problems. Requires prior experience programming Data Structures and Algorithms in C++, Java, or similar. CSU Units: 1 Credit type: Credit/Degree Applicable
CS 197V, Version Control and Online Code Repositories Lec-17.5 P/NP Only ADVISE: CS 10 or MATH 108 or prior programming experience Using version control software such as Git and online code repositories such as GitHub. Use these systems for team collaboration in software development, and to present work online as a portfolio for job applications. Set up an online code repository as a portfolio for employers to assess what kind of programming experience an applicant has. CSU Units: 1 Credit type: Credit/Degree Applicable
CS 198, Industry Internship P/NP Available Provides students with the opportunity to earn course and certificate credit for working in the field, in a supervised setting in the ICT/Computer Science industry. Internships include software quality assurance (QA), junior developer, database programmer or administrator, Linux system administrator, etc. One unit of credit is earned for 54 hours of unpaid or paid work. CSU Units: 1 Credit type: Credit/Degree Applicable
CS 199, Independent Study Lab-52.5 to 157.5 P/NP Available ADVISE: CS 110C or CS 111C or CS 160B or CS 177 or CS 211S or CS 211D or CS 212 or CS 214U or CS 231 or CS 232 or CS 256 or CS 280 Large-scale individual projects in computer science to be defined in cooperation with an instructor/supervisor. The project must be in in an area not covered by other course offerings. The student is responsible for the project definition and completion under the guidance of an instructor/supervisor. CSU Units: 1 Credit type: Credit/Degree Applicable UC upon review
CS 211D, Android Programming Lec-52.5 P/NP Available PREREQ: CS 111B An advanced course in the design and development of applications for mobile devices running the Android operating system. Use the Android SDK and Android Studio to craft user interfaces (UIs) and create applications that make use of web services, long-term storage, user location, and media. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 211E, Advanced Java: Enterprise Lec-52.5 P/NP Available ADVISE: CS 111B and CS 211S Advanced Java Enterprise Edition covers features of the Java language essential for building network- and web-oriented applications. Topics include networking, Java Database Connectivity (JDBC), Servlets, JavaBeans, JavaServer Pages (JSP), Remote Method Invocation (RMI), JavaScript Object Notation (JSON), and Extensible Markup Language (XML). UC/CSU Units: 3 Credit type: Credit/Degree Applicable
CS 211S, Advanced Java: Standard Edition Lec-52.5 PREREQ: CS 111B Introduces advanced Java language features and packages that are essential for building Java Standard Edition applications. Topics include object-oriented design, updated Java features, file input and output, exception handling, collections, generics, graphical user interfaces (GUIs), functional programming, reflection, and multithreading. Helps prepare students for industry certification in Java programming. UC/CSU Units: 3 Credit type: Credit/Degree Applicable
CS 212, iPhone Programming Lec-70 P/NP Available ADVISE: CS 112 or CS 110B or CS 111B An advanced course in the design and development of iOS applications using Xcode and Swift. Overview of object-oriented programming in Swift. Development of user interfaces with Storyboard. Development of iOS applications using the model-view-controller paradigm, persistent storage, and networked data. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 214U, Game and Simulation Programming in Unity Lec-70 P/NP Available PREREQ: CS 110B or CS 111B This course provides students with the opportunity to learn computer science concepts in the context of game and simulation development. Data algorithms, behavioral algorithms, memory management, object and class hierarchy, and Unity's architectural pattern will be presented. CSU Units: 4 Credit type: Credit/Degree Applicable
CS 231, Advanced Python for Analytics Lec-52.5 P/NP Available PREREQ: CS 131B Second course in the Python programming language. Emphasis is on applications in data analytics. Covers resources, practices, and modules used by successful Python programmers; debugging and testing; data serialization; and interaction with SQL databases and web services. Students write useful programs demonstrating mastery of these techniques, which are applicable to real world problems. UC/CSU Units: 3 Credit type: Credit/Degree Applicable CS 131A may be used to satisfy the prerequisite. Please contact the Computer Sciences Department for more information.
CS 256, Data Visualization Lec-52.5 P/NP Available PREREQ: CS 131B or CS 111B or CS 110B ADVISE: MATH 80 or ECON 5 or PSYC 5 or LALS 5 or MATH 108 Access and analyze data and produce information visualizations to discover patterns. Fundamental skills and concepts for data science applicable to scientists, journalists, business people, and database programmers. Requires programming in a language of the student's choice. CSU Units: 3 Credit type: Credit/Degree Applicable
CS 260A, Linux System Administration Lec-70 P/NP Available ADVISE: CS 160B The administration of a Linux server. Prepares students for industry certification and entry-level employment in system administration. Topics include process control, system monitoring, filesystem preparation and maintenance, logical volumes, basic servers and the firewall, virtual machines, startup and shutdown, user accounts, periodic tasks, security issues, and installations. CSU Units: 4 Credit type: Credit/Degree Applicable
CS 270, Computer Architecture with Assembly Language Lec-70 PREREQ: CS 110B or CS 111B ADVISE: CS 160A Basic computer organization including the von Neumann architecture, the instruction cycle, parts of a CPU (central processing unit), pipelining, memory hierarchy, and interrupt handling. Representation of numerical and non-numerical data. Translation to assembly code from high-level constructs such as if statements, loops, and function calls. UC/CSU Units: 4 Credit type: Credit/Degree Applicable
CS 280, Introduction to Parallel and Cloud Programming Lec-70 Lab-17.5 P/NP Available ADVISE: CS 110B or CS 111B or CS 131B Programming fundamentals using multiple processors or computers to solve a problem. Mechanics of computation, multi-tasking, multi-threading, and object-oriented approaches to managing many computing elements working on the same problem. Programming for Cloud computation, Big Data access, and highly parallel computing hardware, e.g. multi-core processors and Graphics Processing Units (GPU). CSU Units: 4 Credit type: Credit/Degree Applicable |
| Shard | 153 (laksa) |
| Root Hash | 16336831164612503753 |
| Unparsed URL | edu,ccsf!www,/academics/ccsf-catalog/courses-by-department/computer-science s443 |