COMP3021: Java Programming (Spring 2016)

[ Announcements | Course Info | Lectures | Labs and Programming Assignments | Self-Learning | Resources | Policy ]


Announcements

Course Information

Instructor

Prof. Fangzhen Lin    Room: 3557    Phone: 2358-6975    Email: flin@cse.ust.hk     Office hour: after the lecture or by appointment

Teaching Assistants

  1. Li, Quan (qliba@connect.ust.hk)
  2. Zeng, Haipeng (hzengac@connect.ust.hk)

Schedule

Section

Lectures

Labs

L1

Mon & Wed
12:00-13:20

G009B, 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:

  1. 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.
  2. 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.
  3. 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:

  • Google
  • 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)



    Policy

  • 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