Computer Science

Apply Now

Program Spotlight

The Computer Science offerings at Skyline College are intended to give students a solid foundation in computer programming, as well as an opportunity to investigate personal computer use with a micro computer, and the societal implications of our growing use and dependence on computerized technology.

Our computer programming courses include programming in VISUAL BASIC (Comp 155) for students interested in a one semester introductory course; as well as a three semester sequence of C (Comp 190), Advanced C (Comp 250), and C++ (Comp 684) for students wanting a more sophisticated foundation in computer programming.

Employment Statistics

Average Salary in California

National Ranking in Employment*

Computer Programmers

Computer Systems Analyst

* California employs the highest percentage of professionals in this role.

Sources: U.S. Department of Labor

Many job paths are available with a degree in computer science: these are just two of many, many roles you could achieve!

The Field

Computer Science is the study of computers and computational systems. Unlike electrical and computer engineers, computer scientists deal mostly with software and software systems; this includes their theory, design, development, and application. In order to succeed in Computer Science, students should possess a passion for technology and will need to develop strong analytical, critical thinking and problem solving skills.

Skyline College currently offers an Associate Degree for Transfer in Computer Science which allows students to easy transfer to the California State University.

Career Outlook

Jobs in Computer Science are growing at an increasingly fast pace as the tech industry expands. Some jobs include Information Security Analysts, Computer Systems Analysts, Computer and Information Research Scientists, Computer Network Support Specialists, Computer User Support Specialists, Database Architects, Database Administrators, Computer Network Architects, Network and Computer Systems Administrators, Web and Digital Interface Designers, Web Developers, Computer Programmers, Software Quality Assurance Analysts and Testers, Software Developers, Data Scientists and more.

Salaries in computer-related jobs vary greatly depending on education level and industry sector. Computer Programmers in California make an average of $114,740 per year according to the U.S. Department of Labor. You can view the employment data for a variety of jobs attainable with a path in computer science on the Computer and Mathematical Occupations page from the Bureau of Labor Statistics.

Looking for a list of classes offered this semester?

Check out the current class schedule.

All Courses

COMP 121 The Art of Coding: iOS App Development with Swift (3 units)

Introduction to computer hardware and the programming commands to control them. Topics Include: hardware, operating systems, the Software Development Life Cycle, Algorithm development, functions, file IO, classes, and more. Students will use the Swift programming language and Apple’s xCode development environment to design and test basic object-oriented, event-driven iOS apps for deployment on an iPhone or iPad. Engages students in basic computer science concepts and skills necessary to move into and excel in computer science and engineering courses.

COMP 122 Introduction to Programming: Python (3 units)

Designed to teach computer programming to major and non - Computer Science majors with an introduction to Python Programming in interesting, relevant, and practical contexts. Focus is on hands-on Python programming skills, problem-solving using algorithmic thinking, abstraction, implementing an algorithm to executable code, debugging and testing software programs. Fundamental programming constructs such as variables, data types, selection, iteration, functions, data structures (lists, strings, dictionaries, tuples, DataFrames), file I/O, and other core concepts are covered. Applications focus on computational techniques to understand, analyze, and automate data analysis, basic encryption algorithms, matrix manipulation, sorting and searching algorithms, basic game design, and more.

COMP 155 Computer Programming Visual Basic (3 units)

An introduction to computer programming using the high level language VISUAL BASIC. The course covers terminology and syntax, event-driven and object-oriented programming, how to solve problems starting with descriptions of the problem in English and translating the description into Visual Basic.

COMP 250 Introduction to Object-Oriented Programming: C++ (3 units)

Introduction to programming and software engineering for computer science and engineering majors and computer professionals. A systematic approach to the design, implementation, and management of robust C++ computer programs. Course emphasizes Object-Oriented programming design, programming documentation, testing and debugging techniques. This course conforms to the ACM CS1 standards.

COMP 251 Introduction to Microcontrollers with C/C++ (1 units)

Introduction to computer programming concepts and methodologies in C/C++ using microcontrollers to program computer circuits and hardware. Covers a microcontroller such as the Atmel AVR or Arduino single-board computer and circuits like LED displays and servo motor controllers. Teaches algorithms, data types, memory usages and management, files and streams, hardware interfaces, sensors, motors, basic control techniques, and microcontroller peripherals including timers, analog-to-digital conversion, interrupts, and serial communication.

COMP 252 Data Structures: C++ (3 units)

Design and implementation of larger projects using object-oriented software engineering principles with emphasis on definition and use of data structures including: arrays, stacks, queues, linked lists, trees, hash tables, dictionaries, sets and graphs. Standard methods are used for sorting, searching and analyzing the relative efficiency of algorithms (Big-O notation). This course conforms to the ACM CS2 standards.

COMP 256 Computer Architecture and Assembly Language (3 units)

Covers the basics of Integrated Circuit technology, digital logic gates and circuit design, computer organization and ISA standard computer architecture, microcode, number systems and data representation, machine languages, Assembly languages and programming, memory systems, addressing, Operating Systems, interrupt/exception handling, input/output processing, and the connection between high-level language, assembly language, and machine operation on a microprocessor system.

COMP 262 Discrete Mathematics for Computer Science (3 units)

Covers the fundamental mathematical elements of computer science including mathematical logic, sets, functions and relations, generating functions, combinatorics, methods of mathematical proof, basic number theory, algorithms, graphs, and trees.

COMP 284 Introduction to Object-Oriented Programming: Java (4 units)

Introduction to object-oriented computer programming for computer science majors and computer professionals. Emphasizes object-oriented design, good software engineering principles and developing fundamental programming skills in Java. This course conforms to the ACM CS1 standards.

COMP 286 Data Structures: Java (3 units)

Abstract data type implementation and usage techniques for computer science majors and computer professionals. Object-oriented approach to a variety of abstract data types including: lists, stacks, queues, priority queues, trees, maps and graphs. Also includes advanced sorting and searching topics, and algorithmic analysis using Big-O notation. This course conforms to the ACM CS2 standards.

COMP 665 Selected Topics in Computer Science (0.5- 2 units)

This course explores selected contemporary topics or themes in Computer Science. Example topics include new programming languages, operating systems, net-centric computing, problem-solving and program design methodologies, software engineering processes, graphical user-interface design, information management, and contemporary issues in Computer Science.

COMP 695 Independent Study in Computer Science (0.5- 3 units)

Designed for students who are interested in furthering their knowledge via self-paced, individualized, directed instruction provided in selected areas to be arranged with instructor and approved by the division dean using the Independent Study Form. Varying modes of instruction can be used -- laboratory, research, skill development, etc. For each unit earned, students are required to devote three hours per week throughout the semester. Students may take only one Independent Study course within a given discipline.

Program Type Total Units
Computer Science for Transfer AS-T 60 Units

The Skyline College STEM Center brings together academic and student support services for students taking science, technology, engineering and math courses.

The center supports student success by ensuring students have access to resources such as academic tutoring, counseling services, a resource depository for STEM pathways and transfer, a hub for internships and work based learning opportunities, as well as a place where students and staff can collaborate and build a community and supportive connection.

Check out the STEM Center

Upon completion of the program students will be able to:

  • Demonstrate the ability to use sound ethical reasoning when discussing biological science and the use of biotechnological techniques.
  • Apply the knowledge of biological science to distinguish between observations, inferences, relationships, and testimonials under investigation.
  • Employ the appropriate techniques effectively and safely, including the appropriate use of equipment and tools to produce an acceptable outcome when performing a technical laboratory task.
Office Information
Location: Building 7
Email: swartoutb@smccd.edu
Phone: (650) 738-7939
Fall 2022 Courses

Type Status Title Days Time Instructor
OPEN for Waitlist COMP 122 - 97582 - Intro to Programming: Python
COMP 122 Introduction to Programming: Python

Designed to teach computer programming to major and non - Computer Science majors with an introduction to Python Programming in interesting, relevant, and practical contexts. Focus is on hands-on Python programming skills, problem-solving using algorithmic thinking, abstraction, implementing an algorithm to executable code, debugging and testing software programs. Fundamental programming constructs such as variables, data types, selection, iteration, functions, data structures (lists, strings, dictionaries, tuples, DataFrames), file I/O, and other core concepts are covered. Applications focus on computational techniques to understand, analyze, and automate data analysis, basic encryption algorithms, matrix manipulation, sorting and searching algorithms, basic game design, and more.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: None
Corequisites: None
Transfer Credit: CSU, UC
T Th 2:10pm-3:25pm Momeni, K
Day Class   OPEN COMP 250 - 97583 - Intro Object-Oriented Prog:C++
COMP 250 Introduction to Object-Oriented Programming: C++

Introduction to programming and software engineering for computer science and engineering majors and computer professionals. A systematic approach to the design, implementation, and management of robust C++ computer programs. Course emphasizes Object-Oriented programming design, programming documentation, testing and debugging techniques. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: MATH 222 or equivalent.
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122, ENGR 120
T Th 9:35am-10:50am Katz, A
OPEN COMP 250 - 97584 - Intro Object-Oriented Prog:C++
COMP 250 Introduction to Object-Oriented Programming: C++

Introduction to programming and software engineering for computer science and engineering majors and computer professionals. A systematic approach to the design, implementation, and management of robust C++ computer programs. Course emphasizes Object-Oriented programming design, programming documentation, testing and debugging techniques. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: MATH 222 or equivalent.
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122, ENGR 120
M 7:10pm-10:00pm Katz, A
Day Class   OPEN COMP 250 - 95776 - Object-Oriented Prog:C++ - ETS
COMP 250 Introduction to Object-Oriented Programming: C++

Introduction to programming and software engineering for computer science and engineering majors and computer professionals. A systematic approach to the design, implementation, and management of robust C++ computer programs. Course emphasizes Object-Oriented programming design, programming documentation, testing and debugging techniques. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: MATH 222 or equivalent.
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122, ENGR 120
T Th 9:35am-10:50am Katz, A
Evening Class   OPEN COMP 252 - 97585 - Data Structures: C++
COMP 252 Data Structures: C++

Design and implementation of larger projects using object-oriented software engineering principles with emphasis on definition and use of data structures including: arrays, stacks, queues, linked lists, trees, hash tables, dictionaries, sets and graphs. Standard methods are used for sorting, searching and analyzing the relative efficiency of algorithms (Big-O notation). This course conforms to the ACM CS2 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: COMP 250 or equivalent.
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 132
T 6:10pm-9:00pm Asghary Karahroudy, A
Day Class   OPEN COMP 256 - 97586 - Computer Arch. & Assembly Lang
COMP 256 Computer Architecture and Assembly Language

Covers the basics of Integrated Circuit technology, digital logic gates and circuit design, computer organization and ISA standard computer architecture, microcode, number systems and data representation, machine languages, Assembly languages and programming, memory systems, addressing, Operating Systems, interrupt/exception handling, input/output processing, and the connection between high-level language, assembly language, and machine operation on a microprocessor system.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: COMP 250 or equivalent.
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 142
T Th 11:10am-12:25pm Katz, A
Day Class   OPEN COMP 256 - 96621 - Computer Arch/AssemblyLang-ETS
COMP 256 Computer Architecture and Assembly Language

Covers the basics of Integrated Circuit technology, digital logic gates and circuit design, computer organization and ISA standard computer architecture, microcode, number systems and data representation, machine languages, Assembly languages and programming, memory systems, addressing, Operating Systems, interrupt/exception handling, input/output processing, and the connection between high-level language, assembly language, and machine operation on a microprocessor system.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: COMP 250 or equivalent.
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 142
T Th 11:10am-12:25pm Katz, A
Online Class IN
PROGRESS
COMP 262 - 97001 - Discrete Mathematics for COMP
COMP 262 Discrete Mathematics for Computer Science

Covers the fundamental mathematical elements of computer science including mathematical logic, sets, functions and relations, generating functions, combinatorics, methods of mathematical proof, basic number theory, algorithms, graphs, and trees.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: MATH 251 and COMP 250 or COMP 284 or equivalent.
Corequisites: None
AA/AS Degree Requirements: Area 9A3
Transfer Credit: CSU (CSU GE Area B4), UC (IGETC Area 2A)
C-ID: COMP 152
TBA Williams, P
Evening Class   IN
PROGRESS
COMP 284 - 97587 - Intro-Object-Oriented Pgm:JAVA
COMP 284 Introduction to Object-Oriented Programming: Java

Introduction to object-oriented computer programming for computer science majors and computer professionals. Emphasizes object-oriented design, good software engineering principles and developing fundamental programming skills in Java. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: None
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122
M W 5:10pm-6:25pm Hoffman, J
Evening Class   IN
PROGRESS
COMP 284 - 97587 - Intro-Object-Oriented Pgm:JAVA
COMP 284 Introduction to Object-Oriented Programming: Java

Introduction to object-oriented computer programming for computer science majors and computer professionals. Emphasizes object-oriented design, good software engineering principles and developing fundamental programming skills in Java. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: None
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122
W 6:35pm-9:25pm Hoffman, J
Evening Class   IN
PROGRESS
COMP 284 - 97100 - Object-Oriented Pgm:JAVA-ETS
COMP 284 Introduction to Object-Oriented Programming: Java

Introduction to object-oriented computer programming for computer science majors and computer professionals. Emphasizes object-oriented design, good software engineering principles and developing fundamental programming skills in Java. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: None
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122
M W 5:10pm-6:25pm Hoffman, J
Evening Class   IN
PROGRESS
COMP 284 - 97100 - Object-Oriented Pgm:JAVA-ETS
COMP 284 Introduction to Object-Oriented Programming: Java

Introduction to object-oriented computer programming for computer science majors and computer professionals. Emphasizes object-oriented design, good software engineering principles and developing fundamental programming skills in Java. This course conforms to the ACM CS1 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: None
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 122
W 6:35pm-9:25pm Hoffman, J
IN
PROGRESS
COMP 286 - 97245 - Data Structures II: Java
COMP 286 Data Structures: Java

Abstract data type implementation and usage techniques for computer science majors and computer professionals. Object-oriented approach to a variety of abstract data types including: lists, stacks, queues, priority queues, trees, maps and graphs. Also includes advanced sorting and searching topics, and algorithmic analysis using Big-O notation. This course conforms to the ACM CS2 standards.

Units: 3
Degree Credit
Letter Grade Only
  • Lecture hours/semester: 48-54
  • Homework hours/semester: 96-108
Prerequisites: COMP 284 or equivalent
Corequisites: None
Transfer Credit: CSU, UC
C-ID: COMP 132
M W 5:10pm-6:30pm Katz, A

Primary Contact

Bryan Swartout
Bryan Swartout (STEM Program Services Coordinator)
Science|Math|Technology-STEM Center
swartoutb@smccd.edu More details »

Department Faculty

Michael Kane
Michael Kane (Dean of Business, Education and Professional Programs)
Business, Education and Professional Programs-Division Office
kanem@smccd.edu More details »
Nick Langhoff
Nick Langhoff (Professor)
Science|Math|Technology-Engineering (ENGR)
langhoffn@smccd.edu More details »
Ali Karahroudy
Ali Karahroudy (Assistant Professor)
Science|Math|Technology-Engineering (ENGR)
karahroudya@smccd.edu More details »
James Hoffman
James Hoffman (Adjunct Instructor)
Science and Technology-Engineering
hoffmanj@smccd.edu More details »
Thomas Brooks McCall
Thomas Brooks McCall (Assistant Professor)
Science|Math|Technology-Engineering (ENGR)
mccallt@smccd.edu More details »