# COMPUTER SCIENCE
**5 units**
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 2 but needing additional preparation. **No credit** if taken after CS 2. Total of 72 hours lecture and 54 hours laboratory.
*Transfer Credit: CSU; UC*
**CS 2 FUNDAMENTALS OF COMPUTER SCIENCE**
**5 units**
**Prerequisite:** *Math 9.*
Introduction to the science of computers, algorithms, computer organization, flowchart design, computing systems, programming concepts, data structures, non-numerical applications, introductory numerical methods. **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 3A INTRODUCTION TO OBJECT ORIENTED**** PROGRAMMING IN C++**
**5 units**
**Prerequisite:** *CS 2.*
Variables, expressions, input/output (I/O), branches, loops, functions, parameters, arrays, strings, file I/O, classes, polymorphisms, inheritance and multiple inheritance, recursion, pointers, linked lists, abstract data types, libraries, software design, testing, and debugging. **May be taken concurrently **with CS 3B. **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 3B INTRODUCTION TO OBJECT ORIENTED ****PROGRAMMING IN JAVA **
**5 units**
**Prerequisite:** *CS 2.*
Topics include variables, expressions, input/output, branches, loops, functions, parameters, arrays, strings, file I/O, and classes. Also covers recursion, pointers, linked lists, abstract data types, libraries, software design, testing, and debugging. **May be taken concurrently **with CS 3A. **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 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* |