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

Classroom: MWF: 1:10p-2:00p, R: 2:40p-3:30p or 4:10p-5:00p, 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: MF 1:10–2, W 3:10–4, R 9:10–10
drop-ins, appointments always welcome
Lab assistants: Sun, 7p-9p: Whitney Maguffee
Mon, 7p-9p: Tony Johnson
Tue, 7p-9p: Tony Johnson
Wed, 7p-9p: Whitney Maguffee
Thu, 7p-9p: Katie Wright

Useful links

Installing Jigsaw
Programming via Java textbook
ACM API (alternate site)
Java API (alternate site)
Sauron submission system (instructions)

Schedule

The assignment of topics to days will change as the class progresses.

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

Wed 26 Aug the programming process §1.2
variables and objects §2.1–2.4
method documentation §3.1–3.2
Thu 27 Aug Assn 1 lab day
Fri 28 Aug terminology
object references §3.3
using numbers §4.1–4.4
Mon 31 Aug Practice 1 posted
while loops §5.1
conditions §5.2
Wed 2 Sep increment operators §5.3
graphics programs §6.1–6.2
animation §6.3
Thu 3 Sep Assn 1 due
Assn 2 lab day
Fri 4 Sep style & readability §1.5
compounding graphics §6.4
Quiz 1 [Review]
7 Sep Labor Day - no classes
Wed 9 Sep Practice 2 posted
if statements §7.1–7.2
else clause §7.3
braces & indentation §7.4
Thu 10 Sep Assn 2 due
Assn 3 lab day
Fri 11 Sep variable scope & initialization §7.5
String class §8.1–8.2
Mon 14 Sep Assn 4 lab day
Wed 16 Sep Practice 3 posted
String methods §8.3–8.4
for loop §9.1
break statement §9.2
Thu 17 Sep Assn 3 due
Assn 5 lab day
Fri 18 Sep Exam 1 [Review]
Mon 21 Sep Assn 4 due
packages §10.1
static methods §10.2
constants §10.3
Wed 23 Sep Practice 4 posted
subclasses §11.1
superclass variables §11.3–4
casting & instanceof §11.5–6
Thu 24 Sep Assn 5 due
Assn 6 lab day
Fri 25 Sep data representation (reading)
Mon 28 Sep Assn 7 lab day
Wed 30 Sep defining methods §12
Thu 1 Oct Assn 6 due
Assn 8 lab day
Fri 2 Oct user interaction §13.1
null references §13.2
Quiz 2 [Review]
Mon 5 Oct Assn 7 due
instance variables §13.3–4
context-free grammars (reading)
Wed 7 Oct context-free grammars (reading)
Thu 8 Oct Assn 8 due
Assn 9 lab day
Fri 9 Oct creating classes §14.1–14.2
Hexes.java
Mon 12 Oct Assn 10 lab day
Wed 14 Oct Fraction class §14.4
15–16 Oct Fall break - no classes
Mon 19 Oct Assn 9 due
class canceled due to illness
Wed 21 Oct private protection §14.3
Euclid's GCD algorithm
Thu 22 Oct Assn 10 due
Assn 11 lab day
Fri 23 Oct Exam 2 [Review A, Review B]
Mon 26 Oct subclasses §15.1–2
overriding methods §15.3–4
BouncingBalls.java
Wed 28 Oct array introduction §19.1
mode computation §19.2
Thu 29 Oct Assn 12 lab day
Fri 30 Oct class canceled for network emergency
Mon 2 Nov Assn 11 due
Assn 13 lab day
Wed 4 Nov recursion introduction §17
Thu 5 Nov Assn 12 due
Assn 14 lab day
Fri 6 Nov recursion trees §18.1
recursion: anagrams §18.2
Quiz 3 [Review A, Review B]
Mon 9 Nov Assn 13 due
recursion: tree §18.4
main method
interfaces §24.3
GUI basics §24.0–24.2
GUI events §24.4
Wed 11 Nov more Swing §24.5
CSciClasses.java
Thu 12 Nov Assn 14 due
Assn 15 lab day
Fri 13 Nov sorting §20
Mon 16 Nov Scheme introduction (§1–3 of reading)
Wed 18 Nov Scheme lists (§4–5 of reading)
Thu 19 Nov Assn 15 due
Assn 16 lab day
Fri 20 Nov Scheme mergesort (§6 of reading)
Quiz 4 [Review A, Review B]
Mon 23 Nov TBA
25–29 Oct Thanksgiving - no classes
Mon 30 Nov Assn 17 lab day
Wed 2 Dec TBA
Thu 3 Dec Assn 16 due
Assn 18 lab day
Fri 4 Dec TBA
Mon 7 Dec Assn 17 due
TBA
Fri 10 Dec Assn 18 due (no class - due date only)
Wed 16 Dec Final, 9am [Review]
17 Dec–10 Jan Winter break