Computer Science (CSCI)
CSCI 123 C Introduction to Programming Concepts in C++ 3 Units
Term hours: 54 lecture and 18 laboratory. This course introduces the discipline of computer science using a high level language utilizing programming and practical hands-on problem solving. Topics include the structure and design of algorithms, input/output, branching structures, functions, recursion, built-in data types, arrays, structures, files, pointers and elementary operations on linked structures. The object-oriented programming paradigm will be introduced. Topics include encapsulation, polymorphism, libraries, streams, inheritance and abstract data types. Students will design algorithms, write external and internal documentation and design and write source code in C++. (CSU/UC)
CSCI 133 C Data Structures in C++ 3 Units
Prerequisite(s): CSCI 123 C with a grade of C or better.
Term hours: 54 lecture and 18 laboratory. This course discusses how to apply software engineering techniques to the design and development of large programs, data abstraction and structures and associated algorithms. Data structures examined are arrays, linked lists, stacks, queues, trees, tables, and graphs. Algorithm topics include hashing, sorting heaps, searches and algorithm efficiency using Big-O notation. Students will create and modify class libraries to implement these structures. (UC/CSU, C-ID: COMP 132)
CSCI 242 C Computer Architecture and Organization 3 Units
Term hours: 54 lecture and 18 laboratory. This course covers the organization and behavior of real computer systems at the assembly-language level. The mapping of statements and constructs in a high-level language onto sequences of machine instructions is studied, as well as the internal representation of simple data types and structures. Numerical computation is examined, noting the various data representation errors and potential procedural errors. (CSU, C-ID: COMP 142)
CSCI 252 C Discrete Structures 3 Units
Advisory: CSCI 242 C.
Term hours: 54 lecture and 18 laboratory. 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. (CSU, C-ID: COMP 152)