Computer Science Courses
CS 1 - Computing Fundamentals I
4 units
Introduction to programming and problem-solving using C++. Problem solving techniques and algorithms; program design, development, style, testing and debugging. C++ syntax covered includes: variables; data types; operators and expressions; control structures; library and user-defined functions; basic file input/output; binary file input/output; arrays; vectors; abstract data types including user-defined data structures and enumerated data types. 54 hours lecture, 54 hours laboratory. AA/AS GE: IB. Transfer: CSU, UC; C-ID# COMP 122.
Recommended Course Preparation: MATH 107 with a minimum grade of C. CS 7 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 2 - Computing Fundamentals II
4 units
Application of software engineering techniques to the design and development of large programs. Object-oriented programming methods and problem-solving strategies applied to intermediate-level problems using C++. Includes pointers and dynamic allocation; classes; encapsulation; inheritance and polymorphism; object and function overloading; recursive algorithms; data abstraction and structures. 54 hours lecture, 54 hours laboratory. Transfer: CSU, UC; C-ID# COMP 132.
Prerequisite: CS 1 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 3 - Red Hat Linux Administration II
3 units
This course focuses on the key tasks needed to become a full time Linux Administrator and to validate those skills via the Red Hat Certified System Administrator exam. This course goes deeper into Enterprise Linux administration including filesystems and partitioning, logical volumes, SELinux, fire-walling, BASH script development and troubleshooting. Students who have completed or are enrolled in CNT 7402 may not receive credit. 45 hours lecture, 27 hours laboratory. Transfer: CSU.
Recommended Course Preparation: CS 41 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 4 - Introduction to Artificial Intelligence
3 units
An introduction to artificial intelligence (AI) and modern AI programming libraries. Basic discrete mathematics and statistics. Problem solving using uninformed, informed, local, and adversarial search algorithms. Knowledge representation, inference, and reasoning using propositional and first-order logic. Quantifying and reasoning about uncertainty with Bayesian networks and Markov decision processes. Ethical considerations of artificial intelligence. 45 hours lecture, 27 hours laboratory. Transfer: CSU.
Prerequisite: CS 1 with a minimum grade of C.
Recommended Course Preparation: CS 7 with a minimum grade of C. MATH 40 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 5 - Introduction to Machine Learning
3 units
An introduction to machine learning (ML), with an emphasis on programming ML applications and using modern ML libraries. Basic discrete mathematics, statistics, and linear algebra. An overview of various supervised learning classifiers. Unsupervised learning via clustering. Reinforcement learning with model-based and model-free approaches. Safety and ethical concerns of machine learning. 45 hours lecture, 27 hours laboratory. Transfer: CSU.
Prerequisite: CS 1 with a minimum grade of C.
Recommended Course Preparation: CS 7 with a minimum grade of C. MATH 40 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 7 - Introduction to Computer Programming Concepts
3 units
An introductory course in computer programming concepts and fundamental coding skills using object-oriented languages like Python. Material includes problem-solving techniques, design of algorithms, and common programming constructs such as variables, expressions, input/output, decision-making, loops and arrays. 45 hours lecture, 27 hours laboratory. Transfer: CSU, UC; C-ID# COMP 112, ITIS 130.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 16 - Mobile Application Development - IPhone
3 units
Object-oriented programming in Swift for the iPhone, iPad and related platforms at a beginning to intermediate level. Introduction to the iOS mobile platform. Introduction to Swift syntax and concepts and the iOS application programming interface (API), including: classes, objects, inheritance, protocols, optionals, arrays, dictionaries, and closures; creating user interfaces; using graphics and audio; responding to touch-based user interaction. 45 hours lecture, 27 hours laboratory. Transfer: CSU.
Recommended Course Preparation: CS 1 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 17 - Discrete Mathematical Structures
4 units
Designed for majors in mathematics and computer science, this course provides an introduction to discrete mathematical structures used in Computer Science and their applications. Course content includes: Propositional and predicate logic; rules of inference; quantifiers; elements of integer number theory; set theory; methods of proof; induction; combinatorics and discrete probability; functions and relations; recursive definitions and recurrence relations; elements of graph theory and trees. Applications include: analysis of algorithms, Boolean algebras and digital logic circuits. Students who have completed, or are enrolled in, MATH 10 may not receive credit. 72 hours lecture, 18 hours laboratory. AA/AS GE: IB, MP. Transfer: CSU, UC; CSUGE: B4; IGETC: 2A; C-ID# COMP 152.
Prerequisite: MATH 1 with a minimum grade of C (May be taken concurrently). CS 1 with a minimum grade of C (May be taken concurrently).
- Credit - Degree Applicable
- Grading Option: Letter Grade
CS 20 - Advanced Programming with Data Structures/C++
4 units
Design and implementation of complex programs in C++ using a variety of fundamental data structures and algorithms. Includes the design and implementation of recursive functions, abstract data types, linked lists, stacks, queues, binary trees, hash tables, search and sorting algorithms, graphs, heaps, and algorithm analysis. 54 hours lecture, 54 hours laboratory. Transfer: CSU, UC.
Recommended Course Preparation: CS 2 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 21 - Computer Organization and Assembly Language Programming
4 units
Basics of machine architecture, cpu architecture and design, machine language, assembly language, operating system and higher level language interface. Data representation, instruction representation and execution, addressing techniques and use of macros. Space and time efficiency issues. Input/output including video modes. Procedures including parameter passing and linkage to higher level languages. 54 hours lecture, 54 hours laboratory. Transfer: CSU, UC; C-ID# COMP 142.
Prerequisite: CS 1 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 31 - Java Programming
4 units
Applications programming using Java for students already familiar with the concepts of programming. Topics will include in Applets, GUI programming and design using Swing, presenting data files over the web, elementary data structures (queues, linked list, stacks) and vectors, searching (linear, binary), sorting algorithms, Database programming using JDBC (Java Data Base Connectivity), Remote Method Invocation (RMI), and Java Beans. The student shall also be exposed to and experience developing Java applications and applets in the Linux/Unix environment(s). 54 hours lecture, 54 hours laboratory. Transfer: CSU, UC.
Recommended Course Preparation: CS 1 with a minimum grade of C. CS 7 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 41 - Red Hat Linux Administration I
3 units
This course provides hands-on training covering basic installation, management, configuration, documentation and hardware topics for the Linux/UNIX operating system on workstations in a network environment. The course includes comprehensive coverage of topics related to Linux distributions, installation, administration, X-Windows, and networking. This course prepares students for the CompTIA Linux+ Certification Exam. Students who have completed or are enrolled in CNT 7401 or APIS 54 may not receive credit. 45 hours lecture, 27 hours laboratory. Transfer: CSU.
Recommended Course Preparation: CIS 50 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 43 - Professional Communications
3 units
This course applies the principles of ethical and effective communication to the creation of letters, memos, emails, and written and oral reports for a variety of business situations. The course emphasizes critical thinking and analysis, planning, organizing, composing, and revising business documents to create and deliver professional-level oral presentations in-person and virtually. Additional focus will be placed on developing interpersonal skills, team participation skills, and technical report writing skills. Students who have completed or are enrolled in CNT 43 or CIS 43 may not receive credit. 54 hours lecture. AA/AS GE: IB; Transfer: CSU.
Recommended Course Preparation: ENG 1A with a minimum grade of C or ENG 1AEX with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 45 - Database Programming
4 units
This is a programming course that goes beyond mere “desktop” database management. Participants will learn how to design and manage cloud based databases and explore dynamic applications that interact with databases using compiled and interpreted client/server programming languages. Learn databases concepts, relational database principles, database design/modeling techniques and Structured Query Language (SQL). 54 hours lecture, 54 hours laboratory. Transfer: CSU, UC.
Prerequisite: CS 1 with a minimum grade of C or CS 7 with a minimum grade of C or CS 31 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP
CS 47 - Capstone Project
3 units
This is intended as a culminating experience within a degree or certificate sequence. Working individually or in a small team, you will develop a large-scale work-like project, driven by client needs, and requiring planning, implementation, documentation and presentation of the solution. Based on client requirements, each student or student team will design and implement a solution in a systematic and organized manner, breaking the project into logical sub-components and/or steps. Each student or student team will also prepare relevant written materials and give an oral presentation of the final product. 18 hours lecture, 108 hours laboratory. Transfer: CSU.
Recommended Course Preparation: CS 1 with a minimum grade of C or CS 31 with a minimum grade of C. CNT 52 with a minimum grade of C. CIS 43 with a minimum grade of C or CNT 43 with a minimum grade of C or CS 43 with a minimum grade of C. CIS 60 with a minimum grade of C. CIS 62 with a minimum grade of C. CS 45 with a minimum grade of C.
- Credit - Degree Applicable
- Grading Option: Letter or P/NP