Study Guide
Study Guide
STUDY GUIDE
NQF NQF MODULE NAME MODULE YEAR SEMESTER
LEVEL CREDITS CODE
Diploma in informatics
All rights reserved. Apart from any reasonable quotations for the purposes of research criticism or review as
permitted under the Copyright Act, no part of this book may be reproduced or transmitted in any form or by
any means, electronic or mechanical, including photocopy and recording, without permission in writing from
the publisher.
1. Welcome
Welcome to Internet Programming. This module is a follow up to the Advanced Object-Oriented Programming
module. In this module we introduce the student to advanced concepts of Web/Internet Programming using the
Java programming language, the JEE (Java Enterprise Edition) framework to be specific. Some of the concepts to
be learned are data JSPs, Servlets, EJBs, JPA and security of web applications. We are looking forward to working
with you. Enjoy the module.
2. Introduction
The purpose of this study guide is to provide the learner with information needed that is crucial in completing this
module. This study guide serves as a contract between the learner and the lecturer regarding what is to be done,
and on which date it should be completed. All rules and regulations stipulated in this study guide should be
aligned with the standard rules and regulations of Tshwane University of Technology. Any deviation from these
standard rules and regulations will be regarded as invalid and must be reported to the HOD of the module’s
custodian department.
Internet Programming
4. Module Credits/Weight
15
This Internet Programming module is a 15 credit with core learning modules on NQF level 6 which prepares the
student to apply programming and software engineering principles to provide solutions to a range of problems
emanating in IT industry. The focus of this module is to lay the foundation for the design and implementation of
internet applications using JEE components for a web container. The student will be able to apply his/her
knowledge of advanced programming concepts such as MVC design pattern, Servlets, Java Server Pages, EJBs,
JPA, and JPQL to the problems arising in the software industry.
This module forms part of the qualification Diploma in Computer Science and will individually contribute to
achieving the exit level outcome of:
This module is placed in the third year as it is core module and will help in the creation of all general IT
professionals from programmers to developers, analysts to testers. Once a student completes this module,
he/she will have a solid understanding of mobile computing in a working environment.
The NQF of this module is 6 and, on this level, it is expected that learner should demonstrate the ability to
understand and apply the basic concepts, facts and terms, select and apply standard methods, procedures and/or
techniques, as well as design an information system, and compliance to working environment.
The graduate attributes of the institution expect students to be well rounded individuals which will demonstrate
knowledge, skills and applied competencies. By employing the proper outcomes, assessment methods and level
descriptors this module will contribute to the knowledge and skills such as identifying and explaining key concepts
of principles of programming and applying these skills to either the working environment or their own lives.
The students will be employable because of an array of skills and knowledge they will acquire. Industry expects
students to:
• Communicate effectively,
• Be critical thinkers,
• Be team players and yet independent thinkers.
Through this module students will acquire skills and applied competencies by doing investigation and applying
solutions to provided issues through group work and presentation of solutions.
• Knowledge: understand key terms, concepts, facts, principles, rules and theories.
• Skills: select and apply standard methods, procedures and/or techniques.
• Plan: manage and implement processes within a supported environment.
7. Code of conduct
• Students may not be late for class. (Do not enter the class if you are late)
• Students should attend all classes. (The 85% class attendance rule applies)
• Cell phones should be switched off during class times.
• No eating or drinking in the classes.
• Students should strictly follow the schedule, unless otherwise stated. (page 4 of this study guide)
• Students should also look on the notice board outside the lecturer’s office for updates on marks and
communication.
• Each student should have a textbook.
• Students should prepare for each class by researching the module.
• Students can see lecturer during consultation times, otherwise make an appointment with the lecturer
for another time.
• Students should submit their sick note or death certificate within the specified time.
• Since 2011 a student is not allowed to register more than three times for a module.
• All issues pertaining to the module must be reported to your lecturer. If the issue cannot be resolved
adequately it must be escalated to the module coordinator. If the issue is still not resolved, it must be
escalated to the section head. If the issue is still not resolved, it can be escalated to the HOD of the
module’s custodian department (see section A). Students may only report issues to the Dean of the
faculty if the issue cannot be resolved by the HOD. Under no circumstances will issues be addressed if the
proper reporting chain was not followed (see the figure below)
This module has one primary module coordinator that is responsible for coordinating the activities of the module.
If this module is offered at one of the other learning sites and the primary module coordinator does not reside on
the learning site, the activities of this module is managed by the primary module coordinator via a site
coordinator. There is one facilitator assigned to facilitate the teaching of each group.
9.3. Facilitators
The time table for class attendance is obtainable from the leaner management system (LMS).
13. Consultation
Consultation time slots will be displayed on the LMS. Consultations are done online. Students must please contact
the lecturer one day in advance via email and arrange a consultation session. Please remember to mention your
name & surname, student number, module code and topic to be discussed during the consultation session.
14. Schedule
The schedule indicates all-important dates for activities such as, class activities, assignment due dates, class tests,
excursions, practicals, project due dates, computer-based tests submission dates etc. Please ensure that you
follow the schedule of your assigned group.
Published by O’Reily
ISBN-13: 978-0-596-51668-0
This book is essential for the successful completion of this course. You are strongly advised to acquire the
resource.
By Joey Murach
ISBN: 1890774448
This module will make use of [Link] for as its formal e-learning platform. Last minute, important
notifications, like changes in lecture venue, time, deadlines for assignments, etc. will be placed on this platform.
Electronic resources will also be distributed via this platform.
21. Alignment of this module with the relevant exit level outcomes / graduate attributes
The students should be able to do the following after the completion of the module:
• Scope of knowledge, in respect of which a learner is able to demonstrate: detailed knowledge of the main
areas of one or more fields, disciplines or practices, including an understanding of and an ability to apply
the key terms, concepts, facts, principles, rules and theories of that field, discipline or practice to unfamiliar
but relevant contexts; and knowledge of an area or areas of specialisation and how that knowledge relates to
other fields, disciplines or practices
• Knowledge literacy, in respect of which a learner is able to demonstrate a understanding of different forms
of knowledge, schools of thought and forms of explanation within an area of study, operation or practice,
and an awareness of knowledge production processes
• Method and procedure, in respect of which a learner is able to demonstrate an ability to evaluate, select and
apply appropriate methods, procedures or techniques in processes of investigation or application within a
defined context
• Problem solving, in respect of which a learner is able to demonstrate an ability to identify, analyse and solve
problems in unfamiliar contexts, gathering evidence and applying solutions based on evidence and
procedures appropriate to the field, discipline or practice
• Ethics and professional practice, in respect of which a learner is able to demonstrate an understanding of the
ethical implications of decisions and actions, within an organisational or professional context, based on an
awareness of the complexity of ethical dilemmas f. Accessing, processing and managing information, in
respect of which a learner is able to demonstrate an ability to evaluate different sources of information, to
select information appropriate to the task, and to apply well-developed processes of analysis, synthesis and
evaluation to that information
• Producing and communicating information, in respect of which a learner is able to demonstrate an ability to
present and communicate complex information reliably and coherently using appropriate academic and
professional or occupational conventions, formats and technologies for a given context
• Context and systems, in respect of which a learner is able to demonstrate an ability to make decisions and
act appropriately in familiar and new contexts, demonstrating an understanding of the relationships between
systems, and of how actions, ideas or developments in one system impact on other systems
Management of learning, in respect of which a learner is able to demonstrate an ability to evaluate
performance against given criteria, and accurately identify and address his or her task-specific learning needs
in a given context, and to provide support to the learning needs of others where appropriate
• Accountability, in respect of which a learner is able to demonstrate an ability to work effectively in a team or
group, and to take responsibility for his or her decisions and actions and the decisions and actions of others
within well-defined contexts, including the responsibility for the use of resources where appropriate.
The diagrams below show the articulation form one module to the next. If the module is connected with a line to a module above it, it indicates that the module
above is a prerequisite for this module.
The learning outcomes, and assessment criteria for how you can measure if you have reached a full understanding of these learning goals are defined in the next
section.
Each learning goal has a set of learning outcomes that will be assessed using assessment criteria. The tables below show the learning outcomes, assessment
criteria, teaching activities, and assessment methods.
Learning Outcome 1.1: Design and deploy web applications that conform to the Web architecture of the Java Enterprise Edition (JEE) framework.
Learning Outcome 1.3: Explain the historical background of JEE in the web development environment.
Learning Outcome 1.4: Compare JEE to other enterprise frameworks, such as Spring and Spring Boot.
Learning Outcome 1.5: Differentiate between Web Servers and Application Servers in the web development environment.
Learning Outcome 1.6: Download, install, and test software packages compliant with the JEE standard.
Learning Outcome 1.7: Identify a real-world problem that can be solved using integrated internet programming knowledge through a collaborative
project.
Learning Outcome 2.2: Discuss the components of MVC in a web development environment.
Learning Outcome 2.3: Design, develop, and deploy web applications that are compliant with MVC.
Learning Outcome 2.4: Analyse, design, and justify a solution for the collaborative, integrated, real-world software project.
Learning Outcome 2.5: Identify a software design pattern appropriate for the collaborative, integrated, real-world software project.
Web applications are created according to MVC Student controlled: Demonstrate the understanding
standards. by tests, project.
Learning Outcome 3.2: Discuss the lifecycle of JSP in a web development environment.
Learning Outcome 3.3: Discuss JSP syntax, directives, and implicit objects applicable in a web environment.
Learning Outcome 3.4: Design, develop, and deploy web applications that utilize JSP.
Learning Outcome 3.5: Incorporate JSP technology in the collaborative, integrated, real-world software project.
Learning Outcome 4.2: Discuss the lifecycle of Servlets in a web development environment.
Learning Outcome 4.3: Design, develop, and deploy web applications that utilize Servlets.
Learning Outcome 4.4: Incorporate Servlets technology in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
The definition of Servlets is stated according to demonstrate the application of the concepts using development of e-commerce web
web development standards. problem based or case studies. application
Lifecycle stages of Servlets are identified and Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
described according to web development and tutorial sessions.
standards.
Student controlled: Demonstrate the understanding
Web applications are created using Servlets by tests, project.
standards.
Learning Outcome 5.1: Distinguish between statefulness and statelessness in a web development environment.
Learning Outcome 5.2: Discuss statefulness techniques applied in a web development environment.
Learning Outcome 5.3: Design, develop, and deploy stateful web applications in a web development environment.
Learning Outcome 5.4: Incorporate Statefulness in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
A distinction between Statefulness and demonstrate the application of the concepts using development of e-commerce web
Statelessness is made in a web development problem based or case studies. application
environment.
Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
Stateful techniques are identified in a web and tutorial sessions.
development environment.
Student controlled: Demonstrate the understanding
Stateful web applications are created in a web by tests, assignments, project.
development environment.
Learning Outcome 6.2: Discuss the forms of exceptions in a web development environment.
Learning Outcome 6.3: Discuss the inheritance hierarchy of exceptions and extend it to web development.
Learning Outcome 6.5: Design, develop, and deploy web applications that utilize exception handling in a web development environment.
Learning Outcome 6.6: Incorporate exception handling in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
The definition of Exceptions is stated according to demonstrate the application of the concepts using development of e-commerce web
web development standards. problem based or case studies. application
Different forms of exceptions are identified and Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
explained to web development standards. and tutorial sessions.
Learning Outcome 7.1: Explain the EJB standard in a web development environment.
Learning Outcome 7.2: Discuss the different types of EJBs used in a web environment.
Learning Outcome 7.3: Design, develop, and deploy web applications that utilize EJBs.
Learning Outcome 7.4: Incorporate EJB technology in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
The EJB concept is clearly explained in a web demonstrate the application of the concepts using development of e-commerce web
development environment. problem based or case studies. application
Different types of EJBs are identified and Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
explained in a web development environment. and tutorial sessions.
Web applications that use EJBS are created in a Student controlled: Demonstrate the understanding
web development environment. by tests, project.
Learning Outcome 8.2: Explain the relation between JPA and ORM in a web development environment.
Learning Outcome 8.4: Design, develop, and deploy database-driven web applications that implement JPA.
Learning Outcome 8.5: Incorporate JPA technology in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
The definition of JPA is stated according to web demonstrate the application of the concepts using development of e-commerce web
development standards. problem based or case studies. application
The relationship between JPA and ORM is Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
explained in a web development environment. and tutorial sessions.
Learning Outcome 9.2: Discuss applicable JPQL syntax for different clauses.
Learning Outcome 9.3: Discuss different JPQL querying methods applied in a web development environment.
Learning Outcome 9.4: Design, develop, and deploy database-driven web applications that utilize JPQL.
Learning Outcome 9.5: Incorporate JPQL technology in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
The definition of JPQL is stated according to web demonstrate the application of the concepts using development of e-commerce web
development standards. problem based or case studies. application
Correct JPQL syntax for different clauses is Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
utilized in a web development environment. and tutorial sessions.
Different JPQL querying methods are used in a Student controlled: Demonstrate the understanding
web development environment. by tests, project.
Learning Outcome 10.1: Discuss the importance of security in a web development environment.
Learning Outcome 10.2: Apply JCA and JCE APIs to protect data at rest and in transit in a web development environment.
Learning Outcome 10.3: Apply JAAS API to perform authentication and authorization in a web development environment.
Learning Outcome 10.4: Design, develop, and deploy secure web applications in a web development environment.
Learning Outcome 10.5: Incorporate security technology in the collaborative, integrated, real-world software project.
Lecturer controlled: Explain the concepts, Formative: written tests, quizzes and
A determination of the importance of security is demonstrate the application of the concepts using development of e-commerce web
made in web development. problem based or case studies. application
JCA and JCE APIs are applied to protect data at Peer controlled: Reinforce the concepts in practical Summative: End of semester examination
rest and in transit. and tutorial sessions.
JAAS API is used to authenticate and authorize Student controlled: Demonstrate the understanding
system access in web development. by tests, project.
Assessment
Method Example/description Possible uses/assessment tasks Where to use
Alternative True/False; Yes/No questions; multiple choice • Recall of information • Formative
response • Ability to discriminate • Summative
questions
Assertion/reason Consists of an assertion and supporting explanation. The learner has to decide • Ability to weigh up options • Formative
questions whether the assertion and explanation are true, and if true, whether the and to discriminate • Summative
explanation is a valid reason for the assertion. Sometimes the learner is asked • RPL
to select his/her answer from a list of possibilities, e.g. True; True + Valid; True
+ Invalid.
Aural/oral tests These are mainly used to generate evidence on learners’ ability to listen, • Interpretation of ideas • Formative
interpret, communicate ideas and sustain a conversation in the language of • Expression of ideas • Summative
assessment. • RPL
Completion Learners are presented with a question with a pre-determined answer • Recall of factual information • Formative
questions/short consisting of a few words, or may be given a statement where key words are • Test understanding and • Summative
answer omitted. They are then required to complete the statement by filling in the application of knowledge, e.g. • RPL
questions word(s). Such questions may also involve the use of numbers, diagrams and in mathematical concepts
graphs.
Examinations / These usually consist of a range of questions. Learners are required to respond • Recall of information • Formative
tests to questions within a specified time. • Cognitive skills such as • Summative
problem solving or analyses • RPL
Extended These are usually in a written form. There are few restrictions on the content • Open-ended debates or other • Formative
response and form of the response. Continuous prose is normally required, but there responses • Summative
questions may be limits on the length and/or time allocated. • Arguments • RPL
• Reports
Grid questions Grid questions and matching questions are variants of each other. The learner is • Recall of information • Formative
/matching presented with two lists – a set of statements and a set of responses. The • Application of knowledge • Summative
questions learner is required to indicate which response from the second list corresponds • RPL
or matches each statement in the first list. Grid questions are presented in grid
format. They differ from the other selected-response assessment instruments
The learner will write formal assessments as indicated in the table below. There will be a sick test for a learner
who has missed the formative assessment or summative test due to official reasons. Quizzes do not have a sick
test provision.
Weight
Sub- towards Learning outcomes and assessment
Date Time Assessment Task minimum predicate criteria to be assessed
13 Feb 2026 TBA Class Test 1 5% LO1 – LO3
27 Feb 2026 TBA Class Test 2 5% LO4 – LO5
13 Mar 2026 TBA Class Test 3 5% LO6 – LO7
17 Apr 2026 TBA Class Test 4 5% LO8 – LO9
20%
Assignment/Quiz 1 1% LO1
Assignment/Quiz 2 1% LO2
Assignment/Quiz 3 1% LO3
Assignment/Quiz 4 1% LO4
Assignment/Quiz 5 1% LO5
Assignment/Quiz 6 1% LO6
Assignment/Quiz 7 1% LO7
Assignment/Quiz 8 1% LO8
Assignment/Quiz 9 1% LO9
Assignment/Quiz 10 1% LO10
10%
8 May 2026 Project 15% All learning outcomes
15%
8 May 2026 Homework 5% All learning outcomes
5%
16–28 Mar 2026 TBA ST1 25% LO1 – LO7
20 Apr–2 May TBA ST2 25% LO8 – LO9
2026
50%
25 May – 12 Jun EXAM 100% All the learning outcomes
2026
The student is first required to get a minimum predicate mark of 40%. The predicate mark is calculated as follows:
Where:
HW – is the homework
A predicate of 40% and above qualifies the student to sit for Exam. To pass the module, the student is expected to
get the subminimum of 40% in the Exam paper and a Final Mark of at least 50%. The Final Mark is calculated as
follows:
A Final Mark between 45% and 48%, both values inclusive, will result in a student qualifying for a Supplementary
Exam.
Learners who missed a semester and/or exam assessment due to a valid official reason(s) will be given an
opportunity to have a sick test for that assessment. An official note must be presented to the subject head within
2 days after the missed assessment has been written. Class tests, quizzes and project do not have a sick test
provision.
The student will write 4 class tests during the semester. The tests will contribute 20% towards the Predicate
Mark.
29. Assignments/Quizzes
The student will write 10 assignments/quizzes during the semester. The quizzes will contribute 10% towards the
Predicate Mark.
The student will write 2 semester tests during the semester. The semester tests will contribute 50% towards the
Predicate Mark.
31. Project
The student will do a project during the semester. The project will contribute 15% towards the Predicate Mark.
32. Homework
The student will do a homework during the semester. The homework will contribute 5% towards the Predicate
Mark.
33. Predicate
The Predicate mark will constitute the Class Tests, Quizzes, Semester Tests, Project, and Homework. The
predicate mark will contribute 50% towards the final mark.
34. Exam
The student will write one Exam paper during the semester. The Exam mark will contribute 50% towards the final
mark.
Test administration:
The mode of delivery for this module is multimodal. This module will be presented in 4 periods per week during
the day.
From 5PM each day, the computer laboratories will be made available for students to practice and do homework.
Student assistants are made available in these laboratories to assist students with homework related problems.
These assistants are not just there to open and close the labs, please make use of their assistance.
The quality of the study guide is maintained by the Quality Assurance committee of Tshwane University of
Technology.
Students evaluate the study guide using the lecturer assessment questionnaire that is completed twice a
semester.
The quality of the question papers and memorandums is maintained by an external moderator and internal
moderator with qualifications higher than the year the module is being presented in.
The quality of the marking is overseen by the external moderator that ensures the marking of the scripts is fair. A
moderator report is completed for each major assessment.
Where possible guest speakers will come and address the class on advanced programming issues.
39. Plagiarism
All students have a moral obligation and responsibility to maintain the following academic integrity principles in
the production and presentation of academic outputs, regardless of the presentation format and/or work type:
Each student should only submit his/her own original academic work, except when formal group work was
required in the production of the academic output;
Each student should accurately indicate in all academic outputs when information is used that was produced by
another scholar by referencing it in accordance with a recognised referencing convention system;
No student should use, present or submit someone else’s electronic works, multimedia products or artistic works
as if it is his/her own;
No student should allow another person/s to use or copy from his/her academic output and present it as their
own work;
Each student is required to attach a signed Declaration of Originality (see Annexures A and B) for each academic
output submission (e.g. assignment, project, manuscript, dissertation and thesis); and Each student has the
responsibility to request assistance from staff members should they require guidance and/or advice about
plagiarism in their academic outputs.
Students have a moral obligation to report plagiarism incidents in academic and/or research environments. All
whistle-blowers are protected in terms of the Policy on Prevention of Fraud, Corruption and Theft (Policy #:
VCPOL010).
Plagiarism is a form of misconduct. The relevant part (Chapter 15 – Student Discipline) of the Prospectus, Part 1
(Students’ rules and regulations) read as follows:
“Any student who contravenes the provisions of rule 15.1 of the disciplinary code is guilty of misconduct and will
be dealt with in terms of the disciplinary code for students …
15.1.16 Handing in any written assignment for assessment in which the essential parts of the assignment have
been copied from the work of another person, or any form of plagiarism.”
All students must be fully aware that plagiarism offences/penalties can seriously affect their academic status and
progress at TUT and other tertiary institutions. In the most serious cases, it can result in dismissal from the
University and/or formal cancellation/retraction of current/previously submitted academic outputs. In addition,
the University may indicate the nature and outcome of all plagiarism offences/penalties when it is required to
provide a reference or conduct statement for the particular student.
A “Module coordinator”, is a lecturer responsible for coordinating the activities within the module. A module
coordinator is responsible for setting up the study guide and ensuring that all the participants stay on schedule.
A “Secondary module coordinator”, is a lecturer responsible for assisting the module coordinator with activities
that scaled due to large student number quantities within the module.
A “Site coordinator”, is a lecturer responsible for coordinating the activities (within the module) on a learning
site. The site coordinator is responsible for reporting all deviations from the activities scheduled to the module
coordinator.
A “Custodian department”, is the department responsible for managing the module and all the resources
required by the module.
Appendix A