{
  "college": "chabot-college",
  "edition": "2026-2027",
  "code": "CSCI",
  "name": "Computer Science",
  "sourceUrl": "https://chabot.curriqunet.com/catalog/iq/3973/6079/6083/7528/7558",
  "courses": [
    {
      "code": "CSCI 6",
      "subject": "CSCI",
      "number": "6",
      "title": "Computer Programming for Visual Thinkers",
      "units": "3",
      "hours": "36 Lecture, 36 Lab",
      "cid": [],
      "transfer": [],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": []
    },
    {
      "code": "CSCI 7",
      "subject": "CSCI",
      "number": "7",
      "title": "Introduction to Computer Programming Concepts",
      "units": "3",
      "hours": "54 Lecture, 18 Lab",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": [
        {
          "term": "summer-2026",
          "name": "Summer 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/summer-2026/csci/#csci-7"
        },
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-7"
        }
      ]
    },
    {
      "code": "CSCI 8",
      "subject": "CSCI",
      "number": "8",
      "title": "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",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Letter Grade Only"
      ],
      "offered": [
        {
          "term": "summer-2026",
          "name": "Summer 2026",
          "sections": 2,
          "open": 2,
          "url": "/c/chabot-college/schedule/summer-2026/csci/#csci-8"
        },
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 2,
          "open": 2,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-8"
        }
      ]
    },
    {
      "code": "CSCI 10",
      "subject": "CSCI",
      "number": "10",
      "title": "Introduction to Programming Using Visual BASIC.NET",
      "units": "4",
      "hours": "54 Lecture, 54 Lab",
      "advisory": "CSCI 7, CSCI 8, Computer Application Systems 8",
      "cid": [],
      "transfer": [],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": []
    },
    {
      "code": "CSCI 14",
      "subject": "CSCI",
      "number": "14",
      "title": "Introduction to Structured Programming In C++",
      "units": "4",
      "hours": "54 Lecture, 54 Lab",
      "prerequisite": "MTH 55",
      "advisory": "CSCI 7, ENGL C1000 (Formerly ENGL 1)",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Letter Grade Only"
      ],
      "offered": [
        {
          "term": "summer-2026",
          "name": "Summer 2026",
          "sections": 2,
          "open": 2,
          "url": "/c/chabot-college/schedule/summer-2026/csci/#csci-14"
        },
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 3,
          "open": 3,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-14"
        }
      ]
    },
    {
      "code": "CSCI 15",
      "subject": "CSCI",
      "number": "15",
      "title": "Object-Oriented Programming Methods",
      "units": "4",
      "hours": "54 Lecture, 54 Lab",
      "prerequisite": "CSCI 14",
      "advisory": "MTH 20",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": [
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-15"
        }
      ]
    },
    {
      "code": "CSCI 19A",
      "subject": "CSCI",
      "number": "19A",
      "title": "Object-Oriented Programming Methods in Java",
      "units": "4",
      "hours": "54 Lecture, 54 Lab",
      "advisory": "CSCI 14, MTH 20",
      "cid": [],
      "transfer": [],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": [
        {
          "term": "summer-2026",
          "name": "Summer 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/summer-2026/csci/#csci-19a"
        }
      ]
    },
    {
      "code": "CSCI 20",
      "subject": "CSCI",
      "number": "20",
      "title": "Introduction to Data Structures",
      "units": "4",
      "hours": "54 Lecture, 54 Lab",
      "prerequisite": "CSCI 15",
      "advisory": "MTH 1",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Letter Grade Only"
      ],
      "offered": [
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-20"
        }
      ]
    },
    {
      "code": "CSCI 21",
      "subject": "CSCI",
      "number": "21",
      "title": "Computer Organization and Assembly Language Programming",
      "units": "4",
      "hours": "54 Lecture, 54 Lab",
      "prerequisite": "CSCI 14",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": [
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-21"
        }
      ]
    },
    {
      "code": "CSCI 28",
      "subject": "CSCI",
      "number": "28",
      "title": "Discrete Mathematics",
      "units": "3",
      "hours": "54 Lecture, 18 Lab",
      "prerequisite": "MTH 1",
      "advisory": "CSCI 14",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Letter Grade Only"
      ],
      "offered": []
    },
    {
      "code": "CSCI 41",
      "subject": "CSCI",
      "number": "41",
      "title": "Introduction to UNIX",
      "units": "2",
      "hours": "27 Lecture, 27 Lab",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": [
        {
          "term": "fall-2026",
          "name": "Fall 2026",
          "sections": 1,
          "open": 1,
          "url": "/c/chabot-college/schedule/fall-2026/csci/#csci-41"
        }
      ]
    },
    {
      "code": "CSCI 42",
      "subject": "CSCI",
      "number": "42",
      "title": "UNIX Tools, Shell Programming and System Administration Concepts",
      "units": "2",
      "hours": "27 Lecture, 27 Lab",
      "prerequisite": "CSCI 41",
      "cid": [],
      "transfer": [
        "CSU",
        "UC"
      ],
      "description": "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.",
      "notes": [
        "Grading: Optional"
      ],
      "offered": []
    }
  ]
}