- May 08, 2016: Final exam information: 20/5/2016, Friday, 8:30AM - 11:30AM in Tsang Shiu Tim Art Hall
- Mar 29, 2016: Midterm paper with suggested solution
- Mar 14, 2016: 2014 Fall midterm paper and a model solution
- Mar 3, 2016: Programming assignment #1 is out. Due time: 11:59pm, Monday, March 21.
- Feb 29, 2016: Our midterm will take place in LTG 12:00-13:20 on Wed March 23.
- Feb 1, 2016: Welcome to the class. No lab this Friday (Happy CNY). First lab next Friday, Feb 12.
Instructor
Prof. Fangzhen Lin Room: 3557 Phone: 2358-6975 Email: flin@cse.ust.hk Office hour: after the lecture or by appointment
Teaching Assistants
- Li, Quan (qliba@connect.ust.hk)
- Zeng, Haipeng (hzengac@connect.ust.hk)
Schedule
Section
Lectures
Labs
L1
Mon & Wed
12:00-13:20G009B, CYT Bldg
LA1
Fri. 19:00-19:50
Room 4210, Lift 19
Course Description:
Introduction to Java Programming. Fundamentals include language syntax, object-oriented programming, inheritance, interface, polymorphism, exception handling, multithreading. Standard libraries for input/output, graphics, built-in data structures. Programming for events, web, networking, generics. .
Course Learning Objectives:
An ability to develop programs in Java.
1.1 Be able to implement object-oriented concepts in Java.
1.2 Be able to organize, compile and deploy Java program files.
1.3 Be able to program Java exceptions.
1.4 Be able to define generic functions and classes in Java.
- An ability to use Java packages in programming
2.1 Be able to design and implement multi-threaded Java applications.
2.2 Be able to design and implement graphics in Java.
2.3 Be able to design and implement event handlers in Java.
2.4 Be able to design and implement simple web applications.
- An ability to apply tools and practices for Java programming.
3.1 Be able to design and implement unit test cases in a unit testing framework.
3.2 Be able to follow good Java programming practices.
3.3 Be able to use an integrated development environment for Java application development.
Marking Scheme
Item Due date Mark 1. Lecture Participation Voluntary but encouraged. Possible bonus points.
0% 2. Lab Participation Weekly 10% 3. Midterm Exam TBA
25% 4. Assignments Two programming assignments (graded on Turnitin) 20% 5. Final Exam TBA 45% The lab grades will be given based on your attendance of labs. You are allowed to miss two two lab sessions for the whole term without penalty.
Special Bonus
If you can point out any technical error in course website, lecture slides, and the assignment specification, you are rewarded 0.5 point of the total course grade for a maximum of 2 points per person. If you actively participate in classroom discussions and answer questions, you can get maximum of 5 points.
Text Book
Recommended Text Book:
Introduction to Java Programming-Comprehensive Version, 9th Edition. Y Daniel Liang. Prentice Hall. [The author's textbook resource site] Reference Books:
Core Java: Volume I - Fundamentals & Volume II - Advanced Features (8th Edition) by Cay S. Horstmann and Gary Cornell, Prentice-Hall, 2007. [These two books are used by most Java practitioners as a key Java reference. There are many informative discussions not found in other Java text books] Core Java 2: Volume II - Advanced Features (8th Edition) by Cay S. Horstmann and Gary Cornell, Prentice-Hall, 2008. The Java Developer's Guide to Eclipse (2nd edition), by J. D'Anjou et al., Addison Wesley, 2005. [Standard reference of Eclipse] Object-Oriented Software Engineering - Using UML, Patterns, and Java (2nd edition), by Bernd Bruegge and Allen H. Dutoit, Prentice-Hall, 2004. [A great text book relating object-oriented software engineering (COMP3111)]
Syllabus (subject to slight modification)
- Introduction
- Java Language Fundamentals
- Basics
- Classes and Objects
- Java Development Tools (Eclipse)
- String Processing and Text Input/Output
- Inheritance and Polymorphism
- Interfaces and Inner Classes
- Exceptions
- GUI Programming
- Graphics
- Event Handling
- Advanced Topics
- Multithreading
- Generic Programming
Plagiarism:
- Don't do it. If you cannot resist it, read on.
- All assignments and examinations you submit for grading must represent the results of your own independent efforts. You can discuss methodologies with your classmates, but you must do the work independently.
- Students who are involved in an incident of plagiarism will receive a failing grade for the course and the incident will be reported for appropriate disciplinary actions. You will receive the same penalty if you let others copy your work.
- Don't try to be smart. We will use a software tool to check your codes with others' programs, and even with previous assignments. The tool is hard to beat.
- Please also refer to the HKUST's regulations governing student academic discipline.
Other issues:
- Skipping the midterm or final examination without prior approval results in a failing grade automatically.
- We will respond only to emails sent from your CSD or ITSC accounts. Please let us know if you don't have a CSD or ITSC account.
- University Rules on Class Room Conduct