Academic Catalog

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)