Slides

Slides are posted in the order that we will use them in class. All slides are in PDF format, with 1 slide per page.


Course Information

Java Programming Basics

Object-Oriented Concepts

Sample code: LabClass.java and Student.java (from Chapter 1)

All sample code from the textbook (in ZIP format): objects-first-projects.zip

Updated code from class on September 14: Student.java and StudentTester.java

Sample code: Revised TicketMachine.java file from class (includes if statements). The original version of this file can be found in the "Naive Ticket Machine" example from Chapter 2 of the textbook.

Slide Pack: Basic Programming Concepts (variables, conditionals, loops, arrays)

Sample code: Loop Examples (The Russian Peasant Multiplication algorithm is described at http://thedailywtf.com/Articles/Programming-Praxis-Russian-Peasant-Multiplication.aspx)

Sample code: Array Examples (includes the Locker Problem and odd-sized magic squares)

Sample code: ArrayList Examples (includes Java 5's new foreach loop)

How To Write Better Code (testing, debugging, and formal methods)

Searching and Sorting

Sample code: Mergesort (described in detail at http://en.wikipedia.org/wiki/Merge_sort)

Sample code from "Exam review" class on Monday, 10/12/09

The String class

Sample code: String Examples (rot-13 and generic shift ciphers)

Inheritance, Polymorphism, and Simple UML

File I/O and Exceptions

Sample code: Exception-handling example from lecture

Old Recursion slides from CSE 114

Sample code: Recursion Examples (palindromes, the Fibonacci numbers, and the Towers of Hanoi)

The Eight Queens Puzzle is a well-known example of recursion and backtracking. A Java applet version of it can be seen at http://spaz.ca/aaron/SCS/queens/

Old Linked List slides from CSE 114

Another description of linked lists and linked list operations

Sample code from 11/13: LinkedList and ListNode

Updated LinkedList code from Friday, 11/20

Old GUI slides from CSE 114 (sorry for the horrible color scheme)

Sample code: GUI Examples (MyGUI.java, Driver.java, and Actions.java)

Software Design Concepts (CRC cards, design patterns)

Sample code: JDialog (Foo.java)

This page was last modified on 8/25/09