Schedule, Assignments, and Lecture Notes


Date
Assignments Due Lecture & Java Code Examples

Tue Jan 16 UT closure


Wed Jan 17 UT closure


Fri Jan 19 Read: pair programming Introduction

Mon Jan 22 Read: R&S, Ch 1 Language


Tue Jan 23 Discussion in PAI 5.70 Tools (presentation)


Wed Jan 24
Printing



Examples Start: start.java



Finish: PrintFun.java
Thu Jan 25 No lab


Fri Jan 26 Read: R&S, Ch 2 Iterated Loops (for loops)



Start: start.java



Finish: Song.java

Mon Jan 29 Read: R&S, Ch 4 Conditionals (if-then-else)



Start: start.java



Finish: SimpleOpsIF.java


Tue Jan 30 10pm Exercise: Printing a repeated pattern


Wed Jan 31 Read: R&S, Ch 3 Strings & Simple input



Start: start.java



Finish: StringScan.java


Thu Feb 1 10pm Lab 1: Output, Iterated Loops, & Conditionals


Fri Feb 2 Read: R&S, Ch 5 Indefinite Loops (While Loops)



Start: start.java



Finish: Shapes.java



Mon Feb 5 Read: R&S, Ch 1 & 3 Simple methods and objects



Start: start.java



Finish: Shapes.java


Tue Feb 6 10pm Exercise: Indefinite Loops and Simple Methods (Guess)


Wed Feb 7 More on Methods



Start: start.java



Finish: Shapes.java


Thu Feb 8 10pm Lab 2: Input, While Loops, & Simple Methods


Fri Feb 9 Problem solving with fors, whiles & methods



Start: start.java



Finish: Shapes.java

Mon Feb 12 Read: R&S, Ch 8 Objects with instance variables



Start: start.java



Finish Shapes.java


Last day to drop a course without a possible academic penalty.


Tue Feb 13 10pm Exercise: More on Methods (MTriangles)


Wed Feb 14 OOP Abstraction: Multiple Constructors



Start: start.java



Finish: Shapes.java


Thu Feb 15 10pm Lab 3: More Input, Indefinite Loops, & Simple Methods


Fri Feb 16 Read: C&D Ch 4 More on OOP Abstraction & Lots of Objects



Start: start.java



Finish: Shapes.java

Mon Feb 19 Read: R&S, Ch 7 Lots of Objects?



Start: start.java



Finish: Inventory.java


Tue Feb 20 10pm Exercise: Instance Variables (SurvivalGame and Player)


Wed Feb 21 Read: C&D, Ch 8 Lots of Objects



Start: start.java



Finish: Inventory.java



Finish: Items.java


Thu Feb 22 10pm Lab 4: Defining and Using Instance Variables


Fri Feb 23
Lots of Objects



Start: start.java



Finish: Inventory.java



Finish: Items.java

Mon Feb 26
Exam Check List



Finish: Review.java


Tue Feb 27
General Questions and Arrays


Wed Feb 28 Exam 1: 5:30-7:30 GEO 2.216 No Lecture


Fri Mar 2 Exam 1 & solutions returned in class
Discussion

Mon Mar 5 Read: R&S, Ch 6 Static vs non-static methods



Start: start.java



Finish: Items.java



Finish Inventory.java


Tue Mar 6 10pm Exercise: More Arrays


Wed Mar 7 Reading from files



Start: start.java



Finish: Items.java



Finish: Inventory.java



Input file: groceries.txt


Thu Mar 8 10pm Lab 5: Arrays


Fri Mar 9 Early Spring Break


Spring Break: Mon Mar 12 through Fri Mar 16

Mon Mar 19
More on Files



Start: start.java



Finish: Items.java



Finish: Inventory.java



Input file: groceries.txt
Tue Mar 20 10pm Exercise: Arrays of Objects


Wed Mar 21 Two dimensional arrays



Start: start.java



Finish: TicTacToe.java


Thu Mar 22 10pm Lab 6: Arrays of Objects (Bookstore)


Fri Mar 23 More on Two dimensional arrays



Start: start.java



Finish: TicTacToe.java


Mon Mar 26
Jagged two dimensional arrays



Start: start.java



Finish: Siblings.java



Input file: sibs.txt
Last day to drop class (or withdraw from the University) with the dean's approval, except for urgent and substantiated nonacademic reasons.


Tue Mar 27 10pm Exercise: Two-dimensional arrays (MagicSquare)


Wed Mar 28
Colors on the Computer



Start: start.java



Finish: Transformation.java



Finish: DrawingBox.java



Finish: ClosableFrame.java



Finish: image.jpg


Thu Mar 29 10pm Lab 7: 2-D Arrays


Fri Mar 30
Images on the Computer



Start: start.java



Finish: Transformation.java



Finish: DrawingBox.java



Finish: ClosableFrame.java



Finish: rabbit.jpg

Mon Apr 2 Read C&D Ch 9, R&S Ch. 9 Classes and Inheritance



Start: start.java



Finish: DrawingBox.java



Finish: ClosableFrame.java



Finish: Rectangle.java




Finish: ColoredRectangle.java


Tue Apr 3 10pm Exercise: Image Effects


Wed Apr 4
Abstract Classes and Inheritance



Start: start.java



Finish: Shapes.java



Finish: DrawingBox.java



Finish: ClosableFrame.java



Finish: Rectangle.java




Finish: ColoredRectangle.java


Thu Apr 5 10pm Lab 8: Image Manipulation


Fri Apr 6 Abstract Classes, Inheritance, & Interfaces



Start: start.java



Finish: Shapes.java



Finish: DrawingBox.java



Finish: ClosableFrame.java



Finish: Rectangle.java




Finish: ColoredRectangle.java



Finish: Colorable.java - An Interface



Finish: ColorRect.java

Mon Apr 9 Read R&S Ch. 10 Collections: ArrayList



Finish: Items.java



Start: Inventory.java



Finish: Inventory.java


Tue Apr 10 10pm Exercise: Inheritance


Wed Apr 11 Read: R&S Ch. 11 Collections Lists



Finish: Items.java



Start: Inventory.java



Finish: Inventory.java


Thu Apr 12 10pm Lab 9: Inheritance


Fri Apr 13
Boyer & Moore: Searching in Text



Start: BMSearch.java



Finish: BMSearch.java

Mon Apr 16 Read: C&D GU1 & GU2 Graphical User Interfaces (GUI)



Start: start.java



Finish: QuestionGUI.java



Tue Apr 17 10pm Exercise: Design your program (Connect Four)


Wed Apr 18
Graphical User Interfaces (GUI) with Image



Start: start.java



Finish: QuestionGUI.java



Sample Image: child.jpg


Thu Apr 19 Two week lab due 4/26: Putting it all together: Defining your own class


Fri Apr 20
JPanel, Layout, & Background Color setting



Start: start.java



Finish: QuestionGUI.java



Sample image: child.jpg





Mon Apr 23
ChangeListener, Slider Buttons, & Gridlayout



Start: start.java



Finish: ColorSelect.java


Tue Apr 24 10pm Exercise Graphical User Interface


Wed Apr 25 Basic Memory Management--what happens when your program says new ...


Thu Apr 26 10pm Lab 10: Putting it all together: Defining your own class


Fri Apr 27 Course Evaluations

Mon Apr 30
Course and Exam Review


Tue May 1
Exam Review


Wed May 2 Exam 2: 5:30-7:30 GEO 2.216 No lecture






Fri May 4 Return exams discussion

Copyright Notice: These lecture notes, homeworks, and lab assignments are part of a first course on programming. You must ask me permission to use these materials. I do not grant to you the right to publish these materials for profit in any form.

Kathryn S. McKinley, The University of Texas at Austin