- 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 ๐ง [email protected]
- Teaching assistant: Sinae Kim ๐ง [email protected]
- 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)
Examples, case studies, reading materials of the following related courseworks will be partly used in the class: