Preparing video…

Computer Science 101

CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. The course uses small coding experiments in the browser to play with the nature of computers, understanding their strengths and limitations. Sign up for the "To be announced" session to be notified by email when the class is next run, and sign up for "Self-Study" to start browsing the class materials right away. Self-Study mode makes all the videos and assignments available to be done at your own pace, but without a certificate of completion at the end.

Preview Lectures


Course at a Glance

About the Course

UPDATE: we're doing a live, updated MOOC of this course at stanford-online July-2014 (not this Coursera version). See here:

CS101 teaches the essential ideas of Computer Science for a zero-prior-experience audience. Computers can appear very complicated, but in reality, computers work within just a few, simple patterns. CS101 demystifies and brings those patterns to life, which is useful for anyone using computers today.

In CS101, students play and experiment with short bits of "computer code" to bring to life to the power and limitations of computers. Everything works within the browser, so there is no extra software to download or install. CS101 also provides a general background on computers today: what is a computer, what is hardware, what is software, what is the internet. No previous experience is required other than the ability to use a web browser.

Here is another video Nick created for this class.

Course Syllabus

CS101 topics are covered with a mixture of video lecture and active lab work, all in the browser:

  • The nature of computers and code, what they can and cannot do
  • How computer hardware works: chips, cpu, memory, disk
  • Necessary jargon: bits, bytes, megabytes, gigabytes
  • How software works: what is a program, what is "running"
  • How digital images work
  • Computer code: loops and logic
  • Big ideas: abstraction, logic, bugs
  • How structured data works
  • How the internet works: ip address, routing, ethernet, wi-fi
  • Computer security: viruses, trojans, and passwords, oh my!
  • Analog vs. digital
  • Digital media, images, sounds, video, compression


  1. What is Self-Study mode? 

    Self-Study mode makes all the videos and assignments available to be done at your own pace, but without a certificate of completion at the end.

  2. Will I get a statement of accomplishment after completing the next run of the class?

    Yes. Students who successfully complete the class will receive a statement of accomplishment signed by the instructor.

  3. What is the format of the class?

    The class will consist of lecture videos, which are broken into small chunks, usually between eight and twelve minutes each. Some of these may contain integrated quiz questions. There will also be standalone quizzes that are not part of video lectures, and programming assignments. There will be approximately two hours worth of video content per week.

  4. What sort of written support is there for the lectures?

    Each lecture comes with written document that parallels the video explanation, so there is something you can review after the lecture that includes all the examples and whatnot. Or put another way, you do not need to take detailed notes of the lecture -- it's already been done for you.

  5. Is any actual work required for this course?

    Yes. CS101 has a "lab" component where students play with short bits of computer code, on their way to understanding the nature of computers.

  6. Is a computer background needed for this course?

    Not at all. The course assumes zero computer knowledge. Everything you need to do in the labs will first be explained and demonstrated in the lectures.

  7. Do I need any particular software?

    Everything should work in a recent browser, so that should be simple. We'll have a list of which browser versions we've tested before the course starts.

  8. What computer language is used for CS101?

    CS101 uses a variant of Javascript. However, the code used in CS101 is very stripped down, avoiding all sorts of boilerplate that would get in the way of learning. As a result, CS101 code does not look like full, professional Javascript code.

  9. Is CS101 a full programming course?

    No. CS101 uses code to explore the nature of computers, but does not pursue code in the depth of a full programming course. Certainly CS101 students will have a real understanding of what code is and how it works, but not going so far as a full programming course. CS101 is an excellent first step for someone who then wants to take a full programming course.