### CURRENT COURSE OFFERING
CS 001 INTRODUCTION TO COMPUTERS AND PROGRAMMING
**5 units** **For** Non-engineering and non-science majors or for students considering taking CS 002 but needing additional preparation
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.
*Transfer Credit: CSU; UC *
## CS 002 FUNDAMENTALS OF COMPUTER SCIENCE I
**4 units**
**Prerequisite:** *Math 007B or Math 009.*
First programming course in the series of Introduction to Computer Science courses. Problem solving through structured programming of algorithms on computers using the basics of the C++ object-oriented language. Includes 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. Students will be required to develop at least one computer program in excess of 600 lines of code. **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.
*Transfer Credit: CSU; UC. C-ID: COMP 122* ## CS 003A FUNDAMENTALS OF COMPUTER SCIENCE II (C++)
**4 units**
**Prerequisite: ***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.
>*Transfer Credit: CSU; UC* ## CS 003B FUNDAMENTALS OF COMPUTER SCIENCE II (JAVA)
**4 units **
**Prerequisite: ***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.
*Transfer Credit: CSU; UC*
## CS 008 FUNDAMENTALS OF COMPUTER SCIENCE III - DATA STRUCTURES
Course Description:
**Prerequisite:** *CS 003A or 003B.*
Data structure concepts in designing and implementing algorithms. Lists, arrays, trees and graphs. Storage media and storage allocation. Searching, sorting and merging algorithms. Introduction to tape and disk files. **For** Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
*Transfer Credit: CSU; UC*
**CS 4 PROGRAMMING LANGUAGES**
**3 units**
**Prerequisite:** *CS 2.*
Introduction to programming languages. Data description, syntax and semantics. Classification of languages. Comparison of concepts such as subroutines, variables and their scope, arguments and parameters, storage allocation, iteration and recursion, character strings. Examples from BASIC, COBOL, FORTRAN, PASCAL, LISP, SNOBOL. Total of 54 hours lecture.
*Transfer Credit: CSU; UC*
**CS 6 INTRODUCTION TO APPLIED LOGIC DESIGN**
**4 units**
**Prerequisite:** *CS 2.*
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 22. **For** Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
*Transfer Credit: CSU; UC*
**CS 8 FUNDAMENTALS OF DATA STRUCTURES**
**4 units**
**Prerequisite:** *CS 3A or 3B.*
Data structure concepts in designing and implementing algorithms. Lists, arrays, trees and graphs. Storage media and storage allocation. Searching, sorting and merging algorithms. Introduction to tape and disk files. **For **Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
*Transfer Credit: CSU; UC*
**CS 10 PASCAL**
**4 units**
**Prerequisite:** *CS 2.*
Basic control structures; variables, constants and expressions; procedures and functions; data types; dynamic data structures. **For **Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
*Transfer Credit: CSU; UC*
**CS 12 C PROGRAMMING**
**3 units**
**Prerequisite:** *CS 10 or CIS 66.*
Syntax, data types; operations and expressions; functions; formatted I/0; files; data structures. Total of 54 hours lecture.
*Transfer Credit: CSU; UC*
**CS 18 UNIX SCRIPTING WITH BASH**
**4 units**
**Prerequisite: ** *CS 2.*
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.
*Transfer Credit: CSU; UC*
**CS 20 INDEPENDENT STUDY**
**1 unit**
**Prerequisites:** *Completion of three other computer science courses.*
Individual projects; problem formulation, design, documenting, programming and testing. **Maximum credit** 3 units, 1 unit each semester. Total of 54 hours laboratory.
*Transfer Credit: CSU; UC credit limitations. See counselor.*
**CS 38 INTRODUCTION TO SOFTWARE ENGINEERING **
**5 units**
**Prerequisite:** *CS 8.*
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.
*Transfer Credit: CSU*
**CS 39 INTRODUCTION TO COMPUTER ARCHITECTURE**
**4 units**
**Prerequisite:** *CS 66.*
Assembly level computer organization. Basic machine representation of numeric and non-numeric data. Assembly level instruction sets, address modes and the underlying computer architecture. Multilevel view of system hardware and software. Operation and interconnection of hardware elements. Instruction sets and addressing modes. Virtual memory and operating systems. **For** Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 90 hours lecture.
*Transfer Credit: CSU; UC*
**CS 43 FORTRAN**
**4 units**
**Prerequisite:** *Math 9 or 4A.*
FORTRAN programming techniques, including flowcharts, problem formulation and solution. Applications from mathematics and science. Total of 90 hours lecture.
*Transfer Credit: CSU; UC*
**CS 45 DISCRETE STRUCTURES WITH ****COMPUTER SCIENCE APPLICATIONS**
**5 units**
**Prerequisite:** *CS 2.*
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.
*Transfer Credit: CSU; UC*
**CS 50 INTRODUCTION TO NUMERICAL METHODS**
**5 units**
**Prerequisite:** *CS 2.*
**Recommended Preparation: ** *Math 5B.*
Numerical methods and analysis of computational errors; iterative and recursive methods for finding zeros of equations; Matrix methods; numerical solutions to simultaneous equations; Curve Fitting and Interpolation, Newton’s Method; evaluating integrals; determining derivatives; solving ordinary differential equations; boundary value problems. **For** Computer Science, Computer Engineering, Mathematics, and Science majors, but open to all qualified students. Total of 72 hours lecture and 54 hours laboratory.
*Transfer Credit: CSU; UC*
**CS 66 ASSEMBLY LANGUAGE PROGRAMMING FOR ****THE SCIENCES AND MATHEMATICS**
**4 units**
**Prerequisite:** *CS 2.*
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.
*Transfer Credit: CSU; UC*
**CS 80 SEMINAR IN COMPUTER SCIENCE AND ****COMPUTER ENGINEERING**
**2 units**
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.
*Transfer Credit: CSU* |