Class Schedules and Catalog Background Image

Computer Science

Computer Science

This is an archived copy of the 2022-2023 catalog. To access the most recent version of the catalog, please visit http://catalog.miracosta.edu.

How to Read Course Descriptions

For more detailed information about a course, such as its content, objectives, and fulfillment of a degree, certificate, or general education requirement, please see the official course outline of record, available on the Courses and Programs webpage at https://www.miracosta.edu/governance/courses-and-programs-committee/curriculum-management-system.html.

Courses

CS 101: Introduction to Computer Science Principles

Units: 3
Prerequisites: None
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring, and Summer

This course introduces beginning or exploring students to core principles, theories, and topics in computer science while emphasizing their relevance in society. Topics include general computational problem-solving techniques, design of digital devices, how computers work, and how to design, implement, test, and document programs in both an interactive and a high-level programming language (Python). This course is highly recommended for students prior to taking a beginning programming class (CS 111, CS 150, CS 130, CS 138, or CS 155), non-computer science majors, or those interested in exploring computer science.

CS 111: Introduction to Computer Science I: Java

Units: 3
Prerequisites: None
Advisory: MATH 64 or and CS 101 MATH 64S
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring, and Summer

This course introduces object-oriented programming and concepts designed primarily for students majoring in computer science and engineering who have some programming fundamentals. The course uses topics of personal and social relevance to investigate the impacts of computing through exploring 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. UC CREDIT LIMITATION: No credit for CS 111 if taken after CS 112. C-ID COMP-122, ITIS-130.

CS 112: Introduction to Computer Science II: Java

Units: 3
Prerequisites: CS 111.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring, and Summer

This course uses topics of personal and social relevance to investigate the impacts of computing through exploring advanced object-oriented programming concepts such as abstraction, inheritance, polymorphism, and encapsulation. Topics include recursion, generics, event-driven programming, graphical user interfaces, file input and output, 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.
Course Typically Offered: Fall, Spring, and Summer

The course uses topics of personal and social relevance to investigate the impact of computing through efficient algorithms and properly designed data structures. Students explore the software development process by developing effective solutions using industry-standard tools. Topics include searching, sorting, hashing, algorithm analysis, object-oriented design, collections, lists, stacks, queues, trees, sets, dictionaries, and graphs. C-ID COMP-132.

CS 130: Fundamentals of Scripting Languages

Units: 3
Prerequisites: None
Advisory: CS 101.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Spring

This course introduces students to scripting language(s) and webpage programming. Students develop, debug, implement, and integrate client-side scripts using automated tasking. Comparisons may be made among common scripting languages, such as JavaScript, PHP, Perl, and CGI.

CS 134: Mobile Application Development

Units: 3
Prerequisites: CS 112.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Spring

This course covers how to develop applications for smartphones and tablets with the Android open-source platform. Topics include the Model-View-Controller architecture, designing and handling user input, defining activity layouts, application events, displaying images, managing navigation, and core device features, such as GPS, the Google Maps API, accelerometers, and touch gestures. Students leverage and expand their Java programming knowledge to build mobile applications from start to finish.

CS 138: Programming with Python

Units: 3
Prerequisites: None
Advisory: CS 101.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring, and Summer

This course introduces the Python programming language and its features. Python, a dynamic, object-oriented, extensible language, is perfect for the beginner and also meets industry needs. Python is well-suited for applications ranging from simple data manipulation to large, complex applications.

CS 150: C++ Programming

Units: 3
Prerequisites: None
Advisory: MATH 64 or and CS 101 MATH 64S
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring, and Summer

Using an object-oriented 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++. C-ID COMP-122.

CS 151: Advanced C++ Programming

Units: 3
Prerequisites: CS 150.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring

In this advanced programming course, students design and implement increasingly complex C++ programs that build upon skills acquired in C++ Programming (CS 150). Students also develop appropriate and efficient methods to test their programs. Topics include polymorphism, inheritance, class libraries, the standard template library, pointers, advanced file input/output operations, recursion, virtual functions, exception handling, dynamic memory management, bitwise operators, and data structures, such as linked lists, stacks, queues, and binary trees.

CS 155: C# and the .NET Framework

Units: 3
Prerequisites: None
Advisory: CS 101.
Acceptable for Credit: CSU
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall

This course provides an introduction to the C# ("C Sharp") programming language and the .NET framework. The C# language encompasses functional, generic, object-oriented, and component-oriented programming disciplines. The .NET framework provides the foundation of language interoperability for the Microsoft Windows operating system. C# is designed for modern software development and provides the tools to build applications quickly.

CS 210: Software Engineering

Units: 3
Prerequisites: CS 112.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring

This course introduces students to team-based software development and engineering methods, including specification, design, implementation, testing, and process. It emphasizes team development, agile methods, software design, and use of software engineering tools, such as integrated development environments, version control, automated test framework, build automation, and software containers. As a culminating project, each team produces three deliverables: a Software Requirements Specification document, a Software Design Specification document, and an executable application satisfying stakeholder requirements.

CS 220: Computer Architecture and Assembly Language

Units: 3
Prerequisites: CS 112.
Acceptable for Credit: CSU, UC
Lecture 2 hours, laboratory 3 hours.
Course Typically Offered: Fall, Spring, and Summer

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. C-ID COMP-142.

CS 226: Discrete Structures

Units: 4
Prerequisites: CS 150 and MATH 126, MATH 126S, or eligibility determined by the math placement process.
Acceptable for Credit: CSU, UC
Lecture 3.50 hours, laboratory 1.50 hours.
Course Typically Offered: Fall, Spring

Designed for students majoring in computer science, this course introduces discrete mathematics, including logic, methods of proof, number theory, sets, counting, relations, recursion, recurrence relations, Boolean algebra, graphs, trees, and networks. Topics are illustrated with applications to computer science, including design and analysis of algorithms, undecidability, program correctness, and digital logic design. C-ID COMP-152.

CS 292: Internship Studies

Units: 0.5-3
Prerequisites: None
Corequisite: Complete 75 hrs paid or 60 hrs non-paid work per unit.
Enrollment Limitation: Instructor, dept chair, and Career Center approval. May not enroll in any combination of cooperative work experience and/or internship studies concurrently.
Acceptable for Credit: CSU
Course Typically Offered: To be arranged

This course provides students the opportunity to apply the theories and techniques of their discipline in an internship position in a professional setting under the instruction of a faculty-mentor and site supervisor. It introduces students to aspects of the roles and responsibilities of professionals employed in the field of study. Topics include goal-setting, employability skills development, and examination of the world of work as it relates to the student's career plans. Students must develop new learning objectives and/or intern at a new site upon each repetition. Students may not earn more than 16 units in any combination of cooperative work experience (general or occupational) and/or internship studies during community college attendance.

CS 299: Occupational Cooperative Work Experience

Units: 1-4
Prerequisites: None
Corequisite: Complete 75 hrs paid or 60 hrs non-paid work per unit.
Enrollment Limitation: Career Center approval. May not enroll in any combination of cooperative work experience and/or internship studies concurrently.
Acceptable for Credit: CSU
Course Typically Offered: To be arranged

Cooperative Work Experience is intended for students who are employed in a job directly related to their major. It allows such students the opportunity to apply the theories and skills of their discipline to their position and to undertake new responsibilities and learn new skills at work. Topics include goal-setting, employability skills development, and examination of the world of work as it relates to the student's career plans. Students may not earn more than 16 units in any combination of cooperative work experience (general or occupational) and/or internship studies during community college attendance.

Campus Locations

MiraCosta Community Learning Center

1831 Mission Avenue
Oceanside, CA 92058
760.795.8710
888.201.8480
View Map

View Campus Map
MiraCosta Oceanside Campus Building

1 Barnard Drive
Oceanside, CA 92056
760.757.2121
888.201.8480
View Map

View Campus Map
MiraCosta San Elijo Campus

3333 Manchester Avenue
Cardiff, CA 92007
760.944.4449
888.201.8480
View Map

View Campus Map
MiraCosta Technology Career Institute Building

2075 Las Palmas Drive
Carlsbad, CA 92011
760.795.6820
888.201.8480
View Map

Visit Career Institute