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. |
Recommended Book
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.