COMMUNITY COLLEGE OF CITY UNIVERSITY CITY UNIVERSITY OF HONG KONG
Information on a Course
offered by Division of Applied Science and Technology
Course Title: (English) Java Programming (Chinese)
Course Code: AST20205
Credit Units: 3
Medium of Instruction: English Pre-requisites: Nil
Equivalent Courses: Nil Exclusive Courses: Nil
Course Duration: One Semester
This course aims at providing students with an in-depth understanding of software development using Java programming language. Students will be trained with concepts and techniques in the development of real-world applications that comply with industry standards using a wide range of Java Application Programming Interfaces (APIs).
Course Intended Learning Outcomes (CILOs)
Upon successful completion of this course, students will be able to:
1. Apply appropriate programming skills and techniques to the development of wide range of applications using Java packages;
2. Identify the differences, strengths and limitations among different Object-Oriented Programming (OOP) languages;
3. Develop cross platform real-world applications with well-known software development tools and Application Programming Interfaces (APIs);
4. Design computer programs that comply with industrial standards and norms;
Alignment of the CILOs with the PILOs of ASc in Information Systems Development:
Programme Intended Learning Outcomes (PILOs)
CILOs (Please if the CILO(s) is/are aligned with the PILO
1 2 3 4 5
I. Use a range of tools, programming languages, methodologies, and quantitative skills to undertake information systems development work;
II. Apply technical knowledge and skills, and
well-proven software models and work responsibly as a team to develop secure, robust, and reliable quality business information systems;
III. Practise in an ethical and professional manner, and apply safety and health measures at work;
IV. Communicate effectively, both orally and in writing, using English and Chinese in a culturally diversified workplace;
V. Examine the major socio-political, cultural and economic issues affecting information systems development in the local, national, regional and international contexts; and
VI. Relate the major ideas in arts and humanities, science and technology to the study of Information
Keyword Syllabus: (a brief description of the syllabus of the course) 1. Foundation of Java
Brief history of Java; Cross-platform program development; Programming environment; Migrating from C++ to Java: Primitive and non-primitive data types, arrays, basic I/O, classes and objects, access modifiers, constructors and object initialization, inheritance, method overriding and polymorphism, dynamic binding, and abstract classes; Static classes; Inner classes.
2. Packages and Interfaces
Defining packages; Class path; Package naming; Accessibility of packages; Importing packages; Defining interfaces; Implementing interfaces.
3. Exception Handling
The use of exception handling; Handling of exception using try-catch-finally; Multiple catch blocks; Exception hierarchy; Checked and unchecked exceptions; Throwing and re-throwing exception; Creating exception subclasses.
4. Advanced I/O
File and streams; Input/Output class hierarchy; Object serialization and deserialization; Filter and pipe streams.
5. GUI Programming
AWT and Swing Graphical User Interface (GUI) components; Layout and component managers; Action and event handling (event class, event types and listener, action event, window event, mouse event, key event); Applet.
6. Multithreading Programming
Fundamental concepts; Thread states and life cycle; Thread creations and executions; Thread priorities and synchronization.
7. Networking and Java Database Programming
Sockets; Internet addressing; Domain Name Service (DNS); URL connections; UDP/TCP Sockets; Structured Query Languages (SQL); JDBC overview; Types of JDBC connectivity; Manipulating databases with JDBC.
8. Java Documentation
Javadoc Comments; Javadoc tags; Generating doc comments; Doc comment checking tool. 9. Overview of Object-Oriented Design Patterns
Model-View-Controller (MVC); Observer; Composite; Decorator; Strategy.
Teaching and Learning Activities (TLAs): (designed to facilitate students’ achievement of the CILOs) a. Lectures provide an in-depth introduction to the concepts, techniques and skills of real world
application development using Java. Useful and interesting examples will be given in parallel to the lessons to demonstrate the concepts and ideas.
b. Laboratory exercises will be given to provide students with opportunities to practice the techniques learnt in class.
c. Programming project enables students to develop their own applications. In addition, students will be given an opportunity to present their work verbally.
Lecture (hr/week): 1 Laboratory (hr/week): 2 Other (please specify) (hr/week):
Assessment Tasks/Activities: (designed to assess how well the students achieve the CILOs) Type of assessment tasks/activities % Brief Description of assessment tasks/ activities i. Laboratory Exercises 20 Students are required to construct small-scale
applications with well-known development tools and APIs.
ii. Tests 30 Students will be assessed on their understanding of Java technologies and the effectiveness of handling all programming fundamentals for real-world application development.
iii. Programming Project 50 Students will be asked to work in groups on a course project, which consists of the majority elements taught or discussed in class. In addition to the final product
submission, students have to submit a proposal stating what they are going to do and give a short presentation to demonstrate and explain their ideas of work.
Assessment Schedule (on the basis of Assessment Tasks/ Activities identified above)
Examination (%): 0 Duration (Hrs): 0 Coursework (%): 100 Participation (%): 0 Grading Mode: Standard or Pass/Fail* (delete as appropriate)
Alignment of TLAs and Assessment Tasks/Activities with the CILOs:
TLAs (Please if the TLA(s) is/are aligned with the CILO
Assessment (Please if the
Assessment(s) is/are aligned with the CILO
a. b. c. i. ii. iii.
1 Apply the ...
2 Identify the differences...
3 Develop cross platform...
4 Design computer...
Java How to Program (Early Objects), 10th Edition, Paul Deitel, Harvey Deitel, Prentice Hall, 2014.
Core Java, Volume I - Fundamentals, 9th Edition, Cay S. Horstmann, Gary Cornell, Prentice Hall, 2013.
Core Java, Volume II - Advanced Features, 9th Edition, Cay S. Horstmann, Gary Cornell, Prentice Hall, 2013.