Outline of lectures held so far. html. Contains pdfs of ppt slides and programs used in lectures.
Assignments. On the assignments page.
Labs. All recitation/sections are in the ACCEL lab, in the Engineering Library. We call them labs, and not recitations or discussions or sections.
Here is the grading policy on labs:
- You are expected to attend a lab session each week. You do not have to be formally registered in the lab you attend, but you should regularly attend the same lab. If you miss more than 3 labs (or don't do the assignment for 3 labs) without a reasonable excuse given to the Lab TA beforehand, we reserve the right to lower your grade a notch (e.g. from B to B-). We don't do this very often, but we reserve the right to do it.
- If you do not complete a lab the week on which it is handed out, complete it at home during the week and show it to your Lab TA the next week. TAs are instructed not to accept labs later than a week late unless you have received permission from your TA within 5 days of the actual due date. This means that you have to think ahead.
- Labs that are not completed by the next week, without a valid reason, will not be counted, unless as described in point 2.
- Please do not email the instructor(s) who to see or what to do if you missed a Lab. Communicate with your Lab TA.
- Lab 01. Expressions, variables, declarations, and assignments. During the lab, it will help to open the html version of the lab so that you can copy from it and paste in the DrJava Interactions pane, saving time. pdf html
- Lab 02. Creating objects, calling their methods, and writing subclasses. pdf html
- Lab 03. Writing and testing classes; static methods. pdf html ThreeDimPoint.java
- Lab 04. Writing functions that deal with Strings. pdf docx Methods.java
- Lab 05. Class Vector --used to maintain a list of objects that can grow and shrink. pdf html Lab05.java
- Lab 06. Recursion. pdf html Rec.java
- Lab 07. For-loops and assertions. Paper-and-pencil exercises on ranges, assertions, and for-loops and four functions to write whose bodies contain for-loops. pdf doc Lab07.java
- Lab 08. Abstract classes and methods. We introduce the notions of abstract classes and methods. pdf html DemoShapes.java Shape.java Parallelogram.java Rhombus.java Square.java
- Lab 09. Developing array algorithms from invariants. pdf doc
- Lab 10. We show you how to read a file that is on your hard disk. pdf html code&data
- Lab 11. We show you how to time execution of a method call and ask you to compare times for various searching and sorting methods. pdf doc Sorting.java TestArrays.java
- Lab 12. This lab is optional, and you do not have to show it to your TA. However, it is best that you do the lab yourself, because exception handling is on the final. The lab asks you to study and write code that uses exceptions, throw clauses, try-statements, etc. It's best if you read the chapter on exception handling first. pdf doc Lab12.java
First-day handouts.
- Course details doc pdf