Computer Science 123 COMPUTER SCIENCE Natural Applied Sciences Division Jamie Alonzo, Division Dean Division Office, Room 701 Steve Hodges, Program Contact, (831) 479-6494 Aptos Counseling: (831) 479-6274 f appointment Watsonville Counseling: (831) 786-4734 Call (831) 479-6328 f me infmation http://www.cabrillo.edu/programs Computer Science A.S. Degree The Computer Science program is intended to meet the needs of students majing in computer science, students from other science disciplines where computer programming is required. These disciplines include computer engineering, netwking system administration, business, bioinfmatics, infmation systems management, economics, business infmation systems, engineering, engineering technology. The Computer Science program offers one degree programs, four certificates of achievement, two skills certificates. The A.S. Degree program transfers to four-year colleges universities. Note: UC will accept a total of 6 courses from Computer Science. One of the following courses is recommended f all potential computer science/computer engineering majs early in their academic career to help deter- mine their interest in pursuing the maj: CS 1 CS 11 (C++),, (Java). 1. Demonstrate software development skills necessary to succeed in programming intensive majs at 4-year colleges. (Critical Thinking, Professional 2. Demonstrate professional conduct by meeting strict project deadlines, participating in self-managed teams, adopting classroom behavial nms. (Communication, Professional 3. Demonstrate the capacity to use computer software to communicate interact with computer hardware. (Critical Thinking, Communication, Professional 4. Demonstrate infmation literacy individually, as a team General Education 21 Units Computer Science Majs Ce courses f all transfer students (39 Units) Units Introduction to Data Structures Algithms...4 CS 23 *Discrete Mathematics...4 MATH 23 *Discrete Mathematics...4 MATH 5A Analytic Geometry Calculus I...5 MATH 5B Analytic Geometry Calculus II...5 The following ce courses are required f transfer f most computer science majs transfer universities. CS 24 **Elementary Computer Organization...4 MATH 5C Analytic Geometry Calculus III...5 MATH 6 Introduction to Linear Algebra...3 MATH 7 Introduction to Differential Equations...3 CHEM 1A General Chemistry I...5 CHEM 1B General Chemistry II...5 PHYS 4A Physics f Scientists Engineers I...5 PHYS 4B **Physics f Scientists Engineers II...5 PHYS 4C *Physics f Scientists Engineers III...5 BIO 9A Molecular, Cellular, Animal Biology...5 BIO 9B Ecology, Evolution, Plant Biology...5 Computer Engineering Majs MATH 5A Analytic Geometry Calculus I...5 MATH 5B Analytic Geometry Calculus II...5 MATH 5C Analytic Geometry Calculus III...5 MATH 6 Introduction to Linear Algebra...3 MATH 7 Introduction to Differential Equations...3 CHEM 1A General Chemistry I...5 PHYS 4A Physics f Scientists Engineers I...5 PHYS 4B **Physics f Scientists Engineers II...5 The following ce courses are required f transfer f most computer engineering majs transfer universities: *Introduction to Data Structures Algithms...4 CS 23 *Discrete Mathematics...4 MATH 23 *Discrete Mathematics...4 CS 24 **Elementary Computer Organization...4 PHYS 4C *Physics f Scientists Engineers III...5 CHEM 1B General Chemistry II...5 BIO 9A Molecular, Cellular, Animal Biology...5 BIO 9B Ecology, Evolution, Plant Biology...5 Total Units 60 *spring only; **fall only
124 Computer Science C++ Programming Certificate of Achievement The C++ Programming Certificate of Achievement is intended to meet the needs of students pursuing academic occupational disciplines where knowledge of the C++ programming language is required. These disciplines include, but are not limited to, computer science, computer engineering, digital media, computer netwking, computer system administration, engineering. MATH 152 (Intermediate Algebra) is required f the beginning programming course (CS 11), either completion of MATH 4 (Precalculus Algebra Trigonometry) the completion of the MATH 2/MATH 3 series (two-semester version of MATH 4) is required f the intermediate C++ programming course (CS 19). Upon completion of the C++ Programming Certificate of Achievement a student will have satisfied the following objectives: moderate complexity using procedural object-iented methods. Classes objects, structured data types such as arrays files, operat overloading, inheritance, polymphism. Linked List. sion through effective use of mnemonic identifiers, indentation comments. niques: step-wise refinement, top-down bottom-up design, incremental development, testing debugging, infmation hiding, data encapsulation. stard Unix tools, gcc compiler, emacs text edit, gdb debugger. mathematical concepts such as statistical array value analysis, sets, trigonometric functions, simple geometry, complex numbers. F the occupational student the body of wk completed f this certificate represents the intermediate programming preparation necessary f an entry level programmers wking in a technical suppt capacity. F the transfer student, completion of this certificate represents the first year courses within a four-year computer science program at most CSU UC campuses. 1. Demonstrate software development skills implemented in the C++ programming language. (Critical Thinking, Professional 2. Demonstrate infmation literacy individually, as a team 3. Demonstrate professional conduct by meeting strict project deadlines, participating in self-managed teams, adopting classroom behavial nms. (Communication, Professional CS 1 CS 1L CS 11 CIS 32 CS 19 MATH 4 MATH 2 MATH 3 COMM 2 Introduction to Computers Computer Technology...3 Technology Tools...2 Introduction to Programming Concepts Methodology, C++...4 Introduction to Internet Programming...4 C++ Programming...4 Precalculus Algebra Trigonometry...5 Precalculus Algebra...4 Precalculus Trigonometry...3 Group Discussion...3 Total Units 24 26 Java Programming Certificate of Achievement The Java Programming Certificate of Achievement is intended to meet the needs of students pursuing academic occupational disciplines where knowledge of the java programming language is required. These disciplines include, but are not limited to, computer science, computer engineering, digital media, computer netwking, bioinfmatics, engineering. 1. Demonstrate software development skills implemented in the Java programming language. (Critical Thinking, Professional 2. Demonstrate infmation literacy individually, as a team member (proper citations, documentation, ethical practices). (Critical Thinking, Communication, Professional Development, Global Awareness) 3. Demonstrate professional conduct by meeting strict project deadlines, participating in self-managed teams, adopting classroom behavial nms. (Communication, Professional CS 1 Introduction to Computers Computer Technology...3 CS 1L Technology Tools...2 Introduction to Programming Using Games Simulations... 4 Introduction to Programming Concepts Java Programming...4 Precalculus Algebra Trigonometry...5 CS 20J MATH 4 MATH 2 Precalculus Algebra...4 MATH 3 Precalculus Trigonometry...3 COMM 2 Group Discussion...3
Computer Science 125 Total Units 24 26 Programming Certificate of Achievement The Programming Certificate of Achievement is intended to meet the needs of students pursuing academic occupational disciplines where knowledge of the C++ Java programming language knowledge of computer algithms is required. These disciplines include, but are not limited to, computer science, computer engineering, computer netwking, computer system administration, bioinfmatics, engineering. Learning Outcome: 1. Demonstrate software development skills implemented in the C++ Java programming language. (Critical Thinking, Professional *Introduction to Data Structures Algithms...4 CS 23 *Discrete Mathematics...4 MATH 23 *Discrete Mathematics...4 CS 24 **Elementary Computer Organization...4 Take 2 of the following CIS courses: Units CIS 31 Perl Programming in a UNIX Environment...4 CIS 32 Introduction to Internet Programming...4 CIS 34 Mobile Platfms-iPhone Android...4 CIS 98 UNIX/Linux Shell Programming...4 MATH 5A Analytic Geometry Calculus I...5 COMM 2 Group Discussion...3 Total Units 35 *spring only; **fall only Web Programming Certificate of Achievement The Web Programming Certificate of Achievement is intended to meet the needs of students pursuing academic occupational disciplines where web programming is required. These disciplines include, but are not limited to, computer science, computer engineering, digital media, business communications marketing, economics, engineering. Learning Outcome: 1. Demonstrate software development skills implementing the following programming Internet scripting language: Java, Perl, JavaScript, PHP. (Critical Thinking, Professional CIS 31 Perl Programming in a UNIX Environment...4 CIS 32 Introduction to Internet Programming...4 CIS 33 Introduction to Programming Database-Driven Websites with PHP...4 MATH 154 Elementary Algebra...5 MATH 152 Intermediate Algebra...5 MATH 4 Precalculus Algebra Trigonometry...5 MATH 2 Precalculus Algebra...4 MATH 3 Precalculus Trigonometry...3 COMM 2 Group Discussion...3 Total Units 27-29 Game Programming Skills Certificate Prepares the student to program at an intermediate level with an emphasis on video game programming techniques. 1. Demonstrate software game development skills implemented in the Java programming language. (Critical Thinking, Professional 2. Demonstrate infmation literacy individually, as a team 3. Demonstrate professional conduct by meeting strict project deadlines, participating in self-managed teams, adopting classroom behavial nms. (Communication, Professional CS 11 Introduction to Programming Concepts Methodology, C++...4 Introduction to Programming Concepts Introduction to Programming Using Games Simulations... 4 CS 20J Java Programming...4 Total Units 12 Introduction to Programming Using Games Simulations... 4 Introduction to Programming Concepts
126 Computer Science Mobile Applications Skills Certificate Program Description: Prepares the student to program at an intermediate level with an emphasis on developing ios Android mobile applications games. 1. Demonstrate Android application development skills using Java. (Communication, Critical Thinking, Global Awareness, Personal Responsibility Professional 2. Demonstrate ios application development skills using Swift. (Communication, Critical Thinking, Global Awareness, Personal Responsibility Professional 3. Demonstrate Android ios game development skills. (Communication, Critical Thinking, Global Awareness, Personal Responsibility Professional Introduction to Programming Using Games Simulations....4 Introduction to Programming Concepts CIS 34 Mobile Platfms-iPhone Android...4 CIS 35 Mobile Game Development...4 Total Units 16 Web Programming Skills Certificate Prepares the student to create interactive dynamic web pages using client-side server-side programming languages. 1. Demonstrate infmation literacy individually, as a team 2. Demonstrate professional conduct by meeting strict project deadlines, participating in self-managed teams, adopting classroom behavial nms. (Communication, Professional Introduction to Programming Concepts CIS 32 Introduction to Internet Programming...4 CIS 33 Introduction to Programming Database-Driven Websites with PHP...4 CIS 34 Mobile Platfms-iPhone Android...4 Total Units 16 Computer Science Courses CS 1 Introduction to Computers Computer Technology 3 units; 3 hours Lecture, 1 hour Labaty Recommended Preparation: Eligibility f ENGL 100 ESL 100 READ 100; Eligibility f MATH 154. Surveys the fields of study within computer science computer technology with a focus on computer literacy in the 21st century. Includes: hardware, software, development systems, the Internet, netwks, including PC Macintosh. Students interested in a hson lab course to coincide with this class may enroll in CS 1L. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. CS 1L Technology Tools 2 units; 2 hours Lecture, 1 hour Labaty Recommended Preparation: CS 1 (may be taken concurrently); Eligibility f ENGL 100 ESL 100 READ 100; Eligibility f MATH 154. Covers the fundamentals of college-level infmation literacy, computational logic, computer proficiency. Topics include the online research process, essential skills in using computer operating systems, wd processing, spreadsheets, e-mail, image manipulation, presentation software at a college level. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. CS 11 Introduction to Programming Concepts Methodology, C++ 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: MATH 152. Recommended Preparation: CS 1; Eligibility f ENGL 100 ESL 100 READ 100. Presents an introduction to computer programming using the C++ programming language beginning with basic principles progressing to object-iented programs. Includes: algithms, data types, declarations, expressions, selection, repetition, functions, recursion, libraries, arrays, classes, objects, files streams. Prepares students f CS 19 CS 20J. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: COMP 112
Computer Science 127 CS 11M Introduction to C/C++ Programming Using Microcontrollers 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: MATH 4 MATH 2 MATH 3. Recommended Preparation: CS 1; Eligibility f ENGL 100 ESL 100 READ 100. Presents an introduction to computer programming concepts methodologies in C/C++ using microcontrollers to program computer circuits hardware. Covers a microcontroller such as the Arduino, Beaglebone, Raspberry Pi single-board computers circuits like LED displays servo mots. Teaches algithms, data types, declarations, expressions, selection, repetition, methods, recursion, libraries, arrays, classes, objects, hardware interfaces, files streams. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: CS 11M + CS 19 = C-ID ENGR 120 Introduction to Programming Using Games Simulations 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: MATH 154. Recommended Preparation: Eligibility f ENGL 100 ESL 100 READ 100. Presents an introduction to computer programming concepts methodologies by developing games simulations in the Java programming language. Topics include: algithms, data types, declarations, expressions, selection, repetition, methods, recursion, libraries, arrays, classes, objects, 2D graphics, animation, sound, files streams. Prepares students f CS 19 CS 20J. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. Introduction to Programming Concepts Methodology, Java 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: MATH 152. Recommended Preparation: CS 1; Eligibility f ENGL 100 ESL 100 READ 100. Presents an introduction to computer programming using the Java programming language beginning with basic principles progressing to object-iented programs visual programming. Includes: algithms, data types, declarations, expressions, selection, repetition, methods, recursion, libraries, arrays, classes, objects, components, events, files streams. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: COMP 112 CS 19 C++ Programming 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: MATH 4 MATH 2 MATH 3. Recommended Preparation: CS 11 CS 11M equivalent skills; Previous programming experience strongly recommended; Eligibility f ENGL 100 ESL 100 READ 100. Presents programming, documentation, software design methodologies using C++. Assumes that students have been introduced to classes objects, control structures, repetition, functions, logical operats. Includes a brief review of functions, arrays, pointers strings. New topics include classes, operat overloading, inheritance. Prepares students f CS 23. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: CS 19 + CS 20J = C-ID COMP 122; CS 11M + CS 19 = C-ID ENGR 120 CS 20J Java Programming 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: MATH 4 MATH 2 MATH 3. Recommended Preparation: CS 11 CS 11M equivalent skills; Eligibility f ENGL 100 ESL 100 READ 100. Presents programming, documentation, software-design methodologies using Java. Includes a brief review of control structures, methods arrays as students rapidly progress to object-iented programs of moderate complexity. Advanced topics include: inheritance, polymphism, exceptions, graphics, graphical-user interfaces, files, streams, threads, dynamic data structures. Prepares students f CS 24. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: CS 19 + CS 20J = C-ID COMP 122. Introduction to Data Structures Algithms 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: CS 19 CS 20J equivalent skills MATH 5A. Recommended Preparation: Eligibility f ENGL 100 ESL 100 READ 100. Provides an introduction to data structures, algithms, software engineering techniques using the C++ Java language. Presents the development of large programs including definition, implementation, analysis, use reuse of abstract data types associated algithms. Reviews elabates arrays, lists, queues, stacks, sets, trees, priity queues, heaps, tables, hashing, balanced trees, graphs, recursion, searching sting. Offered spring only. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: COMP 132
CS 23 Discrete Mathematics 4 units; 3 hours Lecture, 3 hours Labaty Prerequisite: CS 11 CS 11M equivalent skills; MATH 5A equivalent skills. Recommended Preparation: CS 19 CS 20J equivalent skills; Eligibility f ENGL 100 ESL 100 READ 100. Presents discrete mathematical systems including methods of proof that shape the foundations of computer science. Includes propositional logic, set number they, Boolean Algebra, deductive inductive proof, functions relations, combinatics, discrete probability, graph they netwk models, efficiency of algithms. Math majs should enroll in MATH 23 (identical to CS 23). May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: COMP 152 CS 24 128 Computer Science Elementary Computer Organization 4 units; 3 hours Lecture, 4 hours Labaty Prerequisite: CS 19 CS 20J MATH 5A. Recommended Preparation: Eligibility f ENGL 100 ESL 100 READ 100. Introduces ganization of computer systems, machine level programming, systems software. Includes process ganization, introduction to operating systems assembly language programming on microprocesss. Offered fall only. May be offered in a Distance-Learning Fmat. Transfer Credit: Transfers to CSU; UC. C-ID: COMP 142