You are on page 1of 33

Faculty of

Information and Communication Technology

Department of Computer Science

STUDY GUIDE
NQF NQF MODULE NAME MODULE YEAR SEMESTER
LEVEL CREDITS CODE

7 15 DISTRIBUTED PROGRAMMING DSD117V 2020 2

QUALIFICATION SAQA ID:

Advanced Diploma in Computer Science 115935

Compiled by Vongani Maluleke


Revised on: December 2020
©COPYRIGHT: Tshwane University of Technology
Private Bag X680
PRETORIA
0001

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.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 2


Contents
SECTION A – INTRODUCTION............................................................................................................................ 4
1. Welcome ...........................................................................................................................................................5
2. Introduction ......................................................................................................................................................5
3. Name of the module .........................................................................................................................................5
4. Module Credits/Weight ....................................................................................................................................5
5. Custodian department of this module .............................................................................................................5
6. Purpose of the module .....................................................................................................................................5
7. Code of conduct................................................................................................................................................7
SECTION B – ORGANISATIONAL COMPONENT................................................................................................... 8
8. Contact information of custodian department of this module ........................................................................8
9. Contact information of lecturers ......................................................................................................................8
9.1. Module coordinator/s ..............................................................................................................................8
9.2. Site coordinators.......................................................................................................................................9
9.3. Facilitators ................................................................................................................................................9
10. Library Contact Details .................................................................................................................................9
11. Student Support Contact Details ..................................................................................................................9
12. Time table ...................................................................................................................................................10
13. Consultation................................................................................................................................................10
14. Schedule .....................................................................................................................................................10
SECTION C – PRESCRIBED AND RECOMMENDED RESOURCES........................................................................... 11
15. Prescribed Textbook ...................................................................................................................................11
16. Additional Module Resource Information ..................................................................................................11
17. Recommended Additional Resources.........................................................................................................11
18. Recommended Electronic resources (include youtube videos on JEE) ......................................................12
19. Supplied Resources .....................................................................................................................................12
20. E-Learning platform ....................................................................................................................................12
SECTION D – MODULE DESCRIPTION............................................................................................................... 13
21. Alignment of this module with the relevant exit level outcomes / graduate attributes ...........................13
22. Module Outline...........................................................................................................................................15
23. Learning outcomes, assessment criteria, teaching activities, and Assessment method ...........................16
Learning outcome: A.1. Introduction to the JEE framework. (Reference Book: Notes will be provided) ....................... 16
Learning outcome: B.1. Implementation of Enterprise Java Beans (EJBs) in a distributed environment. (Reference
Book: Notes will be provided) .......................................................................................................................................... 17
Learning outcome: C.1. Database connectivity through Java Persistence API (JPA). (Reference Book: Notes will be
provided) ......................................................................................................................................................................... 18

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 3


Learning outcome: D.1. Implementation asynchronous methods in session beans. (Reference Book: Notes will be
provided.) ........................................................................................................................................................................ 19
Learning outcome: E.1. Using timer services in web applications. (Reference Book: Notes will be provided.) .............. 20
Learning outcome: F.1. Using Interceptors in web applications. (Reference Book: Notes will be provided.) ................ 21
Learning outcome: G.1. Managing Transactions in web applications. (Reference Book: Notes will be provided.) ........ 22
Learning outcome: H.1. Java Messaging Services (JMS) in web applications. (Reference Book: Notes will be provided.)
......................................................................................................................................................................................... 23
SECTION E – ASSESSMENT .............................................................................................................................. 28
24. Assessment Schedule .................................................................................................................................28
25. Promotional requirements .........................................................................................................................28
26. Class Tests / Web Tests...............................................................................................................................28
27. Assignments................................................................................................................................................28
28. Assessment Administration ........................................................................................................................28
29. Mode of delivery.........................................................................................................................................29
30. Quality assurance .......................................................................................................................................29
31. Industry related learning ............................................................................................................................29
32. Plagiarism....................................................................................................................................................29
33. Glossary ......................................................................................................................................................30
ADDITIONAL DOCUMENTATION ..................................................................................................................... 32
Appendix A..............................................................................................................................................................32
Appendix B ..............................................................................................................................................................33

SECTION A – INTRODUCTION

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 4


1. Welcome

Welcome to Distributed Programming. This module will introduce you to the design and development of Java
applications in distributed systems. Some of the concepts to be learned are as follows:
a. Introduction to Java EE
b. Distributed Multitier Applications
c. Java EE Containers
d. Java EE APIs
e. Java Platform APIs

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.

3. Name of the module

Distributed Programming

4. Module Credits/Weight

15

5. Custodian department of this module

The custodian department of this module is the department of Computer Science.

6. Purpose of the module

This Distributed Programming module is a 15 credit module with core learning modules on NQF 7 which prepares
the student to solve system’s distribution problems emanating in IT industry. The main focus of this module is to
equip the student with the requisite skills to create automated applications that are distributed over distinct
application servers using the JEE framework in the software industry.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 5


This module forms part of the qualification Advanced Diploma in Computer Science and will individually
contribute to achieving the exit level outcome of:
 ELO 2: Design and develop applications in distributed systems.
 EL0 4: Apply problem solving skills and the knowledge of computer science to solve real world problems.

This module is placed in the fourth year as it is core module and will help in the creation of expert programmers
and developers in the field of distributed systems. Once a student completes this module, he/she will have a
solid understanding of distributed systems in a working environment.

The NQF of this module is 7 and on this level it is expected that learner should demonstrate the ability to
understand and apply the advanced 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.

The intent of the module is to ensure that the student is well-rounded and this can only be ensured if the
individuals can interact effectively with their changing environment and act responsive and responsible within a
variety of social and cultural settings. Aligned to the graduate attributes and ELO’s students will be guided
through activities like problem-solving and reflexive practices. In addition, students will acquire the following:

 Knowledge: understand key terms, concepts, facts, principles, rules and theories.
 Skills: select and apply standard methods, procedures and/or techniques.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 6


 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 text book.
 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 period.
 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)

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 7


SECTION B – ORGANISATIONAL COMPONENT

8. Contact information of custodian department of this module

The custodian department of this module is the department of Computer Science.


Name & Surname Campus Office Location Contact number and Role in Programme
E-mail
Dr Lebogang Soshanguve South 20 - G04 012 382-9540 Departmental
Seoketsa SeoketsaLM@tut.ac.za administrator
Me Molly Moche Soshanguve South 20 - 103 012 382-9938 Departmental
MollyMoche@tut.ac.za administrator
Me Thandeka Soshanguve South 20 - 203 012 382-9631 Departmental
Ngwenya NgwenyaTSI@tut.ac.za administrator
Me Angelina E-Malahleni 14-G37 013 653-3165 Administrator
Shonaphi Bhembe BhembeAS@tut.ac.za
Me Maesela Lebelo Polokwane 1-G247 015 287-0757 Administrator
LebeloM@tut.ac.za

9. Contact information of lecturers

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 leaning 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.1. Module coordinator/s

Module Coordinator Vongani Maluleke


Office Location 20 – 202
Office Telephone Number 012 382 9749
Email address MalulekeEV@tut.ac.za
9.2. Site coordinators

Polokwane Site Coordinator Michael Moeti


Office Location 1 - G05
Office Telephone Number 015 287 0733
Email address MoetiMN@tut.ac.za

Emalahleni Site Coordinator Jabulani Makhubela


Office Location 7 – G62
Office Telephone Number 152 382 9620
Email address MakhubelaJK@tut.ac.za

9.3. Facilitators

Lecturer of Group 1 Vongani Maluleke


Office Location 20 – 202
Office Telephone Number 012 382 9749
Email address MalulekeEV@tut.ac.za

10. Library Contact Details

Soshanguve Faculty Librarian Ms Rachel Raisibe Ntsoane


Office Location Ground floor in library
Office Telephone Number 012 799 9509
Email address NtsoaneRR@tut.ac.za

11. Student Support Contact Details

Student Support Services Dr Shafeeka Dockrat


Office Location Pta: Building 5, Room 5-705
Office Telephone Number +27 12 382 4260
Email address DockratS@tut.ac.za

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 9


12. Time table

The time table for class attendance is obtainable from the leaner management system (LMS).
13. Consultation

Consultation time slots will be displayed on each lecturer’s office door. In the case where the time slots are not
displayed 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.

Weekday Date Activity / Specified Outcome to be addressed

Saturday 16 January 2021 A.1 (Introduction to JEE)


B.1 (Enterprise Java Beans)
Friday 22 January 2021 Assignment 1 is issued. Introduction to JEE and Enterprise Java Beans.
Saturday 23 January 2021 C.1 (Database connectivity through Java Persistence API (JPA))
Friday 29 January 2021 Assignment 1 is submitted on EC before 23h00
Assignment 2 is issued. Java Persistence Engine (JPA)
Saturday 30 January 2021 E.1 (Using timer services)
Friday 05 February 2021 Assignment2 is submitted on EC before 23h00
Assignment 3 is issued. Time Services.
Saturday 06 February 2021 Class Test 1 Assignment 1 to 2
F.1 (Using Interceptors in EJB services)
Friday 12 February 2021 Assignment3 is submitted on EC before 23h00
Assignment 4 is issued. Interceptors
Saturday 13 February 2021 D.1 (Asynchronous Method Invocation)
H.1 (Java Messaging Services (JMS))
Friday 19 February 2021 Assignment4 is submitted on EC before 23h00
Saturday 20 February 2021 G.1 (Managing Transactions)
Saturday 27 February 2021 Class Test 2
MARCH : SUPERVISED SUMMARTIVE ASSESSMENT

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 10


SECTION C – PRESCRIBED AND RECOMMENDED RESOURCES

15. Prescribed Textbook

EJB 3 Developer Guide

By Michael Sikora.

Published by Packt Publishing Ltd.

ISBN 978-1-847195-60-9

This book is essential for the successful completion of this course. You are strongly advised to acquire the
resource.

16. Additional Module Resource Information

 Student could be given handouts from other relevant books.

17. Recommended Additional Resources

 Relevant additional resources will be given in class

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 11


18. Recommended Electronic resources (include youtube videos on JEE)

Learning Title of electronic resource URL


outcome, or
assessment
criteria that this
resource relates
to

19. Supplied Resources

None

20. E-Learning platform

This module will make use of EC.TUT.AC.ZA 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.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 12


SECTION D – MODULE DESCRIPTION

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.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 14


22. Module Outline

The general purpose of this module is to provide students with the necessary techniques to design and implement enterprise applications that are automated and
distributed over distinct application servers using the JEE framework. Emphasis will be placed on equipping students to be competent problem solvers that can
design and write programs that will be error free, reliable and easy to modify and maintain. The outline of the module is as follows:

a. Introduction to the JEE environment


b. Implementing Enterprise Java Beans (EJBs) in a distributed environment
c. Database connectivity through Java Persistence API (JPA)
d. Asynchronous method invocation
e. Timer Services
f. Interceptors
g. Transactions Management
h. Java Messaging Services (JMS)
23. Learning outcomes, assessment criteria, teaching activities, and Assessment method

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: A.1. Introduction to the JEE framework. (Reference Book: Notes will be provided)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
A.1.1 - A justification for using the JEE framework is made within the distributed Lecturer controlled: Explain the Formative: Written class and semester
environment. concepts, demonstrate the tests
A.1.2 - An assessment of multitier applications is made in relation to distributed
application of the concepts Summative: Project and end of
environment.
A.1.3 - An assessment of JEE containers is made in relation to distributed using problem based or case semester examination
environment. studies.
A.1.4 - An assessment of the JEE APIs supported by web containers is made in Peer controlled: Reinforce the
relation to distributed environment.
concepts in practical and
A.1.5 - An assessment of the JEE APIs supported by EJB containers is made in
relation to distributed environment. tutorial sessions.
A.1.6 - An assessment of the JEE APIs supported by Application Client containers is Student controlled:
made in relation to distributed environment. demonstrate the understanding
by tests, assignments,
presentations

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 16


Learning outcome: B.1. Implementation of Enterprise Java Beans (EJBs) in a distributed environment. (Reference Book: Notes will be provided)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
B.1.1 - A justification for using EJBs is made within the distributed environment. Lecturer controlled: Explain the Formative: written class and semester
B.1.2 - A comparison between Session and Message-Driven Beans is made in a distributed concepts, demonstrate the tests.
environment.
application of the concepts Summative: Project and end of
B.1.3 - The @Stateless annotation is used to create a stateless EJB class.
B.1.4 - The @Stateful annotation is used to create a stateful EJB class. using problem based or case semester examination
B.1.5 - The @EJB annotation is used to get the reference of an EJB class . studies
B.1.6 - The JNDI is used to get the reference of an EJB class. Peer controlled:
B.1.7 - A web application that implements stateless session beans is created in a
Reinforce the concepts in
distributed environment.
B.1.8 - A web application that implements stateful session beans is created in a distributed practical and tutorial sessions
environment. Student controlled:
B.1.9 - A web application that implements message-driven beans is created in a
demonstrate the understanding
distributed environment.
by tests, assignments,
presentations.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 17


Learning outcome: C.1. Database connectivity through Java Persistence API (JPA). (Reference Book: Notes will be provided)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
C.1.1 - A justification for using JPA is made with the distributed environment. Lecturer controlled: Explain Formative: written class and semester
C.1.2 - A comparison between entities and objects is made in relation to database the concepts, demonstrate the tests.
connectivity.
application of the concepts using Summative: Project and end of
C.1.3 - An assessment of entity managers is made in relation to database connectivity.
problem based or case studies. semester examination
C.1.4 - The role of persistence unit is assessed within database connectivity.
C.1.5 - The @Entity annotation is used to map an entity to a table in a database. Peer controlled:
C.1.6 - The attributes of the @Entity annotation are used to customize an entity in a Reinforce the concepts in
database. practical and tutorial sessions.
C.1.7 - The @Id annotation is used to create a primary key in a database.
Student controlled:
C.1.8 - The @GeneratedValue annotation is used to create a customized primary key in a
database. demonstrate the understanding
C.1.9 - The @Column annotation is used to change the default settings of a table’s by tests, assignments,
column in a database.
presentations.
C.1.10 - The @SecondaryTable annotation is used to map an entity to multiple tables in a
database.
C.1.11 - A justification for using composite primary keys is made in a database.
C.1.12 - The @Temporal annotation is used to create timestamps in the database.
C.1.13 - The @Transient annotation is used to prevent an instance field from being
mapped to a column in the database.
C.1.14 - The @OneToOne annotation is used to create a one-to-one relation between
tables in a database.
C.1.15 - The @OneToMany annotation is used to create a one-to-many relation between
tables in a database
C.1.16 - The @ManyToOne annotation is used to create a many-to-one relation between
tables in a database

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 18


C.1.17 - The @ManyToMany annotation is used to create a many-to-many relation
between tables in a database.
C.1.18 - The @OrderBy annotation is used to create a sequence of appearance records in a
database.
C.1.19 - The single-table-per-class hierarchy strategy is used to create inheritance mapping
in JPA.
C.1.20 - The joined-subclass strategy is used to create inheritance mapping in JPA
C.1.21 - The table-per-concrete-class strategy is used to create inheritance mapping in JPA

Learning outcome: D.1. Implementation asynchronous methods in session beans. (Reference Book: Notes will be provided.)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
D.1.1 - A justification for using asynchronous methods in made within the Lecturer controlled: Explain the Formative: written class and semester
distributed environment. concepts, demonstrate the tests
D.1.2 - The @Asynchronous annotation is used to create an asynchronous method in a application of the concepts using Summative: Project and end of
distributed environment.
problem based or case studies. semester examination
D.1.3 - The Future<V> interface is used to retrieve the results of an asynchronous method
invocation in a distributed environment. Peer controlled: Reinforce the
D.1.4 - The Future<V> interface is used to cancel the invocation of an asynchronous concepts in practical and
method in a distributed environment. tutorial sessions.
D.1.5 - The Future<V> interface is used to determine the status of an asynchronous
Student controlled:
method invocation in a distributed environment.
D.1.6 - A web application that implements asynchronous method invocation is created in a demonstrate the
distributed environment. understanding by tests,
assignments, presentations.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 19


Learning outcome: E.1. Using timer services in web applications. (Reference Book: Notes will be provided.)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
E.1.1 - A justification for using timer services is made within the distributed environment . Lecturer controlled: Explain the Formative: written class and semester
E.1.2 - A comparison between programmatic and automatic timers is made in relation to concepts, demonstrate the tests
distributed environment.
application of the concepts using Summative: Project and end of
E.1.3 - A justification for using Calendar-based timer attributes is made in relation to
problem based or case studies. semester examination
distributed environment.
E.1.4 - A determination on how a timer session can be cancelled is made in relation to Peer controlled: Reinforce the
distributed systems. concepts in practical and
E.1.5 - A determination on how a timer can be saved is made in relation to distributed tutorial sessions.
systems.
Student controlled:
E.1.6 - A determination on how timer information can be obtained is made in relation to
distributed systems. demonstrate the understanding
E.1.7 - A web application that implements a programmatic timer is created in relation to by tests, assignments,
distributed systems.
presentations.
E.1.8 - A web application that implements an automatic timer is created in relation to
distributed systems.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 20


Learning outcome: F.1. Using Interceptors in web applications. (Reference Book: Notes will be provided.)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
F.1.1 - A justification for using interceptors is made within the distributed environment Lecturer controlled: Explain the Formative: written class and semester
F.1.2 - A comparison of the different types of interceptors is provided concepts, demonstrate the tests
F.1.3 - An interceptor session bean is create and applied across web application session
application of the concepts using Summative: Project and end of
beans to intercept their logging functionality
problem based or case studies. semester examination
F.1.4 - A chained interceptors are created and used to intercepts web application
session beans Peer controlled: Reinforce the
F.1.5 - Web application that excludes certain interceptors from a chain is created concepts in practical and
within the distributed environment.
tutorial sessions.
Student controlled:
demonstrate the understanding
by tests, assignments,
presentations.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 21


Learning outcome: G.1. Managing Transactions in web applications. (Reference Book: Notes will be provided.)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
G.1.1 - A justification for using transactions is made within the distributed environment Lecturer controlled: Explain the Formative: written class and semester
G.1.2 - An assessment of the Java Transaction API (JTA) is made in relation to concepts, demonstrate the tests
distributed systems
application of the concepts using Summative: Project and end of
G.1.3 - An assessment of container-managed transaction is made within the
problem based or case studies. semester examination
distributed environment
G.1.4 - A comparison between container-managed and bean-managed transactions Peer controlled: Reinforce the
is made in relation to distributed systems concepts in practical and
G.1.5 - A web application that uses container-managed transactions is created in a tutorial sessions.
distributed systems
Student controlled:
demonstrate the understanding
by tests, assignments,
presentations.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 22


Learning outcome: H.1. Java Messaging Services (JMS) in web applications. (Reference Book: Notes will be provided.)

Assessment Criteria (noun + verb + measurable standard) Teaching activities Assessment method
H.1.1 - A justification for using messaging is made within the distributed Lecturer controlled: Explain the Formative: written class and semester
environment concepts, demonstrate the tests
H.1.2 - An assessment of the JMS API is made within the distributed environment application of the concepts using Summative: Project and end of
H.1.3 - A comparison between point-to-point and publish/subscribe messaging is
problem based or case studies. semester examination
made within the distributed system
H.1.4 - A comparison between Synchronous and Asynchronous message Peer controlled: Reinforce the
consumption is made within the distributed system concepts in practical and
H.1.5 - Web application that uses point-to-point messaging is created within the tutorial sessions.
distributed environment
Student controlled:
H.1.6 - A Web application that implements publish/subscribe messaging is created
within the distributed environment. demonstrate the understanding
by tests, assignments,
presentations.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 23


As presented in the tables above, each learning outcome will be assessed with an assessment method. Below is a table that describes what these assessment
methods entail.

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

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 24


in that each question may have more than one correct response and each
response may be used more than once.
Multiple choice Multiple choice questions consist of an incomplete statement or a question,  Recall of information  Formative
questions followed by plausible alternative responses from which the learner has to select  Check understanding;  Summative
the correct one. analyses  RPL
Outcomes involving higher order analytical skills are probably more validly
assessed by means of free-response assessment instruments such as extended
response questions, but multiple-choice questions can be useful if carefully
constructed.
Oral questions / The form and content of the response is limited by the way in which the  Allows for self-expression  Formative
restricted question is asked. These questions do not have pre-determined correct answers when questions are oral  Summative (small
response (as in short answer questions, etc.) and the assessor has to exercise his/her Supports observation of tasks groups only)
questions professional judgment when interpreting learner’s responses. where underpinning  RPL
knowledge and
 understanding are tested
Personal A personal interview is probably the oldest and best-known means of eliciting  A range of applications using  Formative
interviews information directly from learners. It combines two assessment methods, different forms of questions,  Summative (small
namely observation and questioning. An interview is a dialogue between the particularly groups only)
assessor and the learner, creating opportunities for learner questions.  Open-ended questions  RPL
 Guidance and support to the
learner
Questionnaires A questionnaire is a structured written interview consisting of a set of questions  Assessment of outcomes  Formative
relating to particular areas of performance. Unlike a personal interview, it is particularly concerned with  Summative
administered and judged under standard conditions. attitudes, feelings, interests  RPL
and experiences
Structured A structured question consists of a stem (which describes a situation), followed  Recall of information  Formative
questions by a series of related questions. The stem can be text, a diagram, a picture, a  Application of knowledge and  Summative
video, etc. understanding  RPL
 Analyses, Debates, Arguments
Assignments A problem-solving exercise with clear guidelines and a specified length. More  Problem-solving around a  Formative
structured and less open-ended than projects, but they do not necessarily particular topic  Summative
involve strict adherence to a prescribed procedure, and they are not concerned  RPL
exclusively with manual skills.
Case studies A description of an event concerning a real-life or simulated situation, usually in  Analyses of situations  Formative
the form of a paragraph or text, a video, a picture or a role-play exercise. This is  Drawing conclusions  Summative
© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 25
followed by a series of instructions to elicit responses from learners. Individuals  Reports on possible courses  RPL
or small groups may undertake case studies. of action
Logbooks A useful means of assessing learner’s progress and achievements. It should  In a workplace – monitor and  Formative
have clear instructions for use and give guidance on how essential information check activities; record  Summative
is to be recorded. processes; record of  RPL
achievements  (Learner has to be
in workplace)
Practical An activity that allows learners to demonstrate manual and/or behavioural  Demonstration of skill  Formative
exercises / skills. The assessment may be based on the end-result of the activity (the  Summative
demonstrations product), or the carrying-out of the activity (the process), or a combination of  RPL (Not always
both practical – logistics)
Portfolios A collection of different types of evidence relating to the work being assessed.  Recognition of prior learning  Summative
It can include a variety of work samples. Portfolios are suitable for long-term and experience  RPL
activities.  Assessment of long-term  (Not recommended
It is important that the evidence in the portfolio meet the requirements of activities related to each for formative)
sufficiency and currency. The learner and assessor usually plan the portfolio other
jointly as sources of evidence may vary. The learner is then responsible for the  Assessment where direct
collection of evidence and the compilation of the portfolio. observation may be difficult
Projects A project is any exercise or investigation in which the time constraints are more  Comprehensive range of skills  Summative
relaxed. Projects are: can be assessed  RPL
• Practical  Integration of activities within  (Not recommended
• Comprehensive and open-ended and across unit standards or for formative)
• Tackled without close supervision, but with assessor guidance and support different parts of a
Projects can involve individuals or a group of learners. The choice of the project qualification
is directed by the assessor, usually by providing the learner with a topic or brief
for the investigation
Role-plays Learners are presented with a situation, often a problem or an incident, to  Assessment of a wide range of  Formative
which they have to respond by assuming a particular role. The enactment may behavioural and interpersonal  Summative
be unrehearsed, or the learner may be briefed in the particular role to be skills  RPL
played. Such assessments are open-ended and are person centred.
Reflective A reflective journal gives learners the opportunity to critically reflect on their  It gives the assessor a unique  Formative
journal own learning, to express their thoughts and experiences and to present this in opportunity to follow the
an acceptable way. Even though it is a form of self-assessment, it can be thought-processes of a
submitted for assessment. learner and to monitor the

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 26


way a learner thinks and
grows
 Critical evaluation of
progress by the learner
Self-assessment A checklist, questionnaire completed by a learner, notes jotted down, or other  Critical evaluation of  Formative
forms of structured self-assessment undertaken after an action, demonstration, progress by learner
oral examination, etc.
Peer assessment Assessment by the learner’s peers, usually in the form of a checklist.  Assessment of paired or  Mainly formative
group activities  Summative if team-
 Assessment of teamwork , group work part of
outcomes

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 27


SECTION E – ASSESSMENT

24. Assessment Schedule

The learner will write four assignments and 2 class tests. These assessments will collectively contribute 60%
towards the final mark. A supervised summative test will be written at the end of the semester. The summative
assessment will contribute 40% towards the final mark. The full assessment schedule is shown under in section 14
(Schedule)

25. Promotional requirements

This is a practical module. In order to pass this module, you need a minimum of 50% for the final mark and your
summative assessment mark must be above 40%. A student must achieve a final mark of 50% or above to pass
the module

26. Class Tests / Web Tests

There are two class tests scheduled for this module.

27. Assignments

There are four assignments schedule for this module. Students will be expected to submit their work on certain
due dates. Failure to stick to deadlines will results in students’ work not being marked. So keeping to deadlines is
very important in this module.

28. Assessment Administration

Test administration:

1. Students will write the test.


2. The Lecturer/s will mark the test.
3. The Lecture will hand back the marked scripts to each student and discuss common problems
encountered. At the end of this session the marked scripts need to submitted back to the lecturer.
4. If there are any queries regarding the test, these queries must be submitted to the lecturer within 5 days
after the marked scripts were discussed. NO marks changes will be made after 5 days.
29. Mode of delivery

The mode of delivery for this module is online. This module will be presented on Saturdays in 3 hours session.

30. Quality assurance

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.

31. Industry related learning

Where possible guest speakers will come and address the class on advanced programming issues.

32. Plagiarism

The following is an extract from TUT’s plagiarism policy. Reference: RIPPOL067.

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;

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 29


Each student should accurately indicate the download/access date and the uniform resource locator (URL) of the
internet web page when information is used from a website, web page or other electronic source;

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.

33. Glossary

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.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 30


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.

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 31


ADDITIONAL DOCUMENTATION

Appendix A

(paste your additional notes here)

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 32


Appendix B

(paste your additional notes here)

© Tshwane University of Technology | Advanced Diploma in Computer Science | Distributed Programming 33

You might also like