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 S801
Internet Software Development
Introduction |
 |
Welcome to COMP S801 Object Oriented Programming and Internet Application Development.
The course is a full year, ten-credit, Master's level course for OUHK students seeking a Master of Science in Information Technology with Internet Applications.
COMP S801 Object Oriented Programming and Internet Application Development is designed mainly for students whose first degree is outside of IT, as well as for students who have obtained a higher diploma with IT experience.
The study units, textbook, and assignments and self-tests will help you master the topics over a period of around 30 weeks.
Purpose of this Course Guide
As this course might be the first course that you have taken through the Open University of Hong Kong (OUHK), you might not be aware of both the study skills required for distance learning and how OUHK courses are organized. It is recommended, therefore, that you read this Course Guide thoroughly before looking at the study units or your textbook. If you have taken OUHK courses before, you should be well aware of both the study skills required for distance learning and how OUHK 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 or your textbooks.
This Course Guide tells you briefly what the course is about and how you can work your way through the material. It suggests the amount of time you will likely need to spend in order to complete the course and the units, and it will give you a general idea of when your assignments are due. For detailed information on assignments, however, please refer to the Assignment File, and please refer to the Presentation Schedule for information on due dates and cut-off dates for work to be submitted.
In distance learning, as practised by OUHK, the study units are coordinated and prepared in the distance mode of education by your university professor. You do not need to attend lectures face-to-face with the lecturer or professor. 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.
Think of it 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 will tell you when to read your textbook or other material. In the same way that a lecturer might give you an in-class activity, your study unit will have activities and self-tests for you to do at appropriate points. Do them all, as these give you the practice necessary to achieve the objectives of the course and to pass the examination. In the same way you make notes in a direct face-to-face lecture, you are advised to make notes as you read the study units and think about them in relation to your textbook. In the distance mode of education, the course materials replace the live lecture notes.
Course aims
COMP S801 Object Oriented Programming and Internet Application Development aims to:
-
Introduce the basic structure of computer-based information systems.
-
Provide you with a sound foundation of knowledge in programming, especially for development of browser-based software applications.
-
Introduce the advantages of object-oriented programming methodology.
-
Provide you with a sound foundation in data communications via the networks.
-
Provide you with a fundamental understanding of database concepts and design.
- Provide you with a sound foundation in latest Web technology, including Web services and Ajax.
Course learning outcomes
Upon completion of this course, you should be able to:
-
Describe various components of web-based software applications.
-
Develop programs in Java and the object-oriented approach.
-
Apply appropriate data structures and algorithms in different applications.
-
Develop applications involving databases with SQL.
-
Develop applications over the Internet in the browser side using JavaScript and JavaServer Page (JSP).
-
Describe and appreciate the development of browser-based software with Web services and Ajax.
Course description |
 |
COMP S801 Object Oriented Programming and Internet Application Development provides a sound foundation in information technology. This course covers the development of Internet software with the Java technologies.
Course overview
The following table provides an overview of the course.
Unit |
Title |
Weeks |
Assessment activity (end of unit) |
1 |
Fundamentals of computer systems |
3 |
|
2 |
An Internet language: Java basics |
3 |
Assignment 1 |
3 |
Application development in Java |
4 |
|
4 |
The conduits in Internet software |
4 |
Assignment 2 |
5 |
The back-end in Internet software |
4 |
|
6 |
Interactive Web technologies |
5 |
Assignment 3 |
7 |
Browser-based Internet software |
4 |
|
8 |
XML and the semantic Web |
4 |
|
9 |
Ajax and Web services |
4 |
Assignment 4 |
|
Revision |
1 |
|
|
Total |
36 |
|
Unit 1 Fundamentals of computer systems
This unit covers the fundamental knowledge in various areas of computing, such as the basic input-process-output concept, data representation in computers, the essential components of a computer system, operating system and application program, and an introduction to programming languages.
Unit 2 An Internet language: Java basics
This unit focuses on developing simple Java applications, formulating algorithms for control and repetition, defining methods and passing parameters to methods, using prepackaged Java methods and classes.
Unit 3 Application development in Java
This unit develops simple object-oriented programs using classes and objects including characters and strings, and introduces inheritance and polymorphism. Advanced control structure, such as recursion, the usage of arrays and manipulations of textual data are introduced.
Unit 4 The conduits in Internet software
Internet software is nothing without the network. As such, this unit introduces basic knowledge on networking and network programming with the Java programming language.
Unit 5 The back-end in Internet software
Internet software needs a systematic approach for storing and manipulating data as its back-end, which commonly is a relational database as introduced by this unit. This unit covers operating a relational database and its importance in enterprise software systems.
Unit 6 Interactive Web technologies
The Internet would not be that popular without the World Wide Web. This unit covers the Web and webpage authoring. Subsequently, it introduces the language JavaScript for making webpages interactive and for data validation and processing.
Unit 7 Browser-based Internet software
HTML with JavaScript can enable you to perform simple validation and operations. On the other hand, other than serving static webpages, a Web server can perform more complicated operations with a relational database as a back-end. In this unit, the techniques of developing server side software with JavaServer Page (JSP) are covered and are supplemented with JavaServer Faces (JSF).
Unit 8 XML and the semantic Web
Extensible Markup Language (XML) has become the standard for data storage and exchange in the Internet era. This unit introduces XML language and the corresponding document format, and the ways of handling XML documents with common Java technologies.
Unit 9 Ajax and Web services
This unit covers two new approaches to using the Web: Ajax and Web services. Ajax enables developing more intelligent and interactive webpages, and Web services enable Internet software to communicate through a universal approach disregarding differences in platforms and development approaches.
Materials |
 |
In addition to this Course Guide, the course has the following important components. Please ensure that you have all of these materials available.
Study units
Each unit in COMP S801 consists of four to five weeks' work. Please remember that you have to plan your own study schedule. It is essential that you complete your assignments on time, as they will contribute to helping you pass the examination.
The study units summarize key issues, explain the relevant concepts and examples, and comment on related readings. Each unit contains self-tests to reinforce your assimilation of the issues under discussion. Moreover, the assignments will provide you with feedback.
Each unit has subject matter and self-tests and a summary of the materials covered. The unit titles were listed in the previous section of this Course Guide.
The course is structured so that each unit builds upon previous knowledge. For each topic you will use a number of methods to progress in your studies:
-
Read the study unit.
-
Read the textbook.
-
Test your comprehension and analytical skills by working through the activities and self-tests that appear throughout the units.
-
Complete the assignments.
- Others, e.g. you will be directed to many relevant websites on the Internet.
Set textbook
There is one compulsory textbook for COMP S801, and this textbook must be purchased:
Deitel, P and Deitel, H (2015) Java: How to Program, 10th edn, Pearson.
Non-print media
There is a website for this course on the OUHK's Online Learning Environment (OLE) and it is a mandatory component of the course. We shall also have links to other sites including one that is maintained by the course team in which demonstrations of technical concepts will be supplied. In addition, some self-tests and exercises may be provided on the webpages for you to evaluate your own progress, and you will be guided on when and how to make use of this online reinforcement.
Equipment requirements
You need to have at least the following equipment for the course:
Hardware (minimum configuration)
-
PC with Intel Pentium or newer
-
2 GB RAM
-
a device for broadband Internet connection, such as ADSL or cable-modem.
Software
-
Microsoft Windows XP or newer
-
NetBeans -- a Java Integrated Development Environment with embedded Web server and database server
-
Web browser -- Internet Explorer 6 or higher
-
word processor -- MS Word.
Note: The hardware configuration above is the bare minimum. NetBeans can be downloaded from the Internet at no cost and will be provided to students.
Assignment File
Assignment details for this course are contained in your Assignment File. The nature of these assignments is described in the 'Assignments' section below. You are required to complete your assignments and send them by mail (together with an Assignment Form) to your tutor in accordance with the timetable provided in the Presentation Schedule.
Presentation Schedule
The Presentation Schedule for this course is contained in your course package. In this Schedule, you will see the approximate time for your tutor's receipt of your assignments. Please note that your must submit all your assignments in time to reach your tutor by the dates shown in the Assignment File.
How to work through the course material |
 |
You should pay particular attention to this Course Guide and all instructions in the study units. You should attend all your tutorials, where you will meet other 'distant' learners.
Study units
You should read the study units carefully as they guide your learning and tell you how to approach any assignment related to the unit. Otherwise, you may miss important information. You must read both the study units and the textbook. They are not alternatives. Moreover, you should also read articles in newspapers and journals and other books related to the topics. The more widely you read, the better your appreciation and understanding of the course will be.
Each unit is divided into a number of sections. The first section introduces the materials to be covered. The next sections constitute the contents of the study unit. These sections will guide your learning and direct you to complete the self-tests. The final section contains the summary of the unit, and answers to the self-tests.
Non-assessed self-tests
You will come across non-assessed self-tests in each of the study units. These are designed to help you remember and apply what you have learned and to prepare for your assignments and examination. The self-test questions provide you with feedback on your understanding of the subject matter you have just learned. By answering these questions and referring to the suggested answers (included at the end of every unit), you can check your progress accordingly. You should attempt all questions before referring to the answers.
Checking understanding
If you encounter any problems, please make notes and raise these with the tutor as soon as possible.
Assessment |
 |
This course is designed to help you in progressing easily from the required readings to the assignments and examination. You will be required to apply the information and techniques learned during the course when doing the assignments. The assignments must be submitted to your tutor for formal assessment in accordance with the deadlines stated in the Assignment File. The non-assessed self-test questions are not part of your formal assessment, but these should be done before progressing to the tutor-marked assignments.
Assignments
Your performance is assessed through the submission of four assignments. Assignment 1 is required, and the best two scores of Assignments 2–4 will constitute the balance of the Continuous Assessment Component.
Assignments serve three purposes. They:
-
provide a mechanism for you to keep up your progress;
-
test your understanding of the topics; and
-
provide an opportunity for you to apply what you have learned by completing some applications work and case studies (programming exercises).
Assignments, after being marked by the assigned tutor, are returned to you so that you can be aware of your mistakes and clarify any misunderstandings. In addition, you can also widen your perspective through your tutor's feedback. Assignments generally consist of essay questions, problem-solving programming exercises and case studies.
Please make a careful note of which assignment scores are counted into the score of continuous assessment. The score then contributes 50% to the total course mark.
How to do your assignments
For each assignment, please read through the question and the instructions accompanying the question in the Assignment File. Please read the question carefully and make sure you understand what is required before attempting it.
Once you have completed each assignment, you must submit it in the OLE to your tutor. Please make sure that each assignment reaches your tutor on or before the deadline. If you cannot finish your assignment on time, you must contact your tutor before the deadline to discuss the possibility of an extension. Your tutor may grant you an extension of up to seven days. If more time is needed, you must obtain approval from the Course Coordinator through the course webpage or the Dean of the School of Science and Technology. Please use the online (Web) assignment extension application. No marks will be awarded for any late assignments without prior approval obtained from the Course Coordinator or the Dean.
If your assignments call on you to write a research-type paper, you must be careful when you are using other references in your research. If you commit plagiarism, you will be penalized severely. Plagiarism is theft of somebody else's work or ideas. This applies just as much to using the work of other students as it does to using the work of authors of books. However, you may include parenthetical references to the works you cite e.g. '(Stott 1998, 38)'. So, you should include a section at the end of your assignment called 'References' where the full name, title, date and place of publication appear.
The way to cite a reference is as follows:
Stott, V (1998) Hong Kong Company Law, 8th edn, London: Financial Times Pitman Publishing.
Assignment schedule
|
To be submitted at the end of: |
Assignment 1 (required) |
Units 1-2 |
Assignment 2 |
Units 3-4 |
Assignment 3 |
Units 5-6 |
Assignment 4 |
Units 7-9 |
Course marking scheme
Assessment |
Marks |
Four assignments Assignment 1 is required. Only the top two out of Assignments 2-4 are counted. Assignments will include case studies, essay writing, programming and development of application software. |
30% Breakdown of this 50% Assignment 1: 30% Assignments 2-4: 35% each |
Examination The three-hour examination will comprise of short and essay questions. |
70% |
Total |
100% |
Final examination and grading
The final examination for this course will be of three hours duration (closed book) and counts for 70% of the total course grade. You should use the time between finishing the last unit and the examination 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. You will be advised of examination arrangements after you send in your examination registration card.
The final examination covers information from all parts of the course and will be in a form you have already experienced in self-tests and tutor-marked assignments. Do not worry that the examination will contain tricky questions. That would not be consistent with the clear, open approach the OUHK takes to helping its learners succeed in their studies.
To earn a pass grade for the course, an overall mark of 40% or better is required, but you must attain an average mark of 40% or better on the assignments and a mark of 40% or better on the final examination. You are therefore required to submit all assignments and to sit for the examination. If, for some good reason, you are not able to complete all assignments or sit for the examination, contact your Course Coordinator to see if alternative arrangements can be made.
Student support |
 |
Many ways are provided to support you during the course.
Direct personal contact support
The course supports you through tutorials and surgeries.
Tutorials
The course includes 12 tutorial meetings of 2 hours each - 24 contact hours in total. The tutorials are not conducted using a lecture presentation, but are conducted to provide an opportunity for you to receive some course progress guidance from the tutors. In addition, you have an opportunity to share your study experiences and difficulties in your peer-to-peer group discussions. Although the tutorials are not compulsory, you are encouraged to attend the tutorial meetings as far as possible. The schedule of the tutorials is as follows:
The following is a suggested tutorial plan.
|
Tutorial topics |
Related units |
1 |
Fundamentals of computer systems |
1 |
2 |
An Internet language: Java basics /Assignment01 |
1 and 2 |
3 |
Application development in Java |
3 |
4 |
Application development in Java (cont'd) |
3 |
5 |
The conduits in Internet Software / Assignment02 |
3 and 4 |
6 |
The back-end in Internet Software |
5 |
7 |
Interactive Web technologies / Assignment03 |
5 and 6 |
8 |
Browser-based Internet software |
7 |
9 |
Browser-based Internet software (cont'd) |
7 |
10 |
XML and the semantic Web |
8 |
11 |
Ajax and Web services / Assignment04 |
7, 8 and 9 |
12 |
Revision -- exam preparation, review of assignment's, specimen examination questions |
All |
To standardize the presented materials and the activities in the tutorial, a tutor manual will be provided to tutors as a guideline. Supplementary materials for the activities in these meetings will also be supplied to tutors.
Tutors and tutorials
Your assignments will be marked and commented on by your tutor, who will keep an eye on your progress and assist you if you encounter problems during the course. Marked assignments will be returned to you as soon as possible.
It is a good practice to keep a copy of each assignment submitted for marking, so that you can always refer any queries to the tutor during a telephone conversation. Please contact your tutor should the following arise:
- You do not understand any part of the study units or the assigned readings.
- You have any difficulty with self-tests.
- You have a question or problem with the assignments or with your tutor's comments or grading on an assignment.
Apart from self-study, tutorials will also be organized to assist you in your learning. Details of the dates, times and locations of tutorials as well as the name and phone number of your tutor will be sent to you in due course.
It is strongly recommended that you attend all tutorials, as they will provide considerable assistance in your study of this course. Moreover, you will have the chance to meet with other distance learners who are studying at the OUHK.
Surgeries
The course also includes surgeries sessions.
An on-duty tutor chairs each surgery. Each surgery aims to provide face-to-face consultation on individual students' study problem areas.
Students may bring along their queries about the study guide, textbook, assignments and specimen examination paper as they consult the on-duty tutor.
Electronic support
Electronic mail
You may also submit your study problems to your assigned tutor through email.
This channel provides flexibility to both tutors and students in overcoming the limitations of telephone tutoring in solving more technical issues.
Course website
As mentioned earlier, a course webpage will be set up on the OLE for disseminating the latest course information, course announcements, course schedules and assignments.
In addition, explanation of course materials and responses to frequently asked questions are also provided on the Web.
Discussion board
A discussion board on the Internet will be established for students to discuss the study topics and share learning experiences. In a distance learning course, you may find the opportunities to meet with other learners are rather limited. This channel provides some remedy for this.
Summary |
 |
COMP S801 Object Oriented Programming and Internet Application Development is intended to provide you with a sound foundation of knowledge about developing software in the era of the Internet. In order to understand the content of this course, you must analyse the course materials and apply the concepts learned. We hope that you are able to apply the knowledge and skills from this course throughout your career.
Good luck, and we wish you great success and satisfaction with this course.
A note about the course developers |
 |
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 more than ten years experience in the computing industry. He served at a local university and a multinational investment bank for more than ten years. He also worked for a local IT company as a project manager responsible for designing and managing online financial projects. Mr Shiu has been an instructor of various Java courses for the public and private sectors in Hong Kong, and was a Lecturer at the Institute of Vocational Education, Vocational Training Council. Furthermore, he has been certified as a Java trainer by Sun Microsystems. Mr Shiu is currently running an IT consulting company providing consultation and educational services.