Course Spreadsheet - Schedule, Links, and Scores.
Aj. Jitti’s Material is on E-lab and Maxlearn

Week Topics Assignment
Aug 8 Review of week1 lessons from code.org.
Intro to Java and slides
Tools you need: Java JDK, Java Documentation, IDE, and Git.
Program Structure and how to compile; slides.
Variables how to define variables, rules for names.
Primitive Data Types
Optional Java Basics quick summary of basic Java syntax for students who already know how to code.
Lab
1. Intro to Java with Greeter program. New: added optional problems using dialog boxes.
2. elab - must be done by next week.
Sep 26 Introduction to Git
Introduction to Github and PPT presentation
Example: Student Projects from OOP2
Github Organization for this course. Example: OOP2 last semester
Lab: Git Assignment there will be a quiz on this next week.
SKE Restaurant: You must create a Github repository named ske-restaurant and commit your code there. Use that name exactly.
Homework: Learn to use the command line on your computer. Know how to: a) change directory, b) list files, c) list all files including hidden files, d) rename or move files, e) run a program.
Sep 26
(cont.)
Guidelines for Writing Good Code slides Lab: Code Improvement Lab This assignment uses Github. Due: Sunday, 1 Oct, 20:00 on Github.
Problem 3 (fixcode): https://classroom.github.com/a/A0HAJsTW
Study: Java Coding Standard
Oct 3 Introduction to Arrays.
Using arrays idioms and useful methods.
Practice with arrays.
Review of Git concepts, rethink about .gitignore.
Lab: Arrays Lab using Github. JUnit Test Cases.
Lab URL: https://classroom.github.com/a/fRBMqAfi to create your repository.
Read: Big Java, Ch. 7 Arrays. Only 40 pages, easy to read.
Homework 2: SKE Restaurant with Arrays Revise SKE Restaurant to use arrays for menu items, prices, and customer’s order. Commit the code to Github (repo name ske-restaurant) by Sunday, 8 Oct 24:00.
No credit if Github repo name is not ske-restaurant.
See the Checklist at end of Homework2.
Oct 10 Review of Arrays
2-Dimensional Arrays
How to Read the Java API (Javadoc) - Dummies Guide and tutorial
List and ArrayList (slides)
Quiz
Lab: ArrayList Lab using Github.
Lab URL: https://classroom.github.com/a/-cZ1ppg- to create your repository.
Read: Big Java, Ch. 7 Arrays covers 2D arrays and ArrayList.
Suggested: Java Tutorial on ArrayList and very brief Beginners Book.
Homework:
1. Resubmit fixcode by Wednesday, 11 Oct, 22:00. Last chance.
2. Resubmit arraylab by Friday, 22:00.
3. ArrayList lab (above). Due: Sunday, 15 Oct. 8:00 (AM).
4. SKE Restaurant using Arrays - must really use array. Details: see assignment and testing critieria in Google spreadsheet.
Grading Criteria:
See the Course Spreadsheet “Grading Criteria” sheet on Google Docs.
Oct 17 Review of ArrayList
Method Parameters & Pass by Value slides
Input and Output Classes (I’m revising this material) - slides from OOP
Quiz - coding problem using arrays
Lab: some input/output practice
Review and correction of SKE Restaurant
Read: Big Java, Ch. 11.1-11.2 (Input/Output), 11.4
Homework 3: SKE Restaurant with Menu File and Restaurant Manager.
Oct 24
OOP
Introduction to Objects
Defining Classes for objects
(Optional) Review packages and import
Quiz reading from a file, using Arrays and ArrayList
Lab: Objects Lab
Lab URL: https://classroom.github.com/a/ubpc4JQ8
Read: Big Java, Ch. 2 (Objects) and Ch. 3 (Implementing Classes)
Suggested: Java Tutorial on Classes and Objects
Project Proposal: Instructions and Template and Sign-up Form.
Oct 31
OOP
Inheritance and Polymorphism
Inheritance slides
More About Objects
Review of Object Basics
Quiz: computer-based quiz using Github classroom
Lab: Inheritance - extend Person and BankAccount from last week.
Read: Big Java, Ch. 9 (Inheritance and Polymorphism).
Suggested: Java Tutorial on Polymorphism
Note: Polymorphism is key to O-O programming. Inheritance enables polymorphism and code reuse. Try to understand them thoroughly.
Nov 7 Writing equals and toString
Polymorphism
Reference as Remote Control
Factories for Object Creation
Lab: Polymorphism, equals
Assignment Cancelled: HW4: SKE Restaurant with objects (Optional if you already finished HW2&HW3)
Coding Practice: Fraction class recommended for practice writing classes. There is an app for this.
Nov 14 No Class this week
How to create a game with JavaFX and MVC design.
English punctuation rules.
Assignment: Add link to your Github repo to Projects Page.
Examples:
Guessing Game with JavaFX and MVC design.
Nov 19 SKE Restaurant resubmittal.
Checklist for Assignment
Last day to resubmit for partial credit.
Checklist for Assignment
Repository must be ske-restaurant, with correct project structure and correct class/package naming.
Nov 21 KU Graduation Ceremony. No class. Work on your project. Write prototype code. Have something running as soon as you can.
Ask TAs and instructor for help!
Practice Problem: Fraction class
Nov 28 Final & Project Date/time
Intro to New SKE Curriculum by Prof. Kitsana, 1:15PM
How to create a JAR file
Project Development and review.
Be ready to demo what you have so far.
Review Lab some review questions.
Quiz primarily on Oct 24-Nov 7 topics.
You must have code in Github and something to demonstrate. Ask TAs and instructor for help!
Review Practice Exam
Lab 15 Solution
Quiz 8 Solution
Ske-restaurant Solution: Fatalai Jon wrote OK code, but other students wrote better code. Look at repos of students with high score.
Java Tutorial on Udemy nice online course starts easy, covers a lot.

Big Java, 5th Ed.

by Cay Horstmann. Book is easy to read, but long. Horstmann has written many popular Java books, including Core Java (favorite of programmers) and Object-oriented Design & Patterns (favorite among SKE students).

Contact me for how to get Big Java.


About, Resources