UCSB CMPSC 8: Introduction to Computer Science

also: CMPTGCS 20: Introduction to CS for non-majors

CMPSC 8 is a course taught in the Dept. of Computer Science at UC Santa Barbara.

A course covering many of the same topics, “Introduction to CS for non-majors” is occasionally taught in CCS under the number CMPTGCS 20.

This site is maintained in this github repo: https://github.com/ucsb-cs8/ucsb-cs8.github.io. If you are a faculty member or TA that should have access to this page, contact Phill Conrad or Diba Mirza to request permission.

Which course should I start with? CS8 or CS16?

If you are taking your first course in Computer Science at UCSB, you may be wondering whether you should start in:

  • CS8, which is intended as a first course in Programming
    • CS8 targets folks that have never programmed before, and it is taught in Python
  • CS16, which is intended as a second programming course.
    • CS16 is taught in C++
    • CS16 does not assume prior background in C++
    • BUT, CS16 DOES assume prior background in programming (e.g. AP CS taught in Java)

So, there are some easy cases:

  • If you have never programmed before, you should start with CS8.
  • If you are proficient in Python or Java and confident of your programming abilities, but have not programmed in C++ before, you should start in CS16.

More nuanced cases are these:

  • If you already do have some programming background, but you are not particularly confident of those abilities, or it’s been a while and you need a refresher, you should likely start with CS8.
  • If you are proficient in C++ itself as a result of taking community college courses, check https://assist.org to see if those courses articulate to CS 16 (officially known as CMPSC 16) at UCSB. If so, you may be able to start directly in a later course such as CMPSC 24.

If you are still not sure, you may need to talk with an adviser. Brand new students can do this during summer orientation sessions when they register for courses. Continuing students may visit the CS adviser in the main CS office on the 2nd floor of Harold Frank Hall.

Textbooks

Tutorials