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

Classroom: MWF: 2:10p-3:00p, R 2:40p-3:30p, MCRey 315
Web page www.cburch.com/cs/150/
Instructor: Dr. Carl Burch
E-mail: burch at grendel dot hendrix dot e d u
Telephone: 450-1377 (office); 548-0036 (home)
Office: MCRey 310
Office hours: T 2:40-3:30, RF 10:10-11:00, R 3:40-4:30
drop-ins, appointments always welcome
Tutor hours: M 6-8 Katie Wright
T 6-8 Don Bennett
W 6-8 Don Bennett
R 6-8 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 27 Aug the programming process §1.2
variables and objects §2.1–2.4
Thu 28 Aug more on objects §3.1–3.3
using numbers §4.1–4.4
Fri 29 Aug Assn 1 lab day
1 Sep Labor Day - no class
Wed 3 Sep while loops §5.1
conditions §5.2
increment operators §5.3
graphics programs §6.1–6.3
Thu 4 Sep compounding graphics §6.4
if statements §7.1–7.3
Fri 5 Sep Assn 2 lab day
Assn 1 due
Mon 8 Sep braces & indendentation §7.4
variable scope & initialization §7.5
String class §8.1–8.2
Wed 10 Sep Assn 3 lab day
Thu 11 Sep String methods §8.3
Quiz 1
Fri 12 Sep Assn 4 lab day
Assn 2 due
Mon 15 Sep equals method §8.4
for loop §9.1
break statement §9.2
static methods §10.2
constants §10.3
Wed 17 Sep data representation (reading)
Assn 3 due
Thu 18 Sep subclasses §11
Fri 19 Sep Assn 5 lab day
Assn 4 due
Mon 22 Sep defining methods §12
Wed 24 Sep Assn 6 lab day
Thu 25 Sep Exam 1
Fri 26 Sep Assn 7 lab day
Assn 5 due
Mon 29 Sep user interaction §13
Wed 1 Oct creating classes §14
Hexes.java
Assn 6 due
Thu 2 Oct creating subclasses §15.4
BouncingBalls.java
Fri 3 Oct Assn 8 lab day
Assn 7 due
Mon 6 Oct Fraction class §14
Euclidean GCD algorithm
Wed 8 Oct Assn 9 lab day
Thu 9 Oct arrays §19.1
Quiz 2
Fri 10 Oct mode computation §19.2
arrays of objects §19.3
Assn 8 due
Mon 13 Oct context-free grammars (reading)
Wed 15 Oct Assn 10 lab day
Assn 9 due
16-19 Oct Fall break - no classes
Mon 20 Oct context-free grammars, cont'd (reading)
overriding methods
Wed 22 Oct recursion introduction §17
Thu 23 Oct recursion — anagrams §18.2
Quiz 3
Fri 24 Oct Assn 11 lab day
Assn 10 due
Mon 27 Oct recursion — fractals §18.3–18.4
sorting techniques §20
Wed 29 Oct mergesort analysis
Scheme introduction (§1–3 of reading)
Thu 30 Oct Scheme lists (§4–5 of reading)
Fri 31 Oct Assn 12 lab day
Assn 11 due
Mon 3 Nov mergesort in Scheme (§6 of reading)
catching exceptions
Wed 5 Nov Assn 13 lab day
Thu 6 Nov Exam 2
Fri 7 Nov Assn 14 lab day
Assn 12 due
Mon 10 Nov char type §22.1
file I/O §22.2–22.3
main method, System.in
Wed 12 Nov interfaces §24.3
GUI basics §24.0–24.2
GUI events §24.4
Assn 13 due
Thu 13 Nov more Swing §24.5
other control constructs
Fri 14 Nov Assn 15 lab day
Assn 14 due
Mon 17 Nov generic type
ArrayList class
Wed 19 Nov Assn 16 lab day
Thu 20 Nov TBA
Quiz 4
Fri 21 Nov Assn 17 lab day
Assn 15 due
Mon 24 Nov TBA
26-30 Nov Thanksgiving break - no classes
Mon 1 Dec TBA
Wed 3 Dec TBA
Thu 4 Dec TBA
Fri 5 Dec no class
Assn 16 due
Mon 8 Dec TBA
Assn 17 due
Wed 17 Dec Final, 2:00pm
18 Dec-11 Jan Winter break