Skip to content

Latest commit

 

History

History
253 lines (243 loc) · 10.9 KB

File metadata and controls

253 lines (243 loc) · 10.9 KB
layout default
title
description Index page

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

Week Topics Assignment
Aug 8 [Review](week2/Review) of week1 lessons from [code.org](http://code.org). [Intro to Java](week2/Intro-to-Java) and [slides](week2/0-Intro-to-Java.pdf) [Tools](Resources) you need: Java JDK, Java Documentation, IDE, and Git. [Program Structure](week2/Program-Structure) and how to compile; [slides](week2/1-Program-Structure.pdf). [Variables](week2/2-Variables.pdf) how to define variables, rules for names. [Primitive Data Types](week2/3-Primitive-Datatypes.pdf) Optional [Java Basics](week2/X-Java-Basics.pdf) quick summary of basic Java syntax for students who already know how to code. **Lab** 1. [Intro to Java](week2/Lab1-Intro.pdf) with Greeter program. **New:** added optional problems using dialog boxes. 2. [elab](https://elab.cpe.ku.ac.th) - must be done by next week.
Sep 26 [Introduction to Git](git/intro-git) [Introduction to Github](git/intro-github) and [PPT presentation]( git/Using-Github.pdf) Example: [Student Projects](https://skeoop.github.io/projects) from OOP2 [Github Organization](git/Github-Organization.pdf) for this course. Example: [OOP2 last semester](https://github.com/orgs/OOP2017/people) **Lab:** [Git Assignment](git/lab-git) 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](coding/Coding-Guidelines.pdf) **Lab:** [Code Improvement Lab](coding/lab-code-improvement) This assignment uses Github. **Due:** Sunday, 1 Oct, 20:00 on Github. Problem 3 (fixcode): [https://classroom.github.com/a/A0HAJsTW](https://classroom.github.com/a/A0HAJsTW) Study: [Java Coding Standard](coding/Java-Coding-Standard.pdf)
Oct 3 [Introduction to Arrays](java-basics/17-Arrays.pdf). [Using arrays](java-basics/18-Using-Arrays) idioms and useful methods. Practice with arrays. Review of [Git concepts](git/git-transport-commands.pdf), rethink about .gitignore. **Lab:** [Arrays Lab](arrays/lab-arrays) using Github. [JUnit Test Cases](https://github.com/OOP2018/arraylab-test). Lab URL: [https://classroom.github.com/a/fRBMqAfi](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](assignments/homework2) 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](assignments/homework2).
Oct 10 [Review of Arrays](arrays/Review.pdf) [2-Dimensional Arrays](java-basics/19-Arrays-2D.pdf) How to Read the [Java API](https://docs.oracle.com/javase/7/docs/api/) (Javadoc) - [Dummies Guide](http://www.dummies.com/programming/java/making-sense-of-javas-api-documentation/) and [tutorial](http://www.otherwise.com/Lessons/ReadingTheJavadoc.html) [List and ArrayList](java-basics/20-ArrayList.pdf) (slides) **Quiz** **Lab:** [ArrayList Lab](arrays/lab-arraylist) using Github. Lab URL: [https://classroom.github.com/a/-cZ1ppg-](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](https://docs.oracle.com/javase/tutorial/collections/implementations/list.html) and very brief [Beginners Book](https://beginnersbook.com/2013/12/java-arraylist/). **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](assignments/homework2) - must *really* use array. Details: see [assignment](assignments/homework2) and testing critieria in Google spreadsheet. **Grading Criteria**: See the [Course Spreadsheet](https://goo.gl/y4xqaS) "Grading Criteria" sheet on Google Docs.
Oct 17 [Review of ArrayList](review/Review-Arraylist.pdf) Method Parameters & Pass by Value [slides](java-basics/14-Method-Parameters.pdf) Input and Output Classes (I'm revising this material) - [slides from OOP](input-output/Input-Output.pdf) **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](assignments/homework3).
Oct 24
OOP
[Introduction to Objects](objects/1-Introduction-to-Objects.pdf) [Defining Classes](objects/2-Defining-Classes.pdf) for objects (Optional) [Review](review/Review-Package-Import.pdf) packages and import **Quiz** reading from a file, using Arrays and ArrayList Lab: [Objects Lab](objects/lab-objects) Lab URL: [https://classroom.github.com/a/ubpc4JQ8](https://classroom.github.com/a/ubpc4JQ8) **Read**: *Big Java*, Ch. 2 (Objects) and Ch. 3 (Implementing Classes) **Suggested**: Java Tutorial on [Classes and Objects](https://docs.oracle.com/javase/tutorial/java/javaOO/index.html) **Project Proposal**: [Instructions and Template](https://goo.gl/hegYGY) and [Sign-up Form](https://goo.gl/BUhK9k).
Oct 31
OOP
[Inheritance](objects/Inheritance-Practice.pdf) and Polymorphism [Inheritance slides](objects/4-Inheritance.pdf) More About Objects [Review of Object Basics](review/Review-Object.pdf) **Quiz**: computer-based quiz using Github classroom **Lab**: [Inheritance](objects/lab-inheritance.pdf) - extend Person and BankAccount from last week. **Read**: *Big Java*, Ch. 9 (Inheritance and Polymorphism). **Suggested**: Java Tutorial on [Polymorphism](https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html) **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](objects/7-Fundamental-Methods.pdf) [Polymorphism](objects/5-Polymorphism.pdf) [Reference as Remote Control](objects/6-Reference-as-Remote-Control.pdf) Factories for Object Creation **Lab**: [Polymorphism, equals](objects/lab-polymorphism) **Assignment Cancelled**: [HW4: SKE Restaurant with objects](assignments/homework4) (Optional if you already finished HW2&HW3) **Coding Practice**: [Fraction class](assignments/Fraction.pdf) recommended for practice writing classes. There is an **app** for this.
Nov 14 **No Class this week** How to [create a game with JavaFX](https://github.com/jbrucker/guessing-game) and MVC design. [English punctuation rules](English-Grammar). **Assignment**: Add link to your Github repo to [Projects Page](https://goo.gl/BUhK9k). Examples: [Guessing Game with JavaFX](https://github.com/jbrucker/guessing-game) and MVC design.
Nov 19 SKE Restaurant resubmittal. [Checklist for Assignment](assignments/ske-restaurant-checklist.md) Last day to resubmit for partial credit. [Checklist for Assignment](assignments/ske-restaurant-checklist.md) 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](assignments/Fraction.pdf)
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](https://classroom.github.com/a/QMuQcnMn) 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](review/exam-sample) [Lab 15 Solution](labs/Lab15-solution) [Quiz 8 Solution](labs/Complex.java) Ske-restaurant Solution: [Fatalai Jon](https://github.com/fatalaijon/ske-restaurant) wrote OK code, but other students wrote better code. Look at repos of students with high score. [Java Tutorial on Udemy](https://www.udemy.com/java-tutorial/) 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.


About, Resources