Schedule

This schedule is tentative. Readings and labs will be posted as the semester progresses. Check this  page frequently for updates.

Skip to week: Current 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Final

Week Day Date Lecture or Discussion Topic Reading(s) Lab Assignments Due
1 Mon Jan 23
Introduction




Wed Jan 25
Data representation
Grinnell's Linux Environment
Introduction to the MathLAN
Homework 0

Fri Jan 27
The Linux shell and paths

Introduction to Linux
2 Mon Jan 30
Binary numbers and arithmetic



Wed Feb 1
Characters [slides:ppt]

Integer representation
[partner assignments]


Fri Feb 3
Negative [handout:pdf]

Homework 1
3 Mon Feb 6
A brief introduction to ethics
Quinn, Barger (eReserve - see "Library Resources" on PWeb)

Response

Wed Feb 8
Introduction to image representation [slides:pdf]

Digital images and color
[partner assignments]


Fri Feb 10
Image compression and fractional numbers


Homework 2
4 Mon Feb 13
Digital data & copyright
CACM

Response

Wed Feb 15
How the Internet works




Fri Feb 17


Networks and Web browsers
Homework 3
5 Mon Feb 20
Privacy on the Internet
CACM

Response

Wed Feb 22

The Web and HTML
HTML basics
[partner assignments]


Fri Feb 24


Making your own web site
Homework 4
6 Mon Feb 27
Security
CACM

Response

Wed Feb 29
OPTIONAL:
Midterm review session, 1:00 - 1:45 p.m.
Bring your questions!


Homework 5

Fri Mar 2
Midterm 1 (SCI 2022)
7 Mon Mar 5
Software as intellectual property CACM

Response

Wed Mar 7

Algorithms and Computer Programming Programming in Python
[partner assignments]


Fri Mar 9


Numbers in Python
[partner assignments]

8 Mon Mar 12
Computing as profession
CACM

Response

Wed Mar 14


Conditionals & repetition in Python
[partner assignments]


Fri Mar 16
Mobile phone security
(guest lecturer)

Optional: ASCII art in Python
Homework 6
Spring Break 
Week   Date Topic Reading  Lab  Assignments
9 Mon Apr 2
Artificial intelligence CACM

Response

Wed Apr 4
Relational databases

Creating & querying databases with SQL
[partner assignments]


Fri Apr 6
Database design

Creating your own database
Essay proposal
10 Mon Apr 9
Ubiquity CACM

Response

Wed Apr 11
Usability principles
Usability principles
Usability show & tell Bring an item for usability show & tell! (See the reading.)

Fri Apr 13
Evaluating usability

Usability testing Homework 7
11 Mon Apr 16
Accessibility CACM

Response

Wed Apr 18
Digital logic
Digital logic


Fri Apr 20


Digital circuit design
Sentence outline
12 Mon Apr 23
Global development CACM

Response

Wed Apr 25

Computer organization
Datapath & memory
[partners]


Fri Apr 27


Machine language
[partners]

Homework 8
13 Mon Apr 30
Energy CACM

Response

Wed May 2
Searching
Efficiency of algorithms
Run-time experiments
Revision plan

Fri May 4


Functions and lists in Python
[partners]

14 Mon May 7
Complexity & computability
CACM

No response!

Wed May 9
Sorting

Sorting
Final paper

Fri May 11
Wrap-up & course evaluations
LATE START 1:15 p.m.


Homework 9

Thu
May 17
Midterm 2, 2 p.m. (SCI 2022)

Janet Davis (davisjan@cs.grinnell.edu)

Created January 12, 2012
Last revised May 4, 2012