Resources Grading Syllabus My Grades

Spring Semester 2004

A201 Web-Based Bulletin Board


Week 17 (May 3-8) Final Exams Days
Week 16 (Apr 26-May 1) Lecture Apr 27 Lecture Apr 29 Labs Apr 29-30 Readings Last? (Wrap-up).
Week 15 (Apr 19-24) Lecture Apr 20 Lecture Apr 22
MAKEUP (M2/M1)
Labs Apr 22-23
(Drawing Lines)
Readings Thirteen: Ch. 8, 12, 15 (excerpts)
Week 14 (Apr 12-17) Lecture Apr 13 Lecture Apr 15 Labs Apr 15-16
(Double-buffering)
Readings Twelve: Ch. 14
Week 13 (Apr 5-10) Lecture Apr 6
(Vectors)
Lecture Apr 8
(Events)
Labs Apr 8-9
(Applets)
Readings Eleven: Ch. 7
Homework Seven
Week 12 (Mar 29-Apr 3) Lecture Mar 30
(Parallel Arrays)
Lecture Apr 1
(Inheritance)
Labs Apr 1-2
CATCH-UP
Midterm Two (Mar 31 7-9pm)
Rawles 100
Readings Ten: Ch. 13
Week 11 (Mar 22-27) Lecture Mar 23
(Java Fandango)
Lecture Mar 25
(Help w/ HW5)
Labs Mar 25-26
(PRACTICAL)
PRACTICAL EXAM
Readings Nine: Ch. 11
Homework Six
Week 10 (Mar 15-20) SPRING BREAK No Reading Assignment?
Week 9 (Mar 8-13) Lecture Mar 9
(Java Arrays)
Lecture Mar 11
(contains, fun)
Labs Mar 11-12
(Arrays and Methods)
Readings Eight: Ch. 10
Homework Five
Midterm One Makeup this week
Week 8 (Mar 1-7) Lecture Mar 2
(Fractions)
Lecture Mar 4
(Methods)
Labs Mar 5-6
(Recipes)
Readings Seven: Ch. 10
Homework Four
Week 7 (Feb 23-28) Lecture Feb 24
(More Loops)
Lecture Feb 26
(The Game of Nim)
Labs Feb 26-27
(Tokenizers)
Readings Six: Ch. 9
Week 6 (Feb 16-21) Lecture Feb 17
(Dilbert Lecture)
Lecture Feb 19
(Basic Loops)
Labs Feb 19-20
(Patterns)
Readings Five: Ch. 6
Homework Three
Week 5 (Feb 9-14) Lecture Feb 10
(Constructors)
Lecture Feb 12
(Decisions)
Labs Feb 12-13
(Objects, Methods)
Lab Assignment Four
Midterm One (Feb 11 7-9pm)
(Morrison Hall 007)
Readings Four: Ch. 5
Week 4 (Feb 2-7) Lecture Feb 3
(Classes, Objects)
Lecture Feb 5
(Diagrams)
Labs Feb 5-6
(Modeling)
Readings Three: Ch. 4
Homework Two
Week 3 (Jan 26-30) Lecture Jan 27
(Syntax)
Lecture Jan 29
(Predicates)
Labs Jan 29-30
(More Basic Programs)
Homework One
Readings Two: Ch. 3
Week 2 (Jan 19-24) Lecture Jan 20
(Variables, Types)
Lecture Jan 22
(Numbers, Strings)
Labs Jan 22-23
(Basic Programs)
Readings One: Ch. 2
Week 1 (Jan 12-17) Lecture Jan 13
(Programming)
Lecture Jan 15
(Algorithms)
Labs Jan 15-16
(Getting Started)
Problems and Pain
(The Road Less Travelled)

A highlight of an active link means the document the link points to is in its final stage for this semester.


Class Resources

We are going to cover

The Wu book.
Lecture and labs will be based on it.

A companion volume of lecture notes is also available from McGraw-Hill.
Entitled "Soaked in Java" it can be downloaded from here (covers listed separately).

Here's a more comprehensive set of web notes (in HTML format).

Other resources:

Here are your instructors for the semester:
Adrian German
Lecturer (dgerman)
LH201D, 855-7860
Joe Tucker
AI (jptucker)
Jeremy Engle
AI (jtengle)
Stephanie Gato
UI (sgato)
Geun-Tae Kim
AI (geunkim)
Kristen Underwood
UI (krlunder)
Sriram Raguraman
AI (sraghura)
Shashi Penumarthy
AI (sprao)
Steve Ganz
AI (sganz)
Dave Gaunt
Volunteer AI
(Thanks Dave!)

Here also is a tentative list of assignments of labs and office hours:

1316 thu lh025 6:50pm- 8:45pm sprao
1317 thu bh118 6:50pm- 8:45pm sgato sraghura dgaunt
1318 fri bh308 8:00am- 9:55pm jtengle geunkim
1320 fri bh308 10:10am-12:05pm sraghura geunkim
1321 fri bu407 11:15am- 1:10pm sgato jtengle
1322 fri sb221 12:20pm- 2:15pm sprao krlunder
1323 fri lh025 12:20pm- 2:15pm jptucker
1324 fri lh025 2:30pm- 4:25pm jptucker
1325 fri bh308 2:30pm- 4:25pm krlunder sganz
Office hours when R(10-12) M(11-1) MW(11-12) W(2:30-4:30) T(1-3) M3:30-5:30 W1-3 MTWRF(2-3) T(11:30-1:30)
where LH201D LH201D LH310 LH201D LH330A LH201D LH201D LH201D LH230A
dgerman

Grading Course grades will be (posted in OnCourse and will be) determined as follows:

Component Weight
About 6 Homework Assignments 25%
About 14 Lab Assignments 30%
Midterm Exam One 10%
Midterm Exam Two 10%
Practical Exam 10%
Final Exam 15%
Lecture Minute Papers 5%
TOTAL 105%

The overall cutoff scale is as follows:

0-54 55-65 66-67 68-69 70-75 76-77 78-79 80-85 86-87 88-89 90-95 96-100
F D D+ C- C C+ B- B B+ A- A A+

Syllabus Here's a brief syllabus for A201/A597/I210 this semester:

  1. Introduction.
  2. Fundamental data types.
  3. User-defined types.
  4. Decisions.
  5. Iteration.
  6. More about methods.
  7. Inheritance.
  8. Arrays and vectors.
  9. Algorithms.
  10. Applets.
  11. Basic event-handling.
  12. Basic graphical user interfaces.
  13. Introduction to threads.
  14. Review of interfaces, abstract classes, exceptions.
  15. Basic video game design with Java.
  16. Case-study one: The alien landing game.
  17. Case-study two: A penguin in an Iceblox world.
  18. Networking with Java RMI (a truly amazing experiment).

Exams (and Grading, also see above):

Three written exams,

  1. two midterms and
  2. a final (both outside of class).

One practical exam,
  1. (during one of the labs).

Each of the 14 labs comes with
  1. a specific lab assignment
  2. to be turned in for credit.

There are six homework assignments on
  1. Types, expressions, basic statements, simple programs.
  2. User-defined types.
  3. Decisions and iteration.
  4. Programming with Java arrays.
  5. Graphics and event-handling in applets.
  6. Basic data structures (arrays, Vectors and Hashtables).

Minute papers collected every lecture count towards final grade.

There are multiple-choice exercises posted for practice in QuizSite.

All weekly reading assignments will be posted on the website before the end of the first week of classes.

Structure of labs (115 minutes long each):

The AI uses the first 15-20 minutes to go through the entire class and individually takes attendance, greets students to the lab, and asks each student to identify one or two most outstanding questions (s)he might have about the current or forthcoming lab and homework assignment. Thus the AI builds a set of FAQ for the lab, each lab, and soon learns the names of all students in the lab.

The AI combines the answers into a 20-30 min presentation which may involve student participation. The presentation is blending the topic for the day (predetermined) with the answers to the FAQ collected by the ad-hoc survey.

Last 60-70 minutes of the lab the AI again goes through the entire set of students and checks that the lab assignment has been understood (including details of submission of work in OnCourse). During the lab may have to run programs and answer questions, so come as prepared as you can. Although labs are primarly for learning, and not for testing, we think that what we cannot create we cannot understand, and whatever we learn we learn by doing, also that programming is not a spectator sport, so the approach we take is active learning.

Basic grading scale for the lab (details can vary from lab to lab):

25-45 points for showing up (depends on the lab)
up to 10 points for initial interaction (for the FAQ)
(4, 3, 2, or 1) x 10-20 points (depends on the lab) if the program is worth an A, B, C, or D.
Note: 95 is the highest A, 90 is the lowest. Points above 95 are only given for student work that is of such quality that it makes the AI want to share it with the entire class. Grade cutoffs are posted on the website, above.

Labs are meant to stimulate participation and encourage learning.

Exams and (to a significant extent) homework assignments are the main testing instruments used in the class.


Updated by Adrian German for A201/A597 and I210