Introduction to Computing with Java
((edx) Introduction to Computing with Java)

Introduction to Computing with Java

Designed to equip students with the fundamental elements of programming and data abstraction using Java.

About this Course

Do you wish to become a better problem solver?

This course aims to provide you with a good understanding of basic Java programming elements and data abstraction using problem representation and 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 for better 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.

At the end of the course, you should be able to achieve the following objectives:

  • 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
  • Have an understanding of the basics of data abstraction using the object-oriented framework

Ways to take this edX course:

Simply Audit this Course

Audit this course for free and have complete access to all of the course material, tests, and the online discussion forum. You decide what and how much you want to do.

or

Pursue a Verified Certificate of Achievement

Plan to use your completed coursework for job applications, promotions or school applications? Then you may prefer to work towards a verified Certificate of Achievement to document your accomplishment.

Course Staff

  • Ting-Chuen PONG Professor, Department of Computer Science and Engineering

    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.
  • Tony W K Fung

    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.

  • Leo P M Fan Instructional Assistant, Department of Computer Science and Engineering

    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.

Syllabus

Week 1: Introduction to computing systems from hardware, software and problem solving aspects

Week 2: Basic data types, variables, assignment statements and expressions

Week 3: Objects, classes and methods; scope rules, Java documentation

Week 4: Boolean expressions, control structures

Week 5: Loops

Week 6: Arrays and multidimensional arrays

Week 7: Character string and file I/O

Week 8: Simple event-driven programming

Week 9: Recursion

Week 10: Abstract data type and wrap up

FAQs

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?

What are the system requirements for MS Windows users?

What are the system requirements for Mac users?

What are the system requirements for Linux users?

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

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