Computer Science (CS)

Credit Courses

CS 101 Computer Concepts (4 Units)

Skills Advisories: MATH 95 and Eligibility for ENG 103.

Hours: 72 (72 lecture)

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.

SBCC General Education: SBCCGE Area D2

Transfer Information: CSU Transferable, UC Transferable

UC Transfer Limit: CS 101 combined with CIS 101: maximum credit, one course.

CS 104 Introduction to Programming (3 Units)

Same as: CS 200

Skills Advisories: Eligibility for ENG 98 and 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 105 Theory and Practice I (3 Units)

Same as: CS 135

Course Advisories: CS 101 or CS 200.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

C-ID: COMP 122.

CS 106 Theory and Practice II (3 Units)

Prerequisites: CS 105.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 107 Computer Architecture and Organization (3 Units)

Prerequisites: CS 105.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

C-ID: COMP 142.

CS 108 Discrete Structures (4 Units)

Prerequisites: MATH 150.

Skills Advisories: Eligibility for ENG 103.

Hours: 72 (72 lecture)

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.

Transfer Information: CSUGE Area B4, IGETC Area 2A, CSU Transferable, UC Transferable

CS 111 HTML And Webmastering (3 Units)

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable

CS 114 Intermediate Python (3 Units)

Course Advisories: CS 104 or CS 105.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 115 Javascript Programming (3 Units)

Course Advisories: CS 105.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

Project-oriented introduction to JavaScript programming and frameworks. Application domains include client-side web applications, server side programming and games.

Transfer Information: CSU Transferable

CS 116 Web Server Programming (3 Units)

Course Advisories: CS 111 or CS 120.

Skills Advisories: Eligibility for ENG 110 or ENG 110H.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable

CS 123 Android Programming (1.5 Unit)

Course Advisories: CS 120 or 125.

Skills Advisories: Eligibility for ENG 110 or 110H.

Hours: 42 (18 lecture, 24 lab)

Project-based course covering the development of applications for the Android platform. 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.

Transfer Information: CSU Transferable, UC Transferable

UC Transfer Limit: No credit for CS 123 unless taken subsequent to or cuoncurrently with CS 120.

CS 130 Introduction to the Linux Operating System (2.5 Units)

Course Advisories: CS 101.

Skills Advisories: Eligibility for ENG 103 and proficiency in MATH 4 or MATH 41.

Hours: 63 (36 lecture, 27 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 132 Digital Logic Design (3 Units)

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

Proficiency in MATH 104 or 107 or 111. 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.

Transfer Information: CSU Transferable, UC Transferable

CS 133 Introduction to Programming for Engineers (3 Units)

Course Advisories: CS 100 or CIS 101.

Skills Advisories: Eligibility for ENG 110 or ENG 110H and MATH 107.

Hours: 90 (36 lecture, 54 lab)

General philosophy of programming for engineering majors. Students are introduced to a modern programming language (Matlab). Specific areas of study include algorithms, basic decision structures, arrays, matrices and graphing.

Transfer Information: CSU Transferable, UC Transferable

CS 135 Programming Fundamentals (3 Units)

Same as: CS 105

Course Advisories: CS 101 or CS 200.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 137 C Programming (3 Units)

Course Advisories: CS 107 or CS 105.

Skills Advisories: Eligibility for ENG 103.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 140 Object-Oriented Programming Using C++ (4 Units)

Course Advisories: CS 120 or CS 137.

Skills Advisories: Eligibility for ENG 103.

Hours: 108 (54 lecture, 54 lab)

Study of the object-oriented programming paradigm, including objects, messages, encapsulation, classes, inheritance and implementation issues. Implementations written in the object-oriented language C++.

Transfer Information: CSU Transferable, UC Transferable

CS 165 Software Design Patterns (1.5 Unit)

Course Advisories: CS 105 or CS 140.

Skills Advisories: Eligibility for ENG 110 or ENG 110H.

Hours: 45 (18 lecture, 27 lab)

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.

Transfer Information: CSU Transferable

CS 180 Software Engineering With UML (3 Units)

Course Advisories: CS 105.

Skills Advisories: Eligibility for ENG 110 or ENG 110H.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 187 iOS Programming (3 Units)

Course Advisories: CS 105.

Skills Advisories: Eligibility for ENG 110 or 110H.

Hours: 90 (36 lecture, 54 lab)

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.

Transfer Information: CSU Transferable, UC Transferable

CS 189 Programming Practicum (1 Unit)

Hours: 18 (18 lecture)

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. There is an emphasis on leadership skills, team dynamics, and team problem solving. Course restricted to 3 repetitions

Transfer Information: CSU Transferable

CS 200 Introduction to Programming (4 Units)

Same as: CS 104

Skills Advisories: Eligibility for ENG 98 and 103.

Hours: 72 (72 lecture)

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.