CSci 150: Foundations of computer science I
Home Syllabus Assignments Tests

Classroom: MWF: 9:10a-10:00a, R: 8:10a-9:00a, MCRey 315
Web page www.cburch.com/cs/150/
Instructor: Dr. Carl Burch
E-mail:
Telephone: 450-1377 (office); 548-0036 (home)
Office: MCRey 310
Office hours: M 8:10–9:00, T 8:30–9:30, WR 1:30–2:30, F 10:10–11:00
drop-ins, appointments always welcome
Lab hours: Sun, 7p-9p: Whitney Maguffee
Mon, 7p-9p: Tony Johnson
Tue, 7p-9p: Tony Johnson
Wed, 7p-9p: Whitney Maguffee

Useful links

Starting Wing 101
Graphics module download
Graphics module reference [alternative link]
How to Think Like a Computer Scientist on-line text
Python library reference (alternate site)
Sauron submission system (instructions)

Schedule

The schedule of topics will change as the class progresses.

Textbook references are on the right, prefaced by a section symbol §.

Wed 20 Jan First Python (examples) §2.2–2.5
procedural functions §1.6
Thu 21 Jan defined loops (examples) §2.6
expressions §3.1–3.2
Fri 22 Jan no class — program review
Mon 25 Jan Assn 1 lab day
Wed 27 Jan Assn 1 lab day
Thu 28 Jan accumulator variables (examples) §3.3
conditional statement §7.2
string values §4.1
Fri 29 Jan no class — snow day
Mon 1 Feb Assn 1 due
Assn 2 lab day
Wed 3 Feb string arithmetic (examples) §4.1
string indexing §4.1
Thu 4 Feb Assn 3 lab day
Fri 5 Feb string slices (examples) §4.1
lists §4.3
Mon 8 Feb Assn 2 due
Quiz 1 [Review]
changing lists (examples)
Wed 10 Feb assignments & references (examples)
using methods
Thu 11 Feb Assn 3 due
Assn 4 lab day
Fri 12 Feb graphics §5.3–5.4 (examples)
objects §5.2
Mon 15 Feb Assn 5 lab day
Wed 17 Feb while statements (examples) §8.2
more with graphics
Thu 18 Feb Assn 4 due
Assn 6 lab day
Fri 19 Feb binary representation (reading §1–2.1)
Mon 22 Feb Assn 5 due
Exam 1 [Review A, Review B]
Wed 24 Feb exam postmortem
two's-complement representation (reading §2.2–2.4)
Thu 25 Feb Assn 6 due
Assn 7 lab day
Fri 26 Feb more two's-complement
DeMorgan's law §8.4.2
Mon 1 Mar Assn 8 lab day
Wed 3 Mar functions & parameters §6.2–6.4
return values §6.5.1
namespaces §6.5.2
Thu 4 Mar Assn 7 due
Assn 9 lab day
Fri 5 Mar more with functions
Mon 8 Mar Assn 8 due
Quiz 2 [Review]
more with functions
Wed 10 Mar quiz postmortem
files §4.6
Thu 11 Mar Assn 9 due
Assn 10 lab day
Fri 12 Mar context-free grammars (reading)
13–21 Mar Spring break — no classes
Mon 22 Mar context-free grammars (reading)
Wed 24 Mar context-free grammars (reading)
dictionaries (examples) §11.6
Thu 25 Mar Assn 10 due
Assn 11 lab day
Fri 26 Mar Internet communication
HTTP basics
Mon 29 Mar Exam 2 [Review A. Review B]
Wed 31 Mar exam postmortem
more with Internet (examples)
Thu 1 Apr Assn 11 due
Assn 12 lab day
Fri 2 Apr recursion (examples)
Mon 5 Apr Assn 13 lab day
Wed 7 Apr more recursion (examples)
Thu 8 Apr Assn 12 due
Assn 14 lab day
Fri 9 Apr more recursion (examples)
Mon 12 Apr Assn 13 due
Quiz 3 [Review]
regular expressions
Wed 14 Apr regular expressions
Thu 15 Apr Assn 14 due
Assn 15 lab day
Fri 16 Apr the re module
classes (example)
Mon 19 Apr Assn 16 lab day
Wed 21 Apr classes, continued (example)
Thu 22 Apr Assn 15 due
Assn 17 lab day
Fri 23 Apr quadratic sorting algorithms (code)
Mon 26 Apr Assn 16 due
Quiz 4 [Review A, Review B]
merge sort (code)
Wed 28 Apr merge sort analysis
Thu 29 Apr Assn 17 due
Assn 18 lab day
Fri 30 Apr linked lists (code)
Mon 3 May game playing (code)
Thu 6 May Assn 18 due
Tue 11 May Final, 9am [Review]
13 May–23 Aug Summer break - no classes