Fall 2020
The course aims to cultivate talented students who have programming experience before their university study. In this course, we will introduce the fundamentals of object-oriented programming language and programming techniques. We will also introduce preliminary knowledge on data types and data structures. The students will be familiar with the popular programming language Java and be able to construct programs for solving general problems. On completion of this course, the students should be able to:
There is no required text for this course. A reference textbook is “Java: How to Program (10th ed., late object version)” by Paul Deitel and Harvey Deitel. Lecture notes, lab sheets, and other materials will be posted periodically on this page.
There will be four written assignments, one project, and one final examination. We try very hard to make questions unambiguous, but some ambiguities may remain. Ask if confused or state your assumptions explicitly. Reasonable assumptions will be accepted in case of ambiguous questions.
Class | Instructor | Teaching Assistant | Time |
---|---|---|---|
1 | Ms. Yun Shen | TBD | Wednesday Slots 3 and 4 |
Unless otherwise specified the lectures are 2:00pm to 3:50pm every Monday at Room 502 of Teaching Building No. 1, SUSTech. The following schedule is subject to changes in the following weeks.
Date | Description | Materials | |
---|---|---|---|
Week #1 | Monday, Sept. 7 | Introduction to Computer Programming | [slides] [lab] |
Week #2 | Monday, Sept. 14 | Introduction to Java Applications | [slides] [lab] |
Week #3 | Monday, Sept. 21 | Control Statement I | [slides] [lab] |
Week #4 | Monday, Sept. 28 | Control Statement II | [slides] [lab] |
Event | Wednesday, Sept. 30 | Assignment 1 Release (Weeks 1 to 4) | |
Deadline | Sunday, Oct. 11 | Assignment 1 Due | |
Week #5 | Monday, Oct. 12 | Arrays and ArrayLists | [slides] [lab] |
Event | Wednesday, Oct. 14 | Assignment 2 Release (Weeks 5 and 6) | |
Week #6 | Monday, Oct. 19 | Methods: A Deeper Look | [slides] [lab] |
Deadline | Sunday, Oct. 25 | Assignment 2 Due | |
Week #7 | Monday, Oct. 26 | Introduction to Classes and Objects | [slides] [lab] |
Week #8 | Monday, Nov. 2 | Strings and Wrapper class | [slides] [lab] |
Event | Wednesday, Nov. 4 | Assignment 3 Release (Weeks 7 to 9) | |
Week #9 | Monday, Nov. 9 | Class and Objects: A Deeper Look | [slides] [lab] |
Event | Monday, Nov. 9 | Project Specification Release | |
Deadline | Sunday, Nov. 15 | Assignment 3 Due | |
Week #10 | Monday, Nov. 16 | Inheritance I | [slides] [lab] |
Week #11 | Monday, Nov. 23 | Inheritance II & Polymorphism I | [slides] |
Event | Wednesday, Nov. 25 | Assignment 4 Release (Weeks 10 to 12) | |
Week #12 | Monday, Nov. 30 | Polymorphism II | [slides] |
Deadline | Sunday, Dec. 6 | Assignment 4 Due | |
Week #13 | Monday, Dec. 7 | GUI programming and Exception Handling | |
Week #14 | Monday, Dec. 14 | Java Collections, Generic Methods and Classes | |
Week #15 | Monday, Dec. 21 | Recursion and Revision | |
Event | Monday, Dec. 21 | Project Inspection |