- Meetings: Tue 10AM-11:15AM (1.5h) & Fri 9AM-11:15AM (2.5h) in NTH 412
- TA Help Hour (optional): Thur 8PM-9PM in OH 316 (aka. Coding Space)
- Instructor: Shin Hong https://hongshin.github.io 📧 hongshin@handong.edu
- Teaching assistant: Sinae Kim 📧 21400125@handong.edu
- Policies: POLICY.md
Having Java as a learning material, this course aims to give essential knowledge and programming experiences to beginner level Computer Science students. This course is designed for novice Java programmers to equip fluency in reading and writing Java code. To accomplish the goal, students will have a series of programming labs (usually at Friday meetings). In addition to the programming practices, this course assists students understanding the key concepts in computer science and software design in the context of Java programming (usually at Tuesday meetings). The instructor will leads the class to discussions on the following issues: (1) How can we solve a problem by programming, especially with Java (2) How can we use programming to build up a software system systematically (3) What is about Java, especially compared to other programming languages.
Java: An Introduction to Problem Solving and Programming, 7th Edition (JIPP), authored by Walter Savitch
You can find this book at Handong Books which is on campus. It is mandatory for each student to equip this book: it will be assumed that each student has a textbook in lab sessions, reading assignments, homework, practice, etc.
- Piazza for news and Q&A: https://piazza.com/handong/fall2018/itp20003
- Hisnet for online attendance check & homework submission
- This webpage for lecture notes, resources for assignments, etc.
- Course overview and policies (Aug 28)
- Lab 1. Hello, Java World! (Aug 31)
- JIPP:Ch. 2. Basic operation of Java (Sep 4, Sep 11)
- Lab 2. Play String (Sep 14, Sep 18)
- JIPP:Ch. 3 & 4. Programming Control Flow (Sep 21)
- Lab 3. Take Control (Sep 21)
- JIPP:Ch. 5. Defining Class (Sep 28)
- Lab 4. Take Control 2 (Oct 2)
- Lab 5. Work with Class (Oct 5)
- StringTokenizer and Hangul Encoding in Java (Oct 9)
- StringTokenizer: javadoc, example
- Hangual Encoding in Java
- JIPP: Ch. 6. More on Objects and Methods (Oct 12)
- Midterm exam (Oct 19)
- JIPP: Ch. 7. Array (Oct 16, Oct 23)
- Linked List of Strings (Oct 26)
- StringList: StringList.java, Node, Iterator, Main.java
- JIPP: Ch. 8. Class Inheritance and Polymorphism (Oct 30)
- Lab 6. Build Family (Nov 2)
- Linked Lists (Nov 6)
- Lab 7: Explore States (Nov 9)
- JIPP: Ch. 9. Exception Handling (Nov 13)
- Lab 8: Try to Catch (Nov 16, Nov 20)
- JIPP: Ch. 10. File I/O (Nov 23)
- Java Swing for Graphic User Interface (Nov 26)
- Lab 9: Show and Listen (Nov 30)
- JIPP: Ch. 12. Java Collection (Dec 4)
- Lab 10. Sweep Mines (Dec 7)
- Final Exam (Dec 14)
Examples, case studies, reading materials of the following related courseworks will be partly used in the class: