COMPUTER SCIENCE (CS)

CS 001  INTRODUCTION TO COMPUTERS AND PROGRAMMING  
5 unit  

Transfer Credit: CSU; UC COMP 122

The 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. No credit if taken after CS 002. Total of 72 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

Prerequisite(s): Either MATH 007B or MATH 008 or MATH 009

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++)  
4 unit  

Transfer Credit: CSU; UC

Prerequisite(s): CS 002

Second programming course in the series of Introduction to 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. May be taken concurrently with CS 003B. For STEM Majors: Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 72 hours laboratory.

Grade Mode: Audit, Letter Grade
CS 003B  FUNDAMENTALS OF COMPUTER SCIENCE II (JAVA)  
4 unit  

Transfer Credit: CSU; UC

C-ID: COMP 122

Prerequisite(s): CS 002

Alternate second programming course in the series of Introduction to Computer Science courses. JAVA language including: 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. May be taken concurrently with CS 003A. For STEM Majors: Computer Science, Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 72 hours laboratory.

Grade Mode: Audit, Letter Grade
CS 003C  FUNDAMENTALS OF COMPUTER SCIENCE II (PYTHON)  
4 unit  

Transfer Credit: CSU; UC

C-ID: COMP 122

Prerequisite(s): CS 002

Second programming course in the series of Introduction to Computer Science courses. Topics of the Python language 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. May be taken concurrently with CS 003A or CS 003B. Recommended for STEM Majors: Computer Science, Engineering, Mathematics, and Science 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 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 - DATA STRUCTURES  
4 unit  

Transfer Credit: CSU; UC

C-ID: COMP 132

Prerequisite(s): CS 003A
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 and 72 hours laboratory.

Grade Mode: Audit, Letter Grade, Pass/No-Pass
CS 018  UNIX SCRIPTING WITH BASH  
4 unit  

Transfer Credit: CSU; UC

Prerequisite(s): CS 002

Shell scripting, script parameters, looping, piping, background processing, pattern manipulation, functions, subroutines, process forking, major BASH utilities, AWK scripting. For Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 72 hours laboratory.

Grade Mode: Audit, Letter Grade
CS 020  INDEPENDENT STUDY  
1 unit  

Transfer Credit: CSU

Prerequisite(s): Completion of any three other CS courses

Individual projects; problem formulation, design, documenting, programming and testing. 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; UC

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 038  INTRODUCTION TO SOFTWARE ENGINEERING  
5 unit  

Transfer Credit: CSU

Prerequisite(s): CS 008

Introduction to the concepts, methods, and current practice of software engineering and the software life cycle. Study of large-scale software production; software life cycle models as an organizing structure; principles and techniques appropriate for each stage of production. Laboratory work involves a group project illustrating these elements. Total of 90 hours lecture.

Grade Mode: Audit, Letter Grade
CS 045  DISCRETE STRUCTURES WITH COMPUTER SCIENCE APPLICATIONS  
5 unit  

Transfer Credit: CSU; UC

Prerequisite(s): CS 002

Specification, development and analysis of algorithms. Sets, relations and functions. Logic and mathematical structures used in computer science. Introduction to combinatorics. Programming projects to exemplify these concepts. For Computer Science, Computer Engineering , Mathematics, and Science majors, but open to all qualified students. Total of 72 hours lecture 54 hours laboratory.

Grade Mode: Audit, Letter Grade
CS 066  ASSEMBLY LANGUAGE PROGRAMMING FOR THE SCIENCES AND MATHEMATI  
4 unit  

Transfer Credit: CSU; UC

Prerequisite(s): CS 002

Number systems and their rules for arithmetic; 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. 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
CS 080  SEMINAR IN COMPUTER SCIENCE AND COMPUTER ENGINEERING  
2 unit  

Transfer Credit: CSU

Introduces students to current topics, career paths, and current research topics within Computer Science and Computer Engineering disciplines. For Computer Science, Computer Engineering, Mathematics, and Science majors but open to all qualified students. Total of 36 hours lecture.

Grade Mode: Audit, Pass/No-Pass