🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 153 (from laksa119)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
3 days ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.1 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://www.ccsf.edu/academics/ccsf-catalog/courses-by-department/computer-science
Last Crawled2026-04-15 04:41:30 (3 days ago)
First Indexed2020-08-26 21:36:54 (5 years ago)
HTTP Status Code200
Meta TitleComputer Science | CCSF
Meta DescriptionProgramsMajorsComputer Science (AS_T)Computer Science (AS)CertificatesAndroid App ProgrammingBuild Automation for DevOps & QA
Meta Canonicalnull
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) [![Home](https://www.ccsf.edu/themes/custom/ccsf/assets/images/logo.png)](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
Shard153 (laksa)
Root Hash16336831164612503753
Unparsed URLedu,ccsf!www,/academics/ccsf-catalog/courses-by-department/computer-science s443