Computer Science (CS)
CS-119
Program Design and Development 3 UNITS
Corequisite: CS 119L
Recommended Preparation: "C" grade or higher or "Pass" in CIS 110 or equivalent
3.0 hours lecture
Introductory course in program design and development using Java or other object-oriented programming language to serve as a foundation for more advanced programming, computer science or networking courses. Emphasizes the development of problem-solving skills while introducing students to computer science through the use of a modern object-oriented programming language. Devotes attention to the development of effective software engineering practices emphasizing such principles as design decomposition, encapsulation, procedural abstraction, testing and software reuse. Students will learn and apply standard programming constructs, problem-solving strategies, the concept of an algorithm, fundamental data structures, the machine representation of data, and introductory graphics and networking. (C-ID COMP 112 (with CS 119L)) (CSU/UC)
CS-119L
Program Design and Development Lab 1 UNITS
Corequisite: CS 119
Recommended Preparation: "C" grade or higher or "Pass" in CIS 110 or equivalent
3.0 hours laboratory
Laboratory tutorials, drills and programming problems designed to help students master the concepts and programming projects presented/assigned in CS 119. (C-ID COMP 112 (with CS 119)) (CSU/UC)
CS-165
Assembly Language and Machine Architecture 4 UNITS
Prerequisite: "C" grade or higher or "Pass" in CS 181 or CS 182 or equivalent, or experience programming in C/C++ or Java
3.0 hours lecture, 3.0 hours laboratory
This introductory course covers organization and behavior of real computer systems at the assembly-language level. Topics covered include number theory, registers, memory, CPU, linkers, debuggers, basic language syntax and high-level language/operating system interface. This course is intended for persons with a prior background in any other programming language and will emphasize those applications not easily performed using higher-level languages. (C-ID COMP 142) (CSU/UC)
CS-181
Introduction to C++ Programming 4 UNITS
Recommended Preparation: "C" grade or higher or "Pass" in CS 119 or equivalent, and intermediate algebra
3.0 hours lecture, 3.0 hours laboratory
Introduction to computer programming using a C family language. Students with no previous programming experience in C++ will learn computer organization and operation, binary representation of information, how to plan and create well-structured programs, write programs using sequence, selection and repetition structures, and create and manipulate sequential access files, structs, classes, pointers and arrays. (C-ID COMP 122) (CSU/UC)
CS-182
Introduction to Java Programming 4 UNITS
Prerequisite: Appropriate placement or intermediate algebra
Recommended Preparation: "C" grade or higher or "Pass" in CS 119 or equivalent or experience programming in C++ or Java
3.0 hours lecture, 3.0 hours laboratory
Introductory course in the basics of the Java programming language focusing on object oriented methodology. Topics include classes, methods, parameters, arrays, modularity, abstraction, exception handling, and stream and file I/O. In addition to writing and using new classes, students will utilize the AWT and/or Swing libraries of classes. Basic inheritance and mobile application programming are introduced. (C-ID COMP 122) (CSU/UC)
CS-240
Discrete Structures 3 UNITS
Prerequisite: "C" grade or higher or "Pass" in CS 181 or CS 182 or equivalent, or experience programming in C/C++ or Java
3.0 hours lecture
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. (C-ID COMP 152) (CSU/UC) (CSU-B4, IGETC-2A)
CS-281
Intermediate C++ Programming and Fundamental Data Structures 4 UNITS
Prerequisite: "C" grade or higher or "Pass" in CS 181 or equivalent
3.0 hours lecture, 3.0 hours laboratory
Continuation of CS 181. Provides the programmer with professional training in memory management, documentation, structured programming, and programming to professional standards using C++. Explores some of the more advanced concepts of preprocessing, low-level data objects, recursion, and dynamic data structures including linked lists, stacks, queues and trees. Laboratory instruction includes program development and execution. (C-ID COMP 132) (CSU/UC)
CS-282
Intermediate Java Programming and Fundamental Data Structures 4 UNITS
Prerequisite: "C" grade or higher or "Pass" in CS 182 or equivalent
3.0 hours lecture, 3.0 hours laboratory
Continuation of CS 182. Implement and analyze a variety of data structures and the algorithms used with those data structures, and create abstract data types and learn how and when to utilize them. Fundamental data structures include multidimensional arrays, linked lists, stacks, queues, heaps, trees, and hash tables; learn when to use which of the available dynamic memory data structures. Tools for analyzing and predicting run time and memory usage are introduced, as is Big-O notation. A variety of sort algorithms are reviewed and analyzed for best, worst, and average case performance, and are compared with tree traversal algorithms. Develop increased sophistication in object-oriented basics such as inheritance, encapsulation, design of abstract data types and polymorphism, and will gain experience by working on larger programs and managing large, multi-programmer projects. Laboratory instruction includes program development and execution. Mobile and database applications will be introduced. (C-ID COMP 132) (CSU/UC)