Computing Fundamentals with Java

Home Admissions Course Guide Computing Fundamentals with Java

This Course Guide has been taken from the most recent presentation of the course. It would be useful for reference purposes but please note that there may be updates for the following presentation.

COMP S201

Computing Fundamentals with Java

Hello and welcome to this HKMU course, COMP S201 Computing Fundamentals with Java.

COMP S201 provides a sound foundation in computing fundamentals using the object-oriented paradigm and Java technology. It is a full- year, ten-credit Middle Level course. It is one of the core courses in Computing programmes and Computing and Networking programmes. There are no prerequisites for this course.

 

Purpose of this Course Guide

As this course may be the first that you have taken at Hong Kong Metropolitan University (HKMU), you may not be aware of both the study skills required for distance learning and how HKMU courses are organized. It is recommended, therefore, that you read this Course Guide thoroughly before looking at the study units. If you have taken HKMU courses, you should be well aware of both the study skills required for distance learning and how HKMU courses are organized. Whichever group you belong to, though, it is recommended that you read this Course Guide thoroughly before looking at the study units.

The Course Guide tells you briefly what the course is about and how you can work your way through the material. It also suggests the amount of time you will likely need to spend in order to complete each unit (and the course), and it gives you a general idea when your assignments are due. For detailed information on assignments, however, please refer to the Assignment File; and for information on due dates for work to be submitted, please refer to the Presentation Schedule.

In distance learning, as practised at HKMU, the study units are coordinated and prepared in the distance mode of education by your university professor. Although we have face-to-face lessons in this course, it is not compulsory for you to attend them. This is one of the great advantages of distance learning: You can read and work through specially designed study material at your own pace, at times and places that suit you best.

You can think of the course materials provided as reading the lecture instead of hearing it from a lecturer. In the same way that a lecturer might set you some reading to do, the study unit may tell you when to read other material. In the same way that a lecturer might give you an in-class exercise, your study unit has exercises (called various names) for you to do at appropriate points. You are also likely to find review questions at the end of each unit. Do them all, as these exercises and questions give you the practice necessary to achieve the aims of the course and to pass the examination. In the distance mode of education, the course materials replace the live lecture notes.

COMP S201 Computing Fundamentals with Java aims to:

  1. Provide you with knowledge in basic computer hardware components and software development.
  2. Provide you with a sound foundation in object-oriented programming.
  3. Enable you to analyse problems and produce software designs to handle these problems using object-oriented programming methodology.
  4. Develop your knowledge and understanding of the fundamental concepts in developing Java programs.

On completion of this course, you should be able to:

  1. Describe the basic features of a computer.
  2. Write Java classes and use objects in Java.
  3. Develop text-based and graphical-based computer programs using the Java programming language.
  4. Analyse problems and apply object-oriented methodology in development.

COMPS201 Computing Fundamentals with Java is designed to provide a structured, stimulating, environment in which you can learn computing fundamentals using the object-oriented paradigm (model) and Java technology.

The course is organized into ten study units. These study units guide your learning. Each unit contains a few weeks of work and includes directions for study. The titles of the specific study units are included in the course overview table on the next page.

To help you review what you have learned, the units include self-tests related to the required readings, and activities to extend and apply your learning. These and assignments assist you in mastering individual units and the course material as a whole.

The course includes some tutorials. You need to be up-to-date with your study in order to gain full advantage from the tutorials. They are not lectures but are designed to allow group discussion and input. Tutorials that are not effective are those in which learners make no input. Your tutor will lead discussions, and he or she needs your help to make these sessions successful. You can find more information on tutorials in a later section of this Course Guide.

The table below gives an overview of the course. It suggests the amount of time you should allow for completing units. These times are intended as a guide only. The time needed to complete the study units, work through the self-tests and assignments and complete the rest of the course will vary from learner to learner. You can adjust these times to fit your personal needs more closely. You will need to plan your own work and study schedule carefully. The average estimated time that you need to spend in this course is about ten hours per week. This estimation includes time for reading the study units, completing self- tests and practice exercises, completing your assignments, undertaking the suggested reviews, attending tutorials and preparing for your final examination.

One final reminder is needed. Although you can adjust study times to suit yourself, it is important that you complete and hand in your written assignments on time. You need to bear this in mind when you are planning your study time. You can find more information on assignments in a later section of this Course Guide.

 

Course overview

 

UnitTitleStudy time
(weeks)
Assignment
1Computer concepts and your first Java program2 
2Classes and objects3 
3Control structures4Assignment 1
4Graphical user interface4 
5User interface design2Assignment 2
6Data structures3 
7Arrays3 
8Advanced control structures and arrays3Assignment 3
9More on classes3 
10Basic input/output3Assignment 4
 Revision2 
 Total32 

In addition to this Course Guide are the following important components of the course. Please ensure that you have all of these materials available and can identify the various components. If you do not have the appropriate HKMU-produced materials, you should contact HKMU immediately.

 

Study units

Each of the ten units in this course contains two to four weeks of work. Make sure that you have planned your own study schedule. It is important that you complete self-tests, assignments and the examination successfully and on time.

The course is structured so that each unit builds on previous knowledge. Each unit includes at least three ways to help you study. These are:

  1. reading the study units;
  2. completing the self-tests and activities that appear throughout the units; these will require you to think, observe or undertake some activity that is designed to help you apply the knowledge you have gained; and
  3. completing the assignments.

Computer hardware and software

You will need to access to a PC compatible computer with the following minimum configuration:

 

Hardware

  • personal computer with an x86 processor or equivalent
  • 1GB RAM
  • Internet connection.

Software

  • Windows XP or newer version
  • Web browser: FireFox or Internet Explorer
  • word processor: Microsoft Word or WordPad. OpenOffice is available from the Internet.
  • Note: The hardware configuration above is the bare minimum. The Java software can be downloaded from the official Java website.

Assignment file

Assignment details of this course are in the Assignment File. The nature of these assignments is described in the section on assignments below. You are required to complete your assignments on time and submit them to your tutor.

 

Presentation Schedule

The Presentation Schedule is available on the Online Learning Environment (OLE). It gives you the dates for completing assignments, and attending tutorials and surgeries, and so on.

You should pay particular attention to this Course Guide and all instructions in the study units.

You must read each study unit carefully, because it guides your learning. If you do not read the study unit carefully, you might miss important information. If you need more information related to the unit content, you can use the HKMU Electronic Library or the Web.

Each study unit is organized into a number of sections. The first section provides an overview of the unit. It explains how the unit is organized and what you are to study in it. The overview indicates the number of sections contained in the study unit. These sections guide your learning and direct you to complete self-tests. Finally, there is a 'Summary' section near the end of each unit, followed by answers to the self-tests and feedback to activities.

 

Unit 1 Computer concepts and first Java program

This unit identifies problems that can be solved using computers. It describes the basic components of a computer and the relationship between hardware and software. It distinguishes between interpretation and compilation, describes and gets you using the Internet and the World Wide Web, and describes the Java program development and execution model. You will also install and use the Java Software Development Kit.

 

Unit 2 Classes and objects

This comprehensive unit describes and defines Java classes, attributes and methods, Java identifiers, objects in Java programs, dot notation to access the object members; names and classifies the eight Java primitive types; differentiates among the primitive types and classes; helps you select the most suitable primitive type for different data; describes conversions between primitive types; teaches you how to perform numeric calculations; describes the use of comments and their importance; applies class packages; and differentiates among instance members and class members.

 

Unit 3 Control structures

Unit 3 explains the order of executing program statements and guides you in writing logical expressions. It describes different Java branching control structures without nesting, different Java looping control structures without nesting, and teaches you simple debugging techniques.

 

Unit 4 Graphical user interface

This unit describes the problem of creating a cross-platform GUI, the Java way of creating GUIs, different GUI components, the different layout managers, complex GUIs with panels, the general concept of event handling, event handling in a GUI, Java interfaces, and Java applets.

 

Unit 5 User interface design

This unit describes the problem of creating a user interface by making use of some design principles, best practices and usability testing.

 

Unit 6 Data structures

Unit 6 describes the usage of data structures, the development of simple data structures, Java collections, wrapper classes, and string manipulations.

 

Unit 7 Arrays

This unit describes why arrays are needed. It describes simple arrays of primitive types in Java programs, simple arrays of non-primitive types in Java programs, and searching algorithms.

 

Unit 8 Advanced control structures and arrays

Unit 8 describes complex logical expressions, nested branching structures, the effect of missing break in switch/case statements, the effect of using break and continue in loops, nested looping statements, sorting algorithms, multidimensional arrays, and recursion.

 

Unit 9 More on classes

This unit describes data hiding and encapsulation, inheritance, polymorphism, class constructors, and abstract classes and methods.

 

Unit 10 Basic input/output

Unit 10 describes files in Java, byte streams and character streams, Java exceptions and how they are handled, Java filter streams, and standard streams.

 

Self-tests

Throughout the study units, you will find self-tests. The questions are usually short, and the answers provide immediate feedback on your understanding of a technique or principle you have just read about. The answers to the self-tests are included at the end of the unit, but you should attempt to answer all of the questions before looking at the answers.

 

Checking your understanding

In the 'Overview' section of every unit is a list describing what the unit will do. You should keep this list in mind while you study the unit. When you finish the unit, return to the list and check your progress against it. Many of the concepts in this course will be new to you, and you might have to make quite an effort to understand them. Technical terms are explained in the study units. Keep a note of your problems, and raise them with your tutor as soon as possible. Be specific about a problem so that your tutor can help you more easily.

This course is designed to help you move easily from the required readings to the assignments and examination. When completing the assignments, you are expected to apply information and techniques that you have learned in the course.

You must submit assignments to your tutor for formal assessment in accordance with the due dates stated in the Assignment File. The self-tests are, by definition, not part of your formal assessment, but it is very important that you complete them as you work through the units. They not only expose you to the types of problem you are required to complete for the assignments, but they also reflect the demands of the unit objectives and are designed to help you understand and apply the principles covered in the units.

 

Assignments

There are four assignments for this course, all of which count toward the final assessment. These are all assignment exercises. You can find details of each in your Assignment File along with detailed instructions on how to complete them. You must submit the assignments to your tutor for marking on or before the corresponding due date. You will be able to complete all forms of assessment from the information and material contained in your study units; however, it is preferable in all degree-level education to demonstrate that you have read and researched more widely than the required minimum. Using other references gives you a slightly different viewpoint and may give you a deeper understanding of the subject.

You can see your schedule of assignments in the 'Course overview' section of this Assignment File. Your tutor will mark these assignments. Each assignment has an equal weighting of 7.5%. The final examination is worth 70% of the total course mark.

The total marks allocated to the assignments and the final examination are tabulated below. This should remind you just how important the tutor-marked assessments are to your final result and to your performance in the examination.

 

Type Weighting
Assignments4 of 4 × 7.5% = 30%
Final examination70%

 

Final examination and grading

The final examination for this course is three hours long and has a value of 70% of the total course grade. Use the time after finishing the last unit to review the entire course. You might find it useful to review your self-tests, assignments and your tutor's comments on them before sitting for the examination.

The final examination covers materials from all parts of the course. Don't worry that the examination will contain tricky questions or try to confuse you. That would not be consistent with the clear, open approach HKMU takes to helping its learners succeed in their studies. You will be provided with a specimen examination, similar in format to the final examination, although, of course, with different questions.

To earn a passing grade for the course you must attain a passing grade on your assignments and on your final examination. Therefore, you must earn aggregate marks of 40% or better in each assessment component (assignments and the exam) to pass COMP S201.

 

How to do your assignments

For each assignment, first read quickly through the description of the problem in the Assignment File. Make brief notes on what you believe are the key points raised. Next, carefully read the description two or three times while referring to your notes. Make sure that you have identified all key points. Then, read the instructions that accompany the problem. These explain what you are required to do. Make sure you understand what is required and that your assignment provides what is required.

When you have completed the assignment, submit your soft copy through our Web platform, the OLE (see the next page). Make sure that each assignment reaches your tutor before the due date. Marks may be deducted for work that is late without prior authorization. If, for any reason, you cannot complete your work on time, contact your tutor before the assignment is due to discuss the possibility of an extension. Extensions will not be granted after the due date, unless there are extremely exceptional circumstances.

Make sure that you reference your work properly when researching the answers for your assignments. If you do not, you commit plagiarism and will be penalized severely. Plagiarism is the theft of someone else's work or ideas. This applies just as much to using the work of other students as it does to the authors of books. If you use someone else's ideas in your work, give the person credit for it. You do this by referencing. In the body of the work, this appears as (King 2000, 21) for example. At the end of your assignment, list all of your references alphabetically in a section called 'References.' Include the author's name and initials, year of publication, title and publisher. For instance, one way to cite a reference is:

King, K N (2000) Java Programming: From the Beginning, New York: WW Norton.

The above book is actually a reference book of this course. If you need more information on a topic, you can try to read the relevant part of the book.

There are about 24 (12 × 2) hours of tutorials designed to help you in this course. These tutorials are not compulsory, but you are strongly advised to attend them.

Your tutor will mark and comment on your assignments, watch your progress and note any difficulties you might encounter, and try to help you during the course. Do not hesitate to contact your tutor by telephone or by email if you need help! For example, contact your tutor if:

  • you do not understand any part of the study units or the assigned readings;
  • you have any difficulty with the self-tests; or
  • you have a question about or problem with the assignments, with your tutor's comments or the grading of an assignment.

You will be notified of the dates, times and location of the tutorials and the name and phone number of your tutor, as soon as you are allocated a tutorial group.

 

Surgeries

We have added about 24 (12 × 2) hours of coaching surgery sessions to this course. Tutors will present a summary of course materials to you. It is beneficial to attend these sessions but they are also not compulsory. Probably there will also be video recording for the sessions and they will be provided on our Web platform, the OLE (see below for details).

As a supplement to the telephone tutoring and tutorials, the course also provides about eight two-hour normal surgery sessions. An on-duty tutor chairs each surgery. Each surgery aims to provide face-to-face consultation on your individual study problem areas.

You may bring along your queries on the study units, assignments and the specimen examination paper as you consult with the on-duty tutor.

 

Online learning environment

HKMU uses its Online Learning Environment (OLE), based on the WebCT (Web Course Tool), to support online learning. The OLE provides an interactive learning environment for communication among students, tutors and Course Coordinators. For this course, it is required that you use this online tool for your studies.

The OLE is easy to use, especially if you know how to use a Web browser. However, it is also a good idea to practise using the OLE tools as you read the user guide.

You can get the assignment questions in the 'Assignments' component of the OLE. Make sure that you log in to the OLE and read the 'News' twice a week to see what is going on. We will not send you print copies of supplementary mailings such as stop presses, changes of tutorial schedule, etc. So, it is important to log into the OLE frequently to keep in touch.

The OLE Discussion Board is the main forum for group communications in the course. You can discuss any study problems with your tutor and other students in the discussion board. Your tutor may not always answer your problem immediately, but you can expect that your tutor will also log into the OLE every few days.

COMP S201 Computing Fundamentals with Java is intended to develop your understanding of the concepts, skills and issues associated with object-oriented programming in Java.

You will not only learn a range of conceptual models and skills, but you will also learn to apply your own ideas in real programming situations. To maximize your gain, you will need to understand the course materials and apply the concepts and techniques you are learning. We hope you will find COMP S201 Computing Fundamentals with Java both interesting and enjoyable and you will be able to use the knowledge and skills from this course throughout your career. Good luck and enjoy the course!

 

A note about the course developer

Mr Herbert Shiu Hoi-cheung completed his Bachelor of Computer Science degree at the University of Hong Kong in the early 1990s. He completed his Master of Science and Master of Philosophy in computer science at the City University of Hong Kong in 1998 and 2006 respectively. Mr Shiu has nearly twenty years' experience in the computing industry. He served a local university and a multi-national investment bank for more than ten years. He also worked for a local IT company as a project manager who was responsible for designing and managing online financial projects. In addition, Mr Shiu has been an instructor delivering various Java courses to the public and private sectors in Hong Kong, and he was a Lecturer at the Institute of Vocational Education, Vocational Training Council. Furthermore, he was authorized as a Java trainer by Sun Microsystems. Mr Shiu is currently running an IT consulting company providing consultation and educational services.