COMPUTER SCIENCE (CS)
DIVISION: Career Technical Education
Transfer Credit: CSU; UC
C-ID: COMP 112
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.
Transfer Credit: CSU; UC
C-ID: COMP 122
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.
Transfer Credit: CSU; UC
Second programming course in the series of Fundamentals of 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. 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
Programming course in JAVA. Topics include: 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. For STEM Majors: 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
C-ID: COMP 122
Programming course in Python. Topics 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.Recommended for STEM Majors: 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
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.
Transfer Credit: CSU; UC
C-ID: COMP 132
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.
Transfer Credit: CSU; UC
For Computer Science, Computer Engineering, Mathematics, and STEM majors, but open to all qualified students. Total of 36 hours lecture and 54 hours laboratory.
Transfer Credit: CSU
Independent study provides individual students challenging and in-depth study on approved topics within computer science. It is expected that the study will be of an advanced nature and extend beyond content scope of existing courses. Interested students should contact discipline faculty for more information. Enrollment in Independent Study requires the approval of the division dean. Total of 54 hours laboratory.
Transfer Credit: CSU
C-ID: COMP 112
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.
Transfer Credit: CSU; UC
Basic concepts and computer programming skills and mathematical inference , in combination with the hands-on study of real-world datasets, including economic data, document collections, spatial data, and social networks, using Python language. Discussion of the social problems surrounding data processing, and design. Total of 54 hours of lecture and 54 hours of laboratory.
Transfer Credit: CSU; UC
C-ID: COMP 132
Builds on the topics covered in the fundamentals computer science course and offers practical experience in writing larger computational systems using Java across many major programming projects. Students can research advanced programming techniques like encapsulation, abstract data types, interfaces, algorithms, and complexity and data structures including stacks, queues, priority queues, heaps, linked lists, binary trees, and hash tables. Total of 36 hours lecture and 54 hours laboratory.
Transfer Credit: CSU; UC
C-ID: COMP 132
Builds on the computational concepts covered in the Fundamentals of computer science course and introduces students to abstraction techniques. Provides advanced topics and algorithms in Python language, such as recursion, higher-order functions, function composition, object-oriented programming, interpreters, classes, and elementary data structures such as arrays, lists, and linked lists will all be covered in Python. Total of 36 hours of lecture and 54 hours of laboratory.
Transfer Credit: CSU; UC
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; UC
Topics include: functions, relations and sets; basic logic; proof techniques; basics of counting; graphs and trees; and discrete probability. For Computer Science, Computer Engineering, Mathematics, and STEM majors, but open to all qualified students. Total of 54 hours lecture and 54 hours laboratory.
Transfer Credit: CSU; UC
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.
Introduction to computer programming with a focus on data science tools and techniques using the R programming language. Topics include basic data types, variables, control flow, functions, vectors, matrices, lists, data frames, data importing, functional programming, version control, data wrangling, data visualization, and data modeling. Programming projects. Total of hours 18 lecture and 54 hours laboratory.