CS101  Introduction to Computing Principles
Instructor: Ashley Taylor
Welcome to CS101, an introduction to the key ideas of computing.
Fall lecture: Tu/Thu 3:004:20 in Gates B12. Please bring a laptop to class to follow along with the inclass exercises.
For high schools or other outside groups, a version of the materials are freely available at introcomputing.org.
Course Schedule
Week 
Day 
Lecture Notes 
Readings 
1 
Tuesday 
Introduction and Computer Software

Introduction to Code
Running and Operating Systems
Languages and Open Source


Thursday 
Computer Hardware

Computer Hardware



Homework 1 due Wednesday, October 3 
Written Exercises
Code Exercises

2 
Tuesday 
Data and Storage 
Bits and Bytes
Bits and Gigabytes
Compression
Variables



Thursday 
Images

Image1 Introduction
RGB Everywhere
Image2 Code



Homework 2 due Wednesday, October 10 
Written Exercises
Variable Exercises
Image Exercises

3 
Tuesday 
For Loops
Code from Lecture 
Loops
Expressions
Puzzles
Grayscale


Thursday 
If Statements
Code from Lecture

If Statements
More If Statements
Bluescreen



Homework 3 due Wednesday, October 17 
Written Exercises
Code Exercises Part 1
Code Exercises Part 2

4 
Tuesday 
Fancy Filters
Code from Class

Advanced Bluescreen


Thursday 
Spreadsheets and Data

Introduction to Tables
Fancier If Statements
Boolean Logic
Boolean Not
Nom Nom Exercise
Counting with Tables
More Counting with Tables



Homework 4 due Wednesday, October 24 
Written Exercises
Code Exercises Part 1

5 
Tuesday 
Artificial Intelligence

WIRED article on pitfalls of AI
Google's Letter to Investors


Thursday 
Midterm Review




No Homework! 
Paper due November 16, 11:59PM 
6 
Tuesday 
Midterm October 30 (in class, STLC 115) 
Reference Sheet
Cover Page
Spring 2018 Midterm
Spring 2018 Midterm Solutions
Solutions


Thursday 
The Internet

Introduction to Networks
Wifi
The Internet



Homework 5 due Wednesday, November 7

Written Exercises

7 
Tuesday 
Servers and Backend



Thursday 
Core Application Components




Homework 6 due Wednesday, November 14 
Written Exercises

8 
Tuesday 
Clients and Frontend

The Web


Thursday 
HumanComputer Interaction




Homework 7 due Wednesday, November 28 
Written Exercises

9 
Tuesday 
Security

Passwords
Phishing
Malware
Bad Guys
Safe Practices
Encryption


Thursday 
Cryptocurrency and Privacy

Web Economics
From the Headlines
TCP/IP Tracking
Government vs. Internet



Homework 8 due Wednesday, December 5 
Written Exercises

10 
Tuesday 
Theory and Conclusions

CS101 Conclusions
Quantum Computing Video


Thursday 
Final Review



Monday, December 10, 8:3011:30AM Rm 200203 (Main Quad) 
Final 
Spring 2018 Final
Spring 2018 Final Solutions
Fall 2018 Final Solutions
