Computer Science
12 courses · Chabot College · 2026-2027 Catalog
Classes: Summer 2026 · Fall 2026
CSCI 6 Computer Programming for Visual Thinkers
- Units
- 3
- Hours
- 36 Lecture, 36 Lab
Students work within 2D and 3D virtual worlds to create interactive games, stories and animations. Programs are assembled using a drag-and-drop interface to bypass the abstract syntax rules required by conventional languages. Topics covered include variables, data types, expressions, input/output, logic and control flow, loops, functions, parameters, arrays, recursion, flowcharts, graphics, animation, 3D modeling, and computer game design.
CSCI 7 Introduction to Computer Programming Concepts
- Units
- 3
- Hours
- 54 Lecture, 18 Lab
- Transfers to
- CSU, UC
Introduction to computer programming for nonscience majors and for students requiring additional preparation before taking Computer Science 10 or Computer Science 14. Hardware, system software basics, the history of computing, basic computer operations, number systems, design of algorithms, and programming constructs such as variables, expressions, input/output, decision-making, loops, functions, and parameters.
CSCI 8 Computer Literacy
- Units
- 3
- Hours
- 36 Lecture, 36 Lab
- Advisory
- MTH 55, MTH 55A, MTH 53, MTH 53A, Completion of Algebra 2 in high school
- Transfers to
- CSU, UC
Introduction to computers including: Microsoft Windows, Microsoft Office, Multimedia, the internet, browsers, World Wide Web, an awareness of types of computer software in use including programming languages, electronic mail, computer-based careers and trends, and other computing issues in today’s society. No prior computer experience necessary. Course recommended for students of any major who want to learn about computers and how to use them. Hands-on laboratory experience reinforces lecture.
CSCI 10 Introduction to Programming Using Visual BASIC.NET
- Units
- 4
- Hours
- 54 Lecture, 54 Lab
- Advisory
- CSCI 7, CSCI 8, Computer Application Systems 8
Introduction to computer programming using Microsoft’s programming language Visual BASIC.NET for Windows. The course includes programming algorithm development, Visual Studio.NET’s IDE, the language’s basic syntax and grammar, object event procedures, input/output, looping techniques, decision logic, variable data types, functions and subroutines and text file and database manipulation. Intended for a general audience with little or no prior formal programming experience.
CSCI 14 Introduction to Structured Programming In C++
- Units
- 4
- Hours
- 54 Lecture, 54 Lab
- Prerequisite
- MTH 55
- Advisory
- CSCI 7, ENGL C1000 (Formerly ENGL 1)
- Transfers to
- CSU, UC
Introduction to structured programming and problem solving using the C++ language. Problem solving techniques, algorithm design, testing and debugging techniques, and documentation standards. C++ syntax: elementary operators, data types, control structures, user-defined and library functions, basic input/output, sequential files, arrays and structs. Appropriate for students with little or no programming experience, but comfortable using computers with modern GUI operating systems.
CSCI 15 Object-Oriented Programming Methods
- Units
- 4
- Hours
- 54 Lecture, 54 Lab
- Prerequisite
- CSCI 14
- Advisory
- MTH 20
- Transfers to
- CSU, UC
Object-oriented programming methods employed to design, program, test and document intermediate level problems. Includes strings and string objects, multidimensional arrays, pointers, dynamic allocation, classes, overloaded functions, inheritance and polymorphism, introduction to linked lists. Designed to satisfy Association of Computing Machinery (ACM) guidelines for CS I as required for Computer Science and related transfer majors.
CSCI 19A Object-Oriented Programming Methods in Java
- Units
- 4
- Hours
- 54 Lecture, 54 Lab
- Advisory
- CSCI 14, MTH 20
Object-oriented programming methods employed to design, program, test and document intermediate level problems in the Java language. Overview of Java syntax, control structures, methods, I/O, strings, single and multidimensional arrays, recursion and exception handling. Abstract Data Types and Object-Oriented Programming principles including classes, information hiding, aggregation, inheritance, method overriding and polymorphism. Introduction to graphical user interfaces (GUIs) and applets using the javax.swing package. Dynamic allocation and de-allocation of memory; comparison of Java references with pointers in C++. Implementation and use of linked lists. Designed to satisfy Association of Computing Machinery (ACM) guidelines for CSI as required for Computer Science and related transfer majors.
CSCI 20 Introduction to Data Structures
- Units
- 4
- Hours
- 54 Lecture, 54 Lab
- Prerequisite
- CSCI 15
- Advisory
- MTH 1
- Transfers to
- CSU, UC
Design and implementation of larger projects using object-oriented software engineering principles. Emphasis on definition and use of data structures. Includes specification of Abstract Data Types, recursion, dynamic memory allocation, stacks, linked lists, priority queues, graphs, binary trees, heaps, sorting and searching, algorithm analysis, hashing techniques, random access files.
CSCI 21 Computer Organization and Assembly Language Programming
- Units
- 4
- Hours
- 54 Lecture, 54 Lab
- Prerequisite
- CSCI 14
- Transfers to
- CSU, UC
Basics of machine architecture, 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 number conversion and use of system interrupts. Interrupt processing and interrupt handlers. Procedures including parameter passing and linkage to higher level languages.
CSCI 28 Discrete Mathematics
- Units
- 3
- Hours
- 54 Lecture, 18 Lab
- Prerequisite
- MTH 1
- Advisory
- CSCI 14
- Transfers to
- CSU, UC
Sets, relations and functions; logic, methods of proof, induction; combinatorics, discrete probability, recursion, and recurrence relations; graphs and trees; logic circuits; finite state machines. Designed for majors in mathematics and computer science.
CSCI 41 Introduction to UNIX
- Units
- 2
- Hours
- 27 Lecture, 27 Lab
- Transfers to
- CSU, UC
UNIX operating system capabilities, introduction to Perl, elementary batch programming and compilation of C. Components of a UNIX system, common commands, directory and file management, UNIX editors, shells, electronic mail and user communication, the C language development environment, Internet resources.
CSCI 42 UNIX Tools, Shell Programming and System Administration Concepts
- Units
- 2
- Hours
- 27 Lecture, 27 Lab
- Prerequisite
- CSCI 41
- Transfers to
- CSU, UC
Further experience with UNIX tools. Enhanced shells. Emphasis on Linux variant of UNIX. Basic networking concepts. Writing and testing shell scripts. Processes and scheduling. Security issues. Basis System administration.