COMPUTER SCIENCE (CS)
DIVISION: Career Technical Education
CS 001 INTRODUCTION TO COMPUTERS AND PROGRAMMING
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 112
Entry-level programming, designed for students with no prior programming experience. History of computing, basic computer operation, the notion of an algorithm, variable definitions, expressions, input/output, branches, loops, functions, parameters, selection, iterative techniques, arrays, strings. For non-engineering and non-science majors or for students considering taking CS 002 but needing additional preparation. Total of 36 hours lecture and 54 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 002 FUNDAMENTALS OF COMPUTER SCIENCE I
4 unit
Transfer Credit: CSU; UC
C-ID: COMP 122
Problem solving through structured computer programming of algorithms using the basics of the C++ object-oriented language. Topics include: variables, expressions, input/output (I/O), branches, looping constructs, functions, argument passing, single and double dimensional arrays, strings, file I/O, C++ vectors, software design principles, testing, and debugging techniques. Programming projects, at least 600 lines of code. For STEM Majors, but open to all qualified students. Total of 54 hours lecture and 72 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 003A FUNDAMENTALS OF COMPUTER SCIENCE II (C++)
3 unit
C-ID: COMP 122
Prerequisite(s): CS 002
Corequisite(s): CS 003AL
Second programming course in the series of Fundamentals of Computer Science courses. Continuation of the C++ language including: classes, structures and unions, overloaded operators and friend functions, pointers and dynamic arrays, function pointers, functors, abstract data types and container objects polymorphisms, inheritance and multiple inheritance, templates and the Standard Template Library, exception handling, namespaces and separate compilation, recursion, creation of libraries, advanced software design, testing, and debugging techniques. For STEM Majors: Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture. Transfer Credit: CSU; UC
Grade Mode: Audit, Letter Grade
CS 003AL FUNDAMENTALS OF COMPUTER SCIENCE II (C++) LAB
1 unit
Transfer Credit: CSU; UC
Corequisite(s): CS 003A
Hands-on computer programming of CS 003A - Fundamentals of Computer Science II (C++) topics. Implementation of static and dynamic templated classes within a inheritance hierarchy, overloaded operators, virtual functions, polymorphism, basic data structures such as stacks, queues, and linked lists. This laboratory course is intended for STEM majors in Computer Science, Computer Engineering, Mathematics, and Science, but is open to all qualified students. Total of 72 hours laboratory.
Grade Mode: Letter Grade
CS 003B FUNDAMENTALS OF COMPUTER SCIENCE (JAVA)
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 122
Corequisite(s): CS 003BL
Recommended Preparation: CS 001
Programming course in JAVA. Topics include: data types, variables, control structures, GUI and Object-Oriented Design, user-defined methods, method overloading, user-defined classes, and abstract data types, accessor and mutator methods, collections, single and multidimensional arrays, polymorphisms, inheritance, exception handling, recursion, searching and sorting algorithms, creation of libraries, advanced software design, testing, and debugging techniques web-based applets. For STEM Majors: Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 003BL FUNDAMENTALS OF COMPUTER SCIENCE (JAVA) LAB
1 unit
Transfer Credit: CSU; UC
Corequisite(s): CS 003B
Hands-on computer programming of CS 003B - Fundamentals of Computer Science (JAVA) topics. Implementation of control structures, GUI and Object-Oriented Design, method overloading, user- defined classes, polymorphisms, inheritance, and exception handling using the JAVA programming language. This laboratory course is intended for STEM Majors in Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 72 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 003C FUNDAMENTALS OF COMPUTER SCIENCE (PYTHON)
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 122
Corequisite(s): CS 003CL
Recommended Preparation: CS 001
Programming course in Python. Topics include data types, variables, control structures, Python Objects and Oriented Design, standard and advanced mathematical libraries, tool-chain use and Python Frameworks, user-defined classes, and abstract collections, single and multidimensional arrays, Python lists, tuples, collections, and dictionaries. For STEM Majors: Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture.
Grade Mode: Letter Grade, Pass/No-Pass
CS 003CL FUNDAMENTALS OF COMPUTER SCIENCE (PYTHON) LAB
1 unit
Transfer Credit: CSU; UC
Corequisite(s): CS 003C
Hands-on computer programming of CS 003C - Fundamentals of Computer Science (Python) topics. Implementation of control structures, GUI and Object-Oriented Design, method overloading, user-defined classes, polymorphisms, inheritance, and exception handling using the Python programming language. This laboratory course is for STEM Majors: Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 72 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 006 INTRODUCTION TO APPLIED LOGIC DESIGN
4 unit
Transfer Credit: CSU; UC
Prerequisite(s): CS 002
Characteristics of digital systems, truth functions, Boolean algebra, switching devices, minimization of Boolean functions, single and multiple output circuits, Mealy and Moore networks. Karnaugh maps, state tables. Design and optimization of combinational circuits and sequential circuits. Recommended completion of or concurrent enrollment in MATH 022. For Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 008 FUNDAMENTALS OF COMPUTER SCIENCE III (C++) WITH DATA STRUCTURES
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 132
Prerequisite(s): CS 003A
Corequisite(s): CS 008L
Recommended Preparation: Proficiency in the C++ programming language at the intermediate/advanced level
Third programming course in the series of introduction to computer science courses. Data structure concepts in designing and implementing algorithms taught in the C++ programming language. Topics include: recursion, lists, arrays, binary trees, b-trees, AVL trees, heaps, stacks, queues, priority queues, hashing and graphs. Searching, sorting and merging algorithms. Advanced concepts and manipulation of C++ pointers, pointers to functions in C++ class members, functors and advanced pointer arithmetic. At least two programming assignments of 1,500 to 2,500 lines of C++ code will be required of each individual student. At least one two-student team project of 3,000 to 4,000 lines of code will be required. For STEM Majors: Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture.
Grade Mode: Letter Grade, Pass/No-Pass
CS 008L FUNDAMENTALS OF COMPUTER SCIENCE III (C++) with DATA STRUCTURES LAB
1 unit
Transfer Credit: CSU; UC
Corequisite(s): CS 008
Recommended Preparation: Proficiency in the C++ programming language at the intermediate/advanced level
Hands-on computer programming of CS 008 - Fundamentals of Computer Science III (C++) with Data Structures topics. Implementation of data structures, search and sort algorithms using the C++ programming language, including: recursion, lists, arrays, binary trees, b-trees, AVL trees, heaps, stacks, queues, priority queues, hashing and graphs. This laboratory course is intended for STEM Majors in Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 72 hours lab.
Grade Mode: Letter Grade
CS 018 UNIX SCRIPTING WITH BASH
3 unit
Transfer Credit: CSU; UC
Fundamentals of the Unix operating system and Bash scripting, including command line interpreter to use shell commands and shell programming to use the features of the Bash shell to automate complicated tasks in the system. For Computer Science, Computer Engineering, Mathematics, and STEM majors, but open to all qualified students. Total of 36 hours lecture and 54 hours laboratory.
Grade Mode: Audit, Letter Grade
CS 020 INDEPENDENT STUDY
1 unit
Transfer Credit: CSU
Independent study provides individual students challenging and in-depth study on approved topics within computer science. It is expected that the study will be of an advanced nature and extend beyond content scope of existing courses. Interested students should contact discipline faculty for more information. Enrollment in Independent Study requires the approval of the division dean. Total of 54 hours laboratory.
Grade Mode: Letter Grade, Pass/No-Pass
CS 021 INTRODUCTION TO PROGRAMMING CONCEPTS AND METHODOLOGIES
3 unit
Transfer Credit: CSU
C-ID: COMP 112
Entry-level programming, designed for students with no prior programming experience. History of computing, basic computer operation, the notion of an algorithm, variable definitions, expressions, input/output, branches, loops, functions, parameters, selection, iterative techniques, arrays, strings. For non-engineering and non-science majors or for students considering taking CS 002 but needing additional preparation. Total of 36 hours lecture and 54 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 031 INTRODUCTION TO DATA SCIENCE
4 unit
Transfer Credit: CSU; UC
Basic concepts and computer programming skills and mathematical inference , in combination with the hands-on study of real-world datasets, including economic data, document collections, spatial data, and social networks, using Python language. Discussion of the social problems surrounding data processing, and design. Total of 54 hours of lecture and 54 hours of laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 033 ADVANCED JAVA PROGRAMMING AND ALGORITHM WITH DATA STRUCTURES
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 132
Prerequisite(s): CS 003B
Builds on the topics covered in the fundamentals computer science course and offers practical experience in writing larger computational systems using Java across many major programming projects. Students can research advanced programming techniques like encapsulation, abstract data types, interfaces, algorithms, and complexity and data structures including stacks, queues, priority queues, heaps, linked lists, binary trees, and hash tables. Total of 36 hours lecture and 54 hours laboratory.
Grade Mode: Letter Grade, Pass/No-Pass
CS 034 ADVANCED PYTHON PROGRAMMING AND BASIC DATA STRUCTURES
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 132
Builds on the computational concepts covered in the Fundamentals of computer science course and introduces students to abstraction techniques. Provides advanced topics and algorithms in Python language, such as recursion, higher-order functions, function composition, object-oriented programming, interpreters, classes, and elementary data structures such as arrays, lists, and linked lists will all be covered in Python. Total of 36 hours of lecture and 54 hours of laboratory.
Grade Mode: Letter Grade, Pass/No-Pass
CS 045 DISCRETE STRUCTURES WITH COMPUTER SCIENCE APPLICATIONS
4 unit
Transfer Credit: CSU; UC
C-ID: COMP 152
Discrete structures used in computer science with an emphasis on their applications. Topics include: functions, relations and sets; basic logic; proof techniques; basics of counting; graphs and trees; and discrete probability. For Computer Science, Computer Engineering, Mathematics, and STEM majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 066 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE PROGRAMMING
3 unit
Transfer Credit: CSU; UC
C-ID: COMP 142
Corequisite(s): CS 066L
Basic computer organization concepts; register manipulation, pseudocode development; instruction formats, addressing modes, parameter passing using a stack frame; assemblers and linkage editors; modular program design and development. Number systems and their rules for arithmetic. For Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture.
Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 066L COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE PROGRAMMING LAB
1 unit
Transfer Credit: CSU; UC
Corequisite(s): CS 066
Hands-on computer programming of CS 066 - Computer Architecture and Assembly Language Programming topics. Implementation of base conversions; computer organization concepts; register manipulation, pseudocode development; instruction formats, addressing modes, parameter passing using a stack frame; assemblers and linkage editors; modular program design and development using the Assembly Language program. This laboratory course is intended for STEM Majors in Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours laboratory.
Grade Mode: Letter Grade
CS 137 R PROGRAMMING FOR DATA SCIENCE
2 unit
Introduction to computer programming with a focus on data science tools and techniques using the R programming language. Topics include basic data types, variables, control flow, functions, vectors, matrices, lists, data frames, data importing, functional programming, version control, data wrangling, data visualization, and data modeling. Programming projects. Total of hours 18 lecture and 54 hours laboratory.
Grade Mode: Letter Grade, Pass/No-Pass
