Fall 2019, Bilingual Class
The course aims to cultivate students who have no programming experience before their university study. In this course, we will introduce the fundamentals of object-oriented programming language and programming techniques. 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 five 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 |
---|---|---|---|
5 | James Jianqiao Yu | Zhaoqi Xiao, Zhuochen Xiong, Lida Zhao, and Chukun Zhuang | Tuesday Slots 5 and 6 |
6 | Yao Zhao | Zehua Zou and Lidan Tan | Tuesday Slots 5 and 6 |
7 | Yao Zhao | Yiming Chen, Zhirui Lu, and Qiuqi Wu | Wednesday Slots 3 and 4 |
8 | Yao Zhao | Shuyu Zhang and Xiaowen Zhang | Wednesday Slots 5 and 6 |
Note that Classes 1-4 are sub-classes of CS102A (English).
Unless otherwise specified the lectures are 10:20am to 12:10pm every Tuesday at Grand Hall of Research Building No. 1, SUSTech. The lecture on Oct. 15th will be at Room 102 of Lychee Hill Building No. 1, SUSTech. There are several lab classes, and mine (Class 5) is 14:00pm to 15:50pm every Tuesday at Room 205 of Teaching Building No. 2, SUSTech.
Date | Description | Materials | |
---|---|---|---|
Week #1 | Tuesday, Sept. 3 | Introduction to Computer Programming | [slides] [lab] |
Week #2 | Tuesday, Sept. 10 | Introduction to Java Applications | [slides] [lab] |
Week #3 | Tuesday, Sept. 17 | Control Statement I | [slides] [lab] |
Week #4 | Tuesday, Sept. 24 | Control Statement II | [slides] [lab] |
Deadline | Sunday, Sept. 29 | Assignment 1 Due | |
Week #5 | Tuesday, Oct. 8 | Arrays and ArrayLists | [slides] [lab] |
Week #6 | Tuesday, Oct. 15 | Methods: A Deeper Look | [slides] [lab] |
Deadline | Tuesday, Oct. 27 |
Assignment 2 Due | |
Week #7 | Tuesday, Oct. 22 | Introduction to Classes and Objects | [slides] [supl] [lab] |
Week #8 | Tuesday, Oct. 29 | Strings and Wrapper class | [slides] [lab] |
Deadline | Tuesday, Nov. 12 |
Assignment 3 Due | |
Week #9 | Tuesday, Nov. 5 | Class and Objects: A Deeper Look | [slides] [supl] [lab] |
Event | Monday, Nov. 11 | Project Specification Release | |
Week #10 | Tuesday, Nov. 12 | Inheritance | [slides] [lab] |
Week #11 | Tuesday, Nov. 19 | Inheritance & Polymorphism I | [slides] [lab] |
Deadline | Sunday, Nov. 24 | Assignment 4 Due | |
Week #12 | Tuesday, Nov. 26 | Polymorphism II | [slides] [supl] [lab] |
Week #13 | Tuesday, Dec. 3 | GUI programming | [slides] |
Deadline | Sunday, Dec. 8 | Assignment 5 Due | |
Week #14 | Tuesday, Dec. 10 | Java Collections, Generic Methods and Classes | [slides] [lab] |
Week #15 | Tuesday, Dec. 17 | Recursion and Exception Handling | [slides] |
Event | Tuesday, Dec. 17 | Project Inspection | |
Week #16 | Tuesday, Dec. 24 | Project Demonstration and Revision |