Credit
22 courses · Santa Barbara City College · 2026-2027 Catalog
Classes: Fall 2026 · Spring 2027
CS 101 Computer Concepts
- Units
- 4
- Hours
- 72 (72 lecture)
- Transfers to
- CSU, UC (with unit limitation)
Survey of the concepts of computer hardware and software, with emphasis on the latest technologies and programming. Topics include, but are not limited to, the Internet, productivity applications, databases, programming and numbering systems. Suitable for all majors and is a recommended first course for Computer Science majors.
CS 104 Introduction to Programming
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Transfers to
- CSU, UC
- C-ID
- COMP 112
Exposes students to the fundamental concepts of programming using an object-oriented language and is intended as an introductory-level programming course. Ideal for beginners and also serves as the first course in a sequence that is compliant with the standards of the Association for Computing Machinery.
CS 105 Programming Methodology
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 101 or CS 104.
- Transfers to
- CSU, UC
- C-ID
- COMP 122
Study of fundamental programming concepts. Topics include structured and OOP programming, definition of data types, nested IFs, looping techniques, CASE statements, procedures, functions, value and address parameters, file structures, dynamic list structures and recursion.
CS 106 Data Structures and Algorithms
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Prerequisite
- CS 105.
- Transfers to
- CSU, UC
- C-ID
- COMP 132
Study of data structures and algorithms. Design, coding and testing of linked lists, trees, queues, stacks, hash tables, and other dynamic data structures, as well as searching and sorting algorithms. Time and space analysis of data structures and algorithms. Programs are written in the Java language.
CS 107 Computer Architecture and Organization
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Prerequisite
- CS 105.
- Transfers to
- CSU, UC
- C-ID
- COMP 142
The organization and behavior of real computer systems at the assembly-language level. The mapping of statements and constructs in a high-level language into sequences of machine instructions is studied, as well as the internal representation of simple data types, pointers, structures, and non-numeric data. Numerical computation is also examined.
CS 108 Discrete Structures
- Units
- 4
- Hours
- 72 (72 lecture)
- Prerequisite
- CS 105.
- Advisory
- ENG 103.
- Transfers to
- CSU, UC
- C-ID
- COMP 152
Introduction to the study of discrete objects, with a focus on applications in computer science. Topics include logic and proofs, sets, functions, sequences, sums, algorithms, integers, induction, recursion, counting, relations, graphs and trees, and discrete probability.
CS 111 HTML And Webmastering
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Transfers to
- CSU
Project-oriented course focusing on the creation of web pages and the technology behind the web. Includes Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), Forms, Extensible Markup Language (XML), Common Gateway Interface (CGI) and Content Management Systems (CMS). Students must also enroll in a CS 111 lab.
CS 114 Intermediate Python
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 104 or CS 105.
- Transfers to
- CSU, UC
Project-oriented exploration of intermediate aspects of the Python programming language. Teaches "pythonic" programming while exploring intermediate level topics like developing and deploying python programs, interacting with local and remote resources, web application development, and aspects of object-oriented and functional programming. It also features problem-solving with python across multiple domains (e.g. neural networks, graphics, media computation, mapping and data visualization), software engineering principles and debugging techniques.
CS 115 Javascript Programming
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 105.
- Transfers to
- CSU, UC
Project-oriented introduction to JavaScript programming and frameworks. Application domains include client-side web applications, server side programming and games.
CS 116 Web Server Programming
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 111 or CS 120.
- Transfers to
- CSU
Project-oriented class that explores programming a Web server using PERL, Active Server Pages (ASP), Personal Home Pages (PHP) and Python, with an emphasis on PERL and PHP. Class develops Common Gateway Interface (CGI) scripts and Internet applications using these common tools. Includes such topics as e-commerce, security, browser independence and database integration.
CS 118 Data Science for All
- Units
- 4
- Hours
- 108 (54 lecture, 54 lab)
- Prerequisite
- MATH 107 or equivalent based on SBCC's Assessment Services placement via multiple measures.
- Transfers to
- CSU, UC
Introduction to data science using real-world data sets from a variety of disciplines while also presenting inherent uncertainties and issues associated with exploring data. Exposes students to foundational statistical concepts and inferential thinking by learning computation methods in a commonly used programming language such as Python.
CS 123 Android Programming
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 105 - Programming Methodology.
- Transfers to
- CSU, UC (with unit limitation)
A project-based course covering the development of applications for the Android platform using the Kotlin programming language. Students use state-of-the-art tools and frameworks to build and analyze programs that incorporate user interfaces, web services, animation, multimedia, and location awareness.
CS 130 Introduction to the Linux Operating System
- Units
- 2.5
- Hours
- 63 (36 lecture, 27 lab)
- Advisory
- CS 101.
- Transfers to
- CSU, UC
Survey of the Unix/Linux operating system and related subject matter. Topics include Unix/Linux architecture, commands, file system, processes, and bash shell environment. Lectures and computer laboratory exercises provide a moderate-depth understanding of Unix/Linux architecture and commands from a computer science perspective.
CS 132 Digital Logic Design
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Transfers to
- CSU, UC
Introduction to digital systems and logic design. Logic of propositions, boolean algebra, minterm and maxterm expansions, Karnaugh maps, Quine-McCluskey methods, multi-level circuits, combinational and sequential circuit design and timing diagrams, multiplexers, decoders, programmable logic devices, latches and flip-flops, finite state machines, registers and counters, register transfer language, simulation and debugging.
CS 133 Programming for Engineers
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Prerequisite
- MATH 150.
- Transfers to
- CSU, UC
- C-ID
- ENGR 220
Students learn to use a modern programming environment (e.g. MATLAB) to become proficient in computer-based problem-solving methods that are relevant to science and engineering. Students are introduced to the fundamentals of procedural and object-oriented programming, numerical analysis, and data structures. Examples and assignments are drawn from practical applications in engineering, physics, and mathematics.
CS 134 Version Control with Git
- Units
- 2.5
- Hours
- 62 (36 lecture, 26 lab)
- Transfers to
- CSU
Study of a version control system named Git. Topics include basic and advanced Git command-line operations, internals, visual GUI-based tools, and repository hosting (e.g. GitHub). The course also covers other related topics, including DevOps, continuous integration, and examines open-source libraries used in fields such as Data Science. Assignments and laboratory exercises are drawn from applications in software development, and provide an in-depth understanding of how to manage files in a repository shared by multiple users.
CS 137 C Programming
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 105.
- Transfers to
- CSU, UC
Study of the programming language C. Definition of data types, loop controls structures, functions, parameter passing, pointers, recursion, records data structures, and the UNIX operating system.
CS 140 Object-Oriented Programming Using C++
- Units
- 4
- Hours
- 108 (54 lecture, 54 lab)
- Prerequisite
- CS 105 or CS 137.
- Transfers to
- CSU, UC
Provides in-depth understanding of fundamentals of object-oriented programming methodology, such as message-passing, data-hiding, encapsulation, class and inheritance, using C++.
CS 165 Software Design Patterns
- Units
- 1.5
- Hours
- 45 (18 lecture, 27 lab)
- Advisory
- CS 105.
- Transfers to
- CSU, UC
Introduction to software design patterns and their use in object-oriented systems. Creational, structural and behavioral patterns are investigated. Real world examples by acknowledged experts are studied. Students strengthen their software design skills by applying patterns in course projects. State of the art development tools are used throughout the course.
CS 180 Software Engineering With UML
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 105.
- Transfers to
- CSU, UC
Study of software engineering and component-based design using the Unified Modeling Language (UML). Students employ a standard software engineering process that includes requirements analysis, design, implementation and testing. Students learn about various UML diagrams and use them to express software requirements and designs. The course investigates rapid application development using state-of-the-art tools and component libraries.
CS 187 iOS Programming
- Units
- 3
- Hours
- 90 (36 lecture, 54 lab)
- Advisory
- CS 105.
- Transfers to
- CSU, UC
Project-oriented course in developing Objective-C based native applications for the iOS devices (e.g. iPhone, iPad). Covers development tools (Xcode, Interface Builder, Instruments). Objective-C language, Cocoa and Cocoa Touch frameworks, as well as deployment to the App store.
CS 189 Competitive Programming
- Units
- 1
- Hours
- 18 (18 lecture)
- Transfers to
- CSU
Programming course focused on rapid team-based problem solving techniques. Problems are rapidly classified based on difficulty and the ability to partition the problem across the team. Algorithms are developed to solve those problems using standard tools and libraries. Emphasis on leadership skills, team dynamics, and team problem solving. Course restricted to 3 repetitions