Computer Science
(See also: Computer Studies & Information Technology)
Computer science is the study of computers and their applications. This discipline includes a variety of specialties, such as systems programming, artificial intelligence, robotics, networking, and graphics. In preparation for transfer into more advanced fundamental and specialized areas, students learn basic programming, data structures, and architecture. Computer science majors will also need two or three semesters of calculus and discrete mathematics, depending on their choice of transfer institution. Career options in computer science include software engineer, computer engineer, systems analyst, database administrator, and software project manager.
Contact Information
Department Chair: Kathryn Striebel Dean: Al Taccone |
Department: Computer Studies Office: Building 4800, 760.795.6841 |
Full-Time Faculty
June Porto |
Associate Degrees
Associate in Arts Degree
Computer Science
The Computer Science Program offers lower-division preparation for students who plan on transferring to pursue a bachelor's degree in computer science. Students planning to transfer and/or earn this associate degree may also need to complete additional requirements or electives required by the transfer institution, as many CSUs and UCs have unique admissions and preparation-for-the-major requirements. Students should meet with a MiraCosta College counselor to identify required courses and to develop a written plan for their targeted university.
Required courses: | ||
CS 111 | Introduction to Computer Science I: Java | 3 |
CS 112 | Introduction to Computer Science II: Java | 3 |
CS 113 | Basic Data Structures and Algorithms | 3 |
CS 220 | Computer Architecture and Assembly Language | 3 |
MATH 150 | Calculus and Analytic Geometry I | 5 |
MATH 155 | Calculus and Analytic Geometry II | 4 |
Total Units | 21 |
Some of the following courses may also be required as preparation for the Computer Science major at a four-year university.
MATH 260 | Calculus and Analytic Geometry III | 4 |
MATH 226 | Discrete Mathematics | 3 |
MATH 265 | Differential Equations | 3 |
PHYS 151 | Principles of Physics I | 4 |
PHYS 152 | Principles of Physics II | 4 |
PHYS 253 | Principles of Physics III | 4 |
Associate in Arts Degree
Computer Programming Fundamentals
Students may earn the above-named associate degree by completing a certificate of achievement and the general education courses required for MiraCosta's Associate in Arts degree (see Associate Degrees). Students should meet with a MiraCosta counselor to identify required courses and to develop a written educational plan for the specific degree or certificate they wish to earn.
Certificate
Certificate of Achievement
Computer Programming Fundamentals
This certificate provides a strong foundation for knowledge of basic object-oriented programming (OOP) techniques and data structures used in computer science. Students gain experience in several OOP programming languages and in analyzing and assessing problems and formulating appropriate solutions. Completing this certificate will help students advance in their careers as computer programming professionals and solidify the foundation of their computer science skills.
Required courses: | ||
CS 111 | Introduction to Computer Science I: Java | 3 |
CS 112 | Introduction to Computer Science II: Java | 3 |
CS 113 | Basic Data Structures and Algorithms | 3 |
CS 130 | Fundamentals of Scripting Languages | 3 |
CS 150 | C++ Programming | 3 |
CS 151 | Advanced C++ Programming | 3 |
Select at least 6 elective units from the following: | 6 | |
Introduction to Object-Oriented Programming | ||
Programming with Python | ||
Visual Basic Programming | ||
Fundamentals of Game Programming | ||
Computer Architecture and Assembly Language | ||
Discrete Mathematics | ||
Total Units | 24 |
Courses
CS 107: Introduction to Object-Oriented Programming
Units: 3
Prerequisites: None
Acceptable for Credit: CSU, UC Credit limitation
Lecture 2 hours, laboratory 3 hours. (0707.10)
In this introductory computer programming course, students use pre-built objects to create animated storyboards in 3-D virtual worlds while learning the concepts of object-oriented programming (OOP). Using two abstracted high-level languages, such as Alice and Java, students experiment with drag-and-drop coding (Alice) and write code (Java). This course is highly recommended for beginning programming students prior to taking a code-writing class, such as Java or C++. (Formerly CIS 107.) UC CREDIT LIMITATION: No credit if taken after CS 111.
CS 111: Introduction to Computer Science I: Java
Units: 3
Prerequisites: None
Advisory: MATH 101 OR MATH 101A and MATH 101B.
Acceptable for Credit: CSU, UC Credit limitation
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course provides an introduction to computer science and programming using an object-oriented language. It is designed primarily for students majoring in computer science and engineering. The course explores language basics, including control structures, data types, input/output, operators, classes, methods and parameters, basic inheritance, and documentation practices as well as testing and verification techniques. (Formerly CIS 111.) UC CREDIT LIMITATION: No credit if taken after CS 112.
CS 112: Introduction to Computer Science II: Java
Units: 3
Prerequisites: CS 111.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course develops advanced object-oriented programming concepts and refines the concepts of inheritance, polymorphism, and encapsulation. Topics include various data structures and their usage, recursion, modularity and abstraction, including generics, event-driven programming, graphical user interfaces, applets, and exception handling.
CS 113: Basic Data Structures and Algorithms
Units: 3
Prerequisites: CS 112.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course introduces the software development process using efficient algorithms and properly designed data structures to develop effective solutions to common programming problems. Topics include searching, sorting, hashing, algorithm analysis, object-oriented design, collections, lists, stacks, queues, trees, sets, dictionaries, and graphs. (Formerly CIS 230.)
CS 130: Fundamentals of Scripting Languages
Units: 3
Prerequisites: None
Acceptable for Credit: CSU
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course introduces students to the JavaScript language and web-page programming. Students develop, debug, implement, and integrate Client-side scripts using automated tasking. Comparisons may be made with other common scripting languages, such as Perl, PHP, and CGI. This course is well-suited for beginning web programmers and meets current industry needs.
CS 138: Programming with Python
Units: 3
Prerequisites: None
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course introduces the Python programming language and its features. Python is a dynamic, object-oriented, extensible language that is perfect for the beginner and also meets industry needs. Python is well-suited for large, complex applications as well as website development and systems administration.
CS 140: Visual Basic Programming
Units: 3
Prerequisites: None
Advisory: MATH 101 or MATH 101A and MATH 101B.
Acceptable for Credit: CSU
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course guides students through all aspects of Visual Basic programming while developing Windows applications. Students design and develop programs using an object-oriented approach, and they create windows with familiar elements, such as menus, text boxes, command buttons, option buttons, check boxes, and scroll bars, using Visual Basic tools. Topics include event handling and database integration. (Formerly CIS 114.)
CS 141: Fundamentals of Game Programming
Units: 3
Prerequisites: CS 111 or CS 150.
Acceptable for Credit: CSU
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course introduces the fundamental techniques, concepts, process(es), and technologies of computer game programming. Using Java, C++, or Python as the programming language of choice, the course covers the basic building tools for games as well as the process for game development, programming, and production.
CS 150: C++ Programming
Units: 3
Prerequisites: None
Advisory: MATH 101 or MATH 101A and MATH 101B.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours. (0707.10)
Using an object-oriented (OOP) approach to design and programming in the C++ language, this course covers data input/output, data types, control structures, operators, functions, and the operating environment. Upon successful completion of the course, students are able to construct moderately complex programs in C++. (Formerly CIS 251.)
CS 151: Advanced C++ Programming
Units: 3
Prerequisites: CS 150.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours. (0707.10)
In this advanced programming course, students design and implement increasingly difficult C++ programs that build upon skills acquired in C++ Programming (CS 150). They also develop appropriate and efficient methods to test their programs. Topics include polymorphism, inheritance, class libraries, the standard template library, advanced file input/output operations, recursion, virtual functions, exception handling, and data structures, such as linked lists, stacks, queues, and binary trees.
CS 220: Computer Architecture and Assembly Language
Units: 3
Prerequisites: CS 112.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours. (0707.10)
This course introduces the fundamental physical and structural concepts of assembly language programming. Topics include machine architecture, memory addressing, input/output, interrupts, control structures, compiling, and linking. (Formerly CIS 220.)
CS 299: Cooperative Work Experience--Occupational
Units: 1-4
Prerequisites: None
Corequisite: Students must be employed in a position directly related to their declared major and must complete 75 hours of paid work or 60 hours of non-paid work per unit of credit.
Acceptable for Credit: CSU
(0707.10)
For students whose work is directly related to their major. To participate in occupational cooperative work experience education, students must be employed in a position directly related to their declared major and undertake new or expanded responsibilities at their work site. Students must develop one learning objective for each unit of credit in which they enroll and they must complete 75 hours of paid work or 60 hours of non-paid work per unit of credit. A maximum of four units of occupational work experience may be earned each semester and a combined maximum of 16 units of occupational and general work experience may be earned during community college attendance and applied as electives toward graduation. Students may receive G.I. Bill benefits for work experience only if required for their specific program. (May be repeated three times.)