You are here

Computer Science 101

Date: 
Tuesday, July 15, 2014 to Thursday, August 28, 2014
Platform: 

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.

CS101 Promo Video

In CS101, participants 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.

Topics:

  • 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

This July-2014 version is the newest edition of CS101, and it's now running on Stanford's own Stanford Online site. There was an older version we ran on Coursera, so you may see links pointing to the old version scattered around the internet.

PREREQUISITES

Zero computer experience is assumed beyond a basic ability to use a web browser.

FAQ: 

Is there a statement of accomplishment available?

Yes.

What sort of work is required?

CS101 has a "lab" component where students play with short bits of computer code, on their way to understanding the nature of computers. That's more involved than answering multiple choice questions. These code-writing exercises ramp up gradually.

Is a book required?

No. We do provide extensive written notes to go with each lecture, for review, or for people who learn better that way.

What computer language is used?

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.

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.

Instructor(s)

Nick Parlante

Nick Parlante has been teaching Computer Science at Stanford for over 20 years, and teaches programming best practices at Google. Nick has also produced the Google Python Class and codingbat.com code practice site, and the infamous Binky Pointer Fun video.