Skip to main content

Introduction to Java Programming - Part 2 HKUST

Enrollment in this course is by invitation only

About This Course

Do you want to become a better problem solver?

This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework. As the saying goes, “A picture is worth a thousand words.” This course will use sample objects such as photos or images to illustrate some important concepts to enhance understanding and retention. You will learn to write procedural programs using variables, arrays, control statements, loops, recursion, data abstraction and objects in an integrated development environment.

This course is comprised of two 5-week parts.

Part 1 introduces programming fundamentals.

  • Problem solving
  • Primitive data types and arithmetic expressions
  • Object-oriented programming basics
  • Branching and Loops
  • Arrays

Part 2 covers the following topics.

  • String manipulation
  • File I/O
  • Simple event-driven programming
  • Recursion
  • Abstract data types

FAQ

What software will be required for this course?

We will use Java Platform, Standard Edition Runtime Environment (JRE) or Java Platform, Standard Edition Development Kit (JDK) to give the computer the capability to run java programs and use BlueJ as the Integrated Development Environment (IDE) for developing Java programs.

Which version of Java will be used in this course?

The course is based on Java Version 7. It is fine that if you would like to use Java Version 8, but the new features introduced in Version 8 will not be covered by this course.

What are the system requirements for MS Windows users?

Java Version 7 and BlueJ are supported by MS Windows XP or above (except Windows RT). Java Platform, Standard Edition Runtime Environment (JRE) will need to be installed on the system. You will also need Internet Explorer 8+ or Firefox 3.6+ or Google Chrome to access the demonstration programs on the course web site. Documentation on the setup details can be found in the course handout to be given in week 1.

What are the system requirements for Mac users?

Java Version 7 and BlueJ are supported by Mac OS X 10.7.3 (Lion) or above. Java Platform, Standard Edition Runtime Environment (JRE) will need to be installed on the system. You will also need Safari 5.1.3+ or Firefox 3.6+ (64-bit) to access the demonstration programs on the course web site. Google Chrome is not supported. Documentation on the setup details can be found in the course handout to be given in week 1.

What are the system requirements for Linux users?

Java Version 7 and BlueJ are supported by Ubuntu/Debian Linux. OpenJDK, an implementation of the Java Platform, Standard Edition Development Kit (JDK), will need to be installed on the system. You will also need Firefox 3.6+ to access the demonstration programs on the course web site. Documentation on the setup details can be found in the course handout to be given in week 1.

Can I use an Integrated Development Environment (IDE) other than BlueJ?

In this course, we would recommend BlueJ to beginning programmers as it is compact and provides just enough features for learning programming. Most of the programming examples in this course assume using BlueJ. However, you may use other professional IDEs such as Eclipse and NetBeans according to your own preference.

Will I be required to view Java Applets for learning the course materials?

There will be some demonstration programs shown as Java Applets in this course. However, these applets will only act as supplementary materials. Inaccessible to the applets would not affect the learning of the course materials. To access the applets, you will have to enable or activate Java plug-in on the browser. The plug-in requires 32-bit version of Java Platform, Standard Edition Runtime Environment (JRE) on MS Windows, 64-bit version of JRE on Mac OS X or 32/64-bit version of OpenJDK on Linux depending on the architecture of the system.


What you'll learn

  • Take a "real-life" problem and abstract out the pertinent aspects necessary to solve it in an algorithmic manner.
  • Formulate formal solutions to well-defined problems using the logic of a programming language.
  • Implement formal solutions in Java using an integrated development environment.
  • Understand the basics of data abstraction using the object-oriented framework.

Meet the instructors

Course Staff Image #1

Ting-Chuen PONG

Ting-Chuen Pong is a Professor of Computer Science and Engineering at HKUST. He is one of the founding faculty members of HKUST, where he served as the Associate Vice-President for Academic Affairs, Associate Dean of Engineering and Director of the Sino Software Research Institute. Before joining HKUST, he was an Associate Professor of Computer Science at the University of Minnesota – Minneapolis in the US. He received his PhD in Computer Science from Virginia Polytechnic Institute and State University in the US. He is a recipient of the HKUST Excellence in Teaching Innovation Award in 2001. Professor Pong's research interests include computer vision, multimedia computing and IT in Education.

Course Staff Image #2

Tony W K FUNG

Tony is a teaching associate at HKUST. He received his MPhil in Computer Science from HKUST. He is enthusiastic in Java and educational development with technology, and served as a member in the Java Community Process.

Tony W K Fung

Leo P M FAN

Leo is an instructional assistant at HKUST. He received his MPhil in Computer Science from HKUST. His research interests include education technologies.