Computer Science

CSCI 9 -  Programming Fundamentals: Python  (3 units)  
Letter Grade (LG) or Pass/No Pass (P/NP)  Total hours: 34 hours lecture; 51 hours lab  
This course introduces the fundamental ideas in computer science using Python, an interpreted, object-oriented programming language known for its ease of use. Students develop skills in the design and implementation of algorithms while working with numerical computation, text processing, graphics, image processing, and networking applications. This is the recommended first course for computer science majors. Portions of instruction may be offered online; may also be offered fully online. [C-ID COMP 112]  
Advisory: CSIS 1; completion of or concurrent enrollment in ENGL C1000  
Credit transferable: Transfers to CSU & UC  

Catalog Program Pages Referencing CSCI 9

CSCI 10A -  Programming Methods I: Java  (4 units)  
Letter Grade (LG) or Pass/No Pass (P/NP)  Total hours: 51 hours lecture; 51 hours lab  
This Java programming course introduces the discipline of computer science utilizing practical hands-on problem solving. Content includes principles of algorithm design, representation of data, objects and classes, arrays, effective programming style, and use of a debugger. Portions of instruction may be offered online; may also be offered fully online. [C-ID COMP 122]  
Prerequisite(s): Intermediate Algebra or higher  
Advisory: CSCI 9; completion of or concurrent enrollment in ENGL C1000  
Credit transferable: Transfers to CSU & UC  

Catalog Program Pages Referencing CSCI 10A

CSCI 10B -  Programming Methods II: Java  (4 units)  
Letter Grade (LG) or Pass/No Pass (P/NP)  Total hours: 51 hours lecture; 51 hours lab  
This course covers the application of software engineering techniques to the design and development of large programs, grounding students in the use of data abstraction, data structures, and associated algorithms. Coverage includes vectors, linked lists, stacks, queues, trees, maps and hash tables, graphs, sorting, searching, and a significant project. Portions of instruction may be offered online; may also be offered fully online. [C-ID COMP 132]  
Prerequisite(s): CSCI 10A or CSCI 10C  
Advisory: CSCI 12; Completion of or concurrent enrollment in ENGL C1000  
Credit transferable: Transfers to CSU & UC  

Catalog Program Pages Referencing CSCI 10B

CSCI 10C -  Programming Methods I.5: C and C++  (4 units)  
Letter Grade (LG) or Pass/No Pass (P/NP)  Total hours: 51 hours lecture; 51 hours lab  
This course provides intermediate coverage of the C and C++ languages. In C, students develop programs to read sensors, control LEDs, and make sound using the Arduino microcontroller, while in C++ we review the basics of object-oriented programming before tackling more advanced topics such as pointers, dynamic memory, simple container classes, and the development of array-based and linked lists. This class can be taken before or after CSCI 10B. Portions of instruction may be offered online; may also be offered fully online. [C-ID COMP 122]  
Prerequisite(s): CSCI 9, or CSCI 10A, or ENGR 17; and MATH 13  
Advisory: Completion of or concurrent enrollment in ENGL C1000  
Credit transferable: Transfers to CSU & UC  

Catalog Program Pages Referencing CSCI 10C

CSCI 11 -  Computer Architecture and Organization  (3 units)  
Letter Grade (LG) or Pass/No Pass (P/NP)  Total hours: 34 hours lecture; 51 hours lab  
This course provides an introduction to the organization and structure of computer systems, machine architectures, elemental computer circuits and systems, and assembly language programming. It explores the mapping of statements and constructs from a high-level language into sequences of machine instructions, as well as the internal representation of simple data types and structures. Portions of instruction may be offered online; may also be offered fully online. [C-ID COMP 142]  
Advisory: CSCI 10A; completion of or concurrent enrollment in ENGL C1000  
Credit transferable: Transfers to CSU & UC  

Catalog Program Pages Referencing CSCI 11

CSCI 12 -  Discrete Structures  (3 units)  
Letter Grade (LG) Only  Total hours: 51 hours lecture; 17 hours lab  
This course is an introduction to the discrete structures used in computer science with an emphasis on their applications. Topics covered include functions, relations and sets; basic logic; proof techniques; basics of counting; graphs and trees; and discrete probability. Portions of instruction may be offered online; may also be offered fully online. [C-ID COMP 152]  
Prerequisite(s): CSCI 10A and MATH 13  
Credit transferable: Transfers to CSU & UC  

Catalog Program Pages Referencing CSCI 12

CSCI 114 -  Game Programming: Behind the Scenes  (1 unit)  
Letter Grade (LG) or Pass/No Pass (P/NP)  Total hours: 14 hours lecture; 10 hours lab  
This class introduces game development in an easy-to-use environment. It covers 2D computer graphics, animation, sound and music as applied to the incremental development of a real video game that students can modify on their own. The class concludes with a final project of the student's design. Portions of instruction may be offered online; may also be offered fully online.  
Advisory: Completion of or concurrent enrollment in ENGL C1000  
Credit transferable: Non-transferable  

Catalog Program Pages Referencing CSCI 114