SEF216D - Software Engineering Fundamentals Study Guide 2024 Sem 2
SEF216D - Software Engineering Fundamentals Study Guide 2024 Sem 2
STUDY GUIDE
NQF NQF MODULE NAME MODULE YEAR SEMESTER
LEVEL CREDITS CODE
Software Engineering
5 15 SEF216D 2021 2
Fundamentals
QUALIFICATIONS SAQA ID:
Compiled by Dr RT Hans
Revised by F.M. Tshitake on Aug 2024
©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.
SECTION A – INTRODUCTION
1. Welcome
Welcome to Software Engineering Fundamentals module. The purpose of the module is to prepare individuals to
apply programming and software engineering principles to provide solutions to a range of problems emanating in
the ICT industry. The main focus of this module is to teach students principles of software engineering with regard
to systems analysis, design of software solutions within the context of industry –based problems. Upon
completion of this module a student will be able to develop fault-free software which satisfies user requirements,
delivered on time and within budget.
The very first thing that you need to acquaint yourselves with is the term Software Engineering (SE). Software
Engineering is “the application of a systematic, disciplined, quantifiable approach to the development, operation,
and maintenance of software” [1]. Software engineering is a discipline aimed at ensuring that the resultant
software products are designed and developed fault-free, within budget, on schedule and meet stated user
requirements. The numerous reports on failed software or failed software projects suggest that there is
something that we have not mastered in software engineering, which has fifteen (15) knowledge areas (See
reference [1] for details on this).
This module prepares students for the problem-solving nature of programming and other modules in Computer
Science. The main focus of this module is to introduce students to the fundamentals of software engineering,
including the software process – the way software is produced. The module starts by covering important
software engineering concepts as well as the importance of software engineering in the software development
process. Software process will be covered and this includes covering software process models and their
application in designing software solutions. The module further covers software requirements engineering,
System analysis and design using the object oriented approach, Software architecture and architectural design as
well as software testing. The presentation of these topics in this module is independent of programming
languages.
The theoretical knowledge obtained from this module is expected to develop students to solve real world
computer related challenges by applying logic from a mathematical perspective relating to computer applications.
The module will require students to work individually thereby contributing towards independent working
attribute that is sometimes required in the field of work.
4. Module Credits/Weight
Fifteen (15).
5. Custodian department of this module
The purpose of the module is to introduce undergraduate students to the basic principles of computational
mathematics. The module will prepare students for programming and other modules in the field of Computing.
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.
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.
The timetable for class attendance is obtainable from the learner 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.
The following table shows what topics are covered in this module.
Learning unit
Unit 1: Introduction to Software Engineering
Unit 8: Implementation
15. 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 and check for changes or latest updates.
We are in the process of having Cengage to “compile” an electronic textbook, more details will be provided ASAP.
RECOMMENDED BOOKS: Note that we currently do not use a particular textbook for this module.
Different books are used and supporting notes and other resources will be provided to support every
learning unit.
None.
This module will make use of Mytutor and Electronic Campus (EC) 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 these platforms. Electronic resources will also be distributed via these platforms.
22. Alignment of this module with the relevant exit level outcomes / NQF 7
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.
Learning Outcomes:
1. Demonstrate knowledge on the history of Software Engineering by providing key milestones for each decade of the SE timeline.
2. Define the concept of software engineering.
3. Explain the importance of software engineering as a discipline/profession.
4. Explain the key challenges facing software engineering.
5. Describe the professional and ethical responsibilities/obligations of a software engineer in line with a software engineering code of ethics and professional
conduct.
6. Analyse practical cases to determine ethical and professional issues according to software engineering code of professional conduct and ethics.
Learning Outcomes:
Summative:
Paper-based;
Computer-based assignments / Web
tests.
Formats: Class tests, semester tests,
examination.
Learning Outcomes:
1. Explain project planning, scheduling, monitoring, and reporting
2. Explain the relationship among project cost, scope, and time
3. Create a work breakdown structure, identify task patterns, and identify and calculate a critical path
4. Explain techniques for estimating task completion times and costs
5. Describe various scheduling tools, including Gantt charts and PERT/CPM charts
6. Draw a PERT/CPM
Assessment Criteria Teaching Strategy Assessment method
15
Computer Science
The outcome will be reached when: Formative:
Applying critical thinking to complete problem-
1. Project planning, scheduling, monitoring, and solving exercises Homework, worksheets and quizzes in class;
reporting are explained. Informal small group discussions Group discussions in class and through a
2. The relationship among project cost, scope, and Completing tasks in teams learning management system;
time are explained. Modelling demonstrations Lecturer-facilitated tutorial classes where
3. A work breakdown structure is created, task Solving real-life problems students work through supplied activities at
patterns are identified, and a critical path is Think-alouds - demonstrating the thought process their own pace.
identified and calculated. used in problem solving Suitable activities will be developed in line
4. Techniques for estimating task completion times Visualisation – have students draw a scene of the with learning outcomes and assessment
and costs are explained. scenario in the problem criteria and will be included in the.
5. Various scheduling tools, including Gantt charts Summative:
and PERT/CPM charts are described. Paper-based;
6. A PERT/CPM is drawn. Computer-based assignments / Web
tests.
Formats: Class tests, semester tests,
examination.
Learning Outcomes:
1. Use a functional decomposition diagram (FDD) to model business functions and processes.
2. Describe UML, use case diagram, class diagram and sequence diagram.
3. Interpret the context appropriately in order to create UML diagrams, including use case diagrams, class diagrams and sequence diagrams.
16
Computer Science
scenario in the problem will be included in the.
Summative:
Paper-based;
Computer-based assignments / Web tests.
Formats: Class tests, semester tests,
examination.
Learning Unit 5: Software Requirements Gathering
Learning Outcomes:
1. Identify different types of software requirements.
2. Identify and specify characteristics of good or bad software requirements.
3. Outline requirements/data gathering techniques, such as interviews, surveys, or observation.
4. Name software requirements validation techniques.
Learning Outcomes:
17
Computer Science
1. Describe the analysis activities.
2. Interpret fundamental software requirements and analysis terms, such as actors, constraints, and use cases;
3. Apply each of the main activities of software requirements analysis, such as gathering, specification, and verification;
4. Apply techniques for identifying and modelling use cases (use case diagrams, interaction diagrams, and activity diagrams) to assist stakeholders to better
understand system requirements.
Learning Outcomes:
1. Explain the software design principles used to create well-designed software that is easy to understand, test, modify, and develop;
2. Apply the main activities of software design, such as creating class diagrams and sequence diagrams;
3. Use design class diagrams to determine the way data is represented as well as the processes are executed in object-oriented methodologies.
18
Computer Science
The outcome will be reached when: Formative:
Applying critical thinking to complete problem-
1. The software design principles used to create solving exercises Homework, worksheets and quizzes in class;
well-designed software that is easy to Informal small group discussions Group discussions in class and through a learning
understand, test, modify, and develop are Completing tasks in teams management system;
explained; Modelling demonstrations Lecturer-facilitated tutorial classes where
2. The main activities of software design, such Solving real-life problems students work through supplied activities at their
as creating class diagrams and sequence Think-alouds - demonstrating the thought process own pace.
diagrams are applied; used in problem solving Suitable activities will be developed in line with
3. Design class diagrams are used to determine Visualisation – have students draw a scene of the learning outcomes and assessment criteria and
the way data is represented as well as the scenario in the problem will be included in the notes.
way processes are executed in object- Summative:
oriented methodologies. Paper-based as well as computer-based
(practical);
Computer-based assignments / Web tests.
Formats: Class tests, semester tests,
examination.
Learning Outcomes:
1. Describe implementation and deployment activities
2. Differentiate between types of programming languages, including system languages, domain-specific languages, and scripting languages;
3. Explain the benefit(s) of version control systems.
Learning Outcomes:
1. Describe basic software testing terms, such as test case, traceability matrix, and acceptance criteria;
2. Compare and contrast the use of various testing strategies, including black-box, white-box, top-down, and bottom-up;
3. Identify different types of tests, including functional, non-functional performance, and user tests;
4. Design a test plan that includes unit, integration, and system levels of test coverage.
20
Computer Science
SECTION E – Outline of learning units
To complete this unit the student is expected to search for relevant literature on the definition of
software engineering concept, the challenges of software engineering as a discipline and professional
practice. The learner should appraise the identified literature to follow on the history of software
engineering and its raison d'être, the meaning of the concept of software engineering, the ethical and
professional responsibilities/obligations of a software engineer.
It is important to keep a portfolio of the material that you have read on this subject (copies of
downloaded files) in a folder/USB.
It is VERY important that you complete the self-assessment activities/questions to reinforce your
learning.
22
Computer Science
Activity 2 : Definition of software engineering
2.1 Read on the definitions of software engineering from various sources.
23
Computer Science
Activity 3 : Challenges of software engineering
3.1 Download and read the article: No Silver Bullet – Essence and Accident in Software Engineering by
Fred Brooks.
3.2 Download and read: https://www.ece.rutgers.edu/~marsic/books/SE/book-SE_marsic.pdf,
Section 1.1.1.
3.3 The Standish Group study of 2009
3.4 Software engineering books and the internet can provide a lot of information on this activity.
3.5 Self-assessment/Questions:
3.5.1 Describe characteristics of software as identified by Brooks.
3.5.2 Why is software engineering so difficult?
3.5.3 List and describe factors that makes it difficult.
24
Computer Science
Activity 4: Ethical and professional issues in the software engineering
practice
4.3 Self-assessment/Questions:
4.3.1 What are the factors which according to SWEBOK characterise the software engineering as
a profession?
4.3.2 What are the professional and ethical obligations/responsibilities of a software engineer?
25
Computer Science
26. Learning unit 2: Software Development Life Cycle (SDLC) Models
The development of any sizeable software product goes through a series of phases from project
initiation (conceptualisation) to maintenance. This process is called the software development life cycle
(SDLC). There are several reasons for using a SDLC approach in software development, and these
include:
1. Helping to understand the development process
2. Enabling a structured approach to development process
3. Assisting in the planning of resources in advance
4. Assist in better control of the development process as well as the resources used
5. Provides assistance in tracking the progress of the development activities
Furthermore, software development is carried out following one or more SDLC models. This unit is
aimed introducing students to some of the various prominent models of software development life cycle
(SDLC). Once the SDLC models have been studied, a student is expected to read a number of resources
in order to help reinforce and reflect on the discussion on the models. This module covers the following
SDLC models: Waterfall model, Iterative model, Spiral model and Agile model. A student should not
only be able to know advantages and disadvantages of the mentioned SDLC models, but should also be
able to select appropriate model(s) based on the characteristics and needs of the project under
consideration.
It is important to keep a portfolio of the material that you have read on this subject (copies of
downloaded files) in a folder/USB. It is VERY important that you complete the self-assessment
activities/questions to actively participate in and reinforce your learning.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
b. Self-assessment activities/questions
i. Describe software development life cycle/process.
ii. Briefly explain each phase of the software development life cycle.
iii. Which phase do you think requires more resources? Substantiate your answer.
iv. In your own opinion (which should be informed by facts), how does the SDLC assist in
following a structured approach in developing software?
27
Computer Science
Activity 2 : Software Development Life Cycle Models
2.1 Study the abovementioned software development life cycle models.
Find any software engineering resource (for some material see Table 1), which discusses the
abovementioned software development life models, and then study each of the models. Your
studying of the models should include its features, advantages, disadvantages, how each model
compares to other models and what kind of software development projects is it suitable for.
28
Computer Science
27. Learning unit 3: Software Project Management
As you study the concepts of this unit, connect this unit with what you have already covered in the
previous unit about software development life cycle. You will realise that the success of an SDLC
depends on people, process, and product. The management of a project is the glue that holds these
aspects together.
It is important to keep a portfolio of the material that you have read on this subject (copies of
downloaded files) in a folder/USB. It is VERY important that you complete the self-assessment
activities/questions to actively participate in and reinforce your learning.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
Many believe that good system design is fundamental to creating good software. Systems analysts use
various graphical techniques to describe a system at different stages of its development life cycle. The
first step in software creation is proper gathering of requirements. Systems analysts may use functional
decomposition diagrams (FDDs), business process models, use case diagrams, data flow diagrams (DFDs)
and Unified Modeling Language (UML) to help them better understand system requirements. Any of
these diagrams can be created using computer-aided software engineering (CASE) tools or stand-alone
drawing tools. Models are meant to assist the project stakeholders, such as, clients, users, project
managers and software practitioners understand the design of a system. The UML enables software
engineers to articulate complex ideas about the system concisely and precisely. Designing software
requires the use of certain industry-standard design tools, and mastery of them is essential to becoming
a capable software engineer.
This unit will introduce you to UML, a standardized general-purpose modeling language for creating
visual models of object-oriented software. This unit aims to give you an understanding of UML including
use case diagrams, sequence diagrams and class diagrams.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
2 Describe UML, use case diagram, class diagram (a) Systems Analysis and Design 11th Edition by Tilley and
and sequence diagram. Rosenblatt.
3 Interpret the context appropriately in order to (b) Systems Analysis and Design 11th Edition by Tilley and
create use case diagram and UML diagrams, Rosenblatt.
including class diagrams and component
diagrams.
30
Computer Science
29. Learning unit 5: Software Requirements Gathering
Requirements gathering requires the software engineer (in this case, a business analyst) to interact with
the stakeholders, including clients and users, to gather/collect information about what the software
system being developed needs to do. There is also the situation where vendors are subcontracted to
develop all, or some components, of the software systems and/or develop the hardware that the
software will run on. In this unit, you will learn the data/information types, data collection techniques,
and data collection types.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
2 Identify and specify characteristics of good or (a) Systems Analysis and Design 11th Edition by Tilley and
bad software requirements. Rosenblatt.
(b) https://learn.saylor.org/mod/page/view.php?id=33036
3 Outline requirements/data gathering (a) Systems Analysis and Design 11th Edition by Tilley and
techniques, such as interviews, surveys, or Rosenblatt.
observation.
31
Computer Science
30. Learning unit 6: Software Requirements Analysis
Software requirements analysis, also known as requirements engineering analysis, is about determining
the requirements of a new or altered system, taking into account of the possibly conflicting
requirements of the various stakeholders, such as users. Requirements must be measurable, testable,
related to identified business needs and be defined in detail to acceptable level to enable proper system
design. This unit explains the requirements analysis terms and main features of requirements.
Requirements analysis is critical to the success of a project.
Deliverable-Oriented Work Breakdown Structure: A Software Project Scope Verification Tool, RT Hans
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
2 Apply each of the main activities of software (a) Systems Analysis and Design 11th Edition by Tilley and
requirements analysis, such as gathering, Rosenblatt.
specification, and verification (b) https://learn.saylor.org/mod/page/view.php?id=33036
3 Apply use case diagrams, to assist stakeholders (a) Systems Analysis and Design 11th Edition by Tilley and
to better understand system requirements. Rosenblatt.
(b)
33
Computer Science
31. Learning unit 7: Software Design
Following requirements and analysis of a system, a systems analyst converts the analysis models into
system design models, which can be implemented. The aim of this unit is to introduce students to
principles of design and show how class diagrams and sequence diagrams may be used during the
software design process phase. Just as there are various methodologies for requirements analysis, there
are three methodologies of the design model (data-oriented, process-oriented, and object-oriented).
The focus here is the object-oriented methodology and how it applies to software design.
1. Explain the software design principles used to create well-designed software that is easy
to understand, test, modify, and develop;
2. Apply the main activities of software design, such as creating class diagrams and
sequence diagrams;
3. Use design class diagrams to determine the way data is represented as well as the
processes are executed in object-oriented methodologies.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
3 Use design class diagrams to determine (a) Systems Analysis and Design 7th Edition by Satzinger, Jackson and
the way data is represented as well as Burd.
the processes are executed in object- (b) https://learn.saylor.org/course/view.php?id=73§ionid=18254
oriented methodologies.
34
Computer Science
32. Learning unit 8: Software Implementation
Implementation, also known as programming or coding, is the process of using a programming language
to convert specified requirements into a programming language source code and later compiled into
executable code. Implementation activities broadly include coding the solution, testing the code,
integrating different codes and then testing the integrated parts (the complete solution). Software
developers may also choose to automate coding process by using software tools to convert design
requirements into code.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
2 Differentiate between types of (a) Systems Analysis and Design 7th Edition by Satzinger, Jackson and
programming languages, including Burd.
system languages, domain-specific (d) https://learn.saylor.org/course/view.php?id=73§ionid=18258
languages, and scripting languages
3 Explain the benefit(s) of version control (a) Systems Analysis and Design 7th Edition by Satzinger, Jackson and
systems. Burd.
(b) https://learn.saylor.org/course/view.php?id=73§ionid=18258
35
Computer Science
33. Learning unit 9: Software Testing
Even though software testing is indicated as the last process the process in the software life cycle, it
should not be regarded as actually as the last thing that is carried in a software project but rather as an
ongoing activity once the coding process has commenced. In testing, we look to validate that software
requirements analysis, software design, and software implementation mesh together correctly to deliver
a software system that performs as expected, error-free, functionally and non-functionally.
As you study the software testing concepts in this unit, note the three levels of a test plan: unit,
integration, and system. Each of these levels of test plan assures the quality of the overall software from
varying levels of granularity. In your own practice as a software engineer, be sure to incorporate these
levels of testing as this is the last stop before the software goes out the door representing your
professional work and code of ethics.
The following table will assist you to find relevant resources to the abovementioned learning
outcomes (LOs):
36
Computer Science
integration, and system levels of test
coverage
SECTION F – ASSESSMENT
1 Assessment Schedule
The learner will write two web tests, two supervised semester tests and a group assignment. These assessments
weights will collectively contribute to the students predicate mark of which the student must obtain at least 40%
in order to write exam.
2 Promotional requirements
A student must achieve a final mark of at least 50% to pass the module.
Assignments must be completed and handed in on the due date as is specified on the schedule of this study
guide. NO LATE ASSIGNMENT WILL BE ACCEPTED. Assignment must be submitted via Bright space.
There is only one group assignment that students are expected to submit this semester. The details will be
communicated to students and groups (with members between 4 and 8) will be formed by the criteria decided by
your lecturer at your campus.
1. All assignments must be the author’s original work. No plagiarism will be tolerated.
2. Relevant cover page (as provided in this Document)
3. Typed in Calibri 11
4. 1.5 spacing, printed on one side of the page only
5. Top and Bottom margins 2.54cm (Standard margins)
6. Left and right margins 3.17cm (Standard margins)
7. A copy of all resources should be attached at the end of the bibliography
8. Full bibliography must be supplied; failure to do so will automatically fail you in the assignment. Please
follow the Harvard method of referencing. If you don’t know this method, ask the lecturer.
9. Unless otherwise stated stapled in the top left-hand corner.
10. Each assignment must be kept separate DO NOT bind multiple assignments together if it is to be
submitted on the same day.
4 Assessment Administration
Test administration:
Assignments administration:
38
Computer Science
2. The student must then submit the assignment as is stated in the assignment question.
3. The lecturer will mark the assignment or web test.
4. If there are any queries regarding the assessment, these queries must be submitted to the lecturer within
5 days after the marks were published. NO marks changes will be made after 5 days.
5 Mode of delivery
The mode of delivery for this module is contact. This module will be presented in 4 periods per week during the
day.
6 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 internal moderator a with
qualifications higher than the year the module is being presented in.
The quality of the marking is overseen by the internal 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 software engineering issues.
8 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;
39
Computer Science
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;
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.
9 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.
40
Computer Science
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.
41
Computer Science
ADDITIONAL DOCUMENTATION
Appendix A
RE: The Phasing out of the old National Diploma in Information Technology
qualifications
According to the Department of Higher Education and Training, all NATED 151 qualifications
(that is the current National Diploma and Baccalaureus Techologiae qualifications) are to be
phased out by December 2019 and there will be no admission granted for such in 2020.
This old Nated programme is to be replaced with the new Higher Education Qualification
Sub-Framework aligned qualifications.
Therefore, the current National Diploma in IT: Software Development (NDIS12/NDISF1), will
be replaced with the Diploma in Computer Science. The National Diploma in IT: Multimedia
(NDIU12/NDIUF1) will be replaced with the Diploma in Multimedia Computing. The
department of Computer Science is consequently informing you, that students who are
already enrolled on the Nated National Diploma in IT: Software Development
(NDIS12/NDISF1), and National Diploma in IT: Multimedia (NDIU12/NDIUF1 will have up to
2023 to complete these qualifications as there will be no more admission or re-admission
to these qualifications.
In the table below a detailed explanation to the phasing out plan per subjects are provided.
The latter will give you a clear indication of how the phase out plan of the National Diploma
will unfold. Please it is also important that you observe these deadlines as some subjects
will not be repeated after a given period of time. Failure to do so will leave you with one
option of enrolling for the new qualification.
If you require more information with regards to this matter, please feel free to contact the
Department of Computer Science.
42
Computer Science
43
Computer Science
2020-S1 2020-S2 2021-S1 2021-S2 2022-S1 2022-S2 2023-S1 2023-S2 2024-S1
CFS10AT*
(new CFS10AT* CFS10AT* No longer No longer No longer No longer No longer No longer
students) (repeaters) (repeaters) offered offered offered offered offered offered
1st Semester
CGS10AT*
First year
CGS10BT*
First Year
ISY23BT
Second Year
MMX30AT
(new MMX30AT MMX30AT No longer No longer
students) (repeaters) (repeaters) offered offered
MMZ30AT
(new MMZ30AT MMZ30AT No longer No longer
students) (repeaters) (repeaters) offered offered
MMZ30BT MMZ30BT MMZ30BT No longer No longer
45
Computer Science
(new
students) (repeaters) (repeaters) offered offered
IDC30AT*
(new IDC30AT* IDC30AT* No longer No longer
students) (repeaters) (repeaters) offered offered
DSO34AT
(new No longer DSO34AT No longer No longer
students) offered (repeaters) offered offered
DSO34BT
(new DSO34BT DSO34BT No longer No longer
students) (repeaters) (repeaters) offered offered
ISY34AT
(new ISY34AT ISY34AT No longer No longer
students) (repeaters) (repeaters) offered offered
ISY34BT
(new ISY34BT ISY34BT No longer No longer
students) (repeaters) (repeaters) offered offered
2nd Semester
IDC30B*
(new IDC30B* IDC30B* No longer
students) (repeaters) (repeaters) offered
46
Computer Science
Tel. 0861 102 422, Tel. (012) 382-5911, Fax (012) 382-5114, www.tut.ac.za • The Registrar, Private Bag X680, Pretoria 0001
References