Study Guide Draft 02.08
Study Guide Draft 02.08
© Copyright reserved
TABLE OF CONTENTS
1. WELCOME ................................................................................................................................... 3
2. EDUCATIONAL APPROACH................................................................................................... 3
2
ORGANISATIONAL COMPONENT
This guide serves as Part 2 of the study guide for this module and provides content that is specific to
the learning content of the module. Part 1 of the study guide is a General EECE Study Guide available
from the EECE Undergraduate ClickUP page and provides rules and policies that are applicable to all
undergraduate modules presented by the Department of Electrical, Electronic and Computer
Engineering. If you cannot see or do not have access to the current-year EECE Undergraduate
Students ClickUP module, please arrange access as soon as possible by completing the form at
https://goo.gl/3KakBP. All undergraduate-related departmental policies, online resources and
communication are managed through this platform.
1. WELCOME
Over the last three decades software engineering has grown into a huge international enterprise
with an enormous impact on the community and our daily lives. It is deserving of formal academic
study and analysis. The module serves to introduce an engineering approach to the design and
development of software.
These and various other aspects of software engineering are investigated to obtain a deeper
knowledge of how to implement a disciplined approach to software development.
2. EDUCATIONAL APPROACH
2.1 General approach
This module will be taught in a traditional lecture fashion, where lecture slides will be used to aid the
lecturer in his presentation of the module content. Students are encouraged to participate in the
lecture by preparing questions in advance and by submitting these using email.
You are expected to participate in discussions during lectures and tutorial classes. We focus on
insight and understanding, not mere memorisation of facts. As your fellow students depend on the
inputs you make, your participation is crucial. After all, you are also dependent on their
contributions.
The lecturers may make changes to the content of this study guide to better promote
understanding. Any such changes will be announced on during lectures and on the module’s
ClickUP page.
3
2.2 Online approach
ClickUP will be used in the module for lecture-to-student communication, to post class activities and
assessment. Additionally, the AMS will serve as our primary test and assignment platform. Lectures
will be made available on ClickUP in both a high data version (video) and in a low data version
(slides). Blackboard Collaborate Ultra will be used for lectures with the recording made available
afterwards. EPE 321 will also have a YouTube channel with links to unlisted videos posted on
ClickUP. A request for these to be zero rated via connect.up.ac.za will be made for each video. Please
note that this can take up to 24 hours to complete.
A combination of platforms and tools will be used for the software project. This will allow this aspect
of the module to be conducted fully online, by adapting the workflow of fully remote software
teams. Please visit ClickUP at least once daily to check for updates and ensure that your Tuks email
forwards to your primary inbox should it not be your primary email address.
This module is presented at developmental level for GAs 3, 5 and 8. Refer to the General EECE Study
Guide (Part 1) for a complete overview of the association of ECSA GAs with the modules in each
degree program.
Diagrams that show the interrelationship and logical sequence of the various modules in the study
program and the module within the context of the programme, are available on the current year
EECE Undergraduate Student ClickUP (click on Modules and resources>Curricula and Prerequisites>
Electrical Engineering/Electronic Engineering/Computer Engineering).
4
services see Paragraph 12 in the EECE General Study Guide.
4.3 Timetable
The lecture timetable can be found on your student portal or at chemeng.up.ac.za/timetables/.
5.4 Components
Only software components will be required for this module. Every effort is made to use only open-
source software or software that can be used for free duration of the module. Students are expected
to do the required steps to register for the GitHub Student Developer Pack.
5
6. LEARNING ACTIVITIES
6.1 Contact time and learning hours
The allocation of time to teaching and learning activities in this table reflects that of
contact teaching and learning. Time allocation for online teaching and learning
activities as necessitated by the COVID-19 pandemic will be aligned with the revised
presentation structure of the module and may deviate from the time allocations in this
table. Lectures, tutorials and practicals (contact time)
Contact time Preparation Total time per Number Total time per
per week per week week (hours) of semester
(periods) (periods) weeks (hours)
Lectures* 3 0 2,5 12 30
Tutorials 0 0 0 12 0
Practicals 1 7 6,7 12 80
Assignments and assessment (non-contact time)
Assessment Preparation Total time per
time (hours) time (hours) semester
(hours)
Assignment(s) 0 20 20
Class Tests* 2,5 2,5 5
Semester test 1,5 7,5 9
1
Semester test 1,5 7,5 9
2
Examination 3 15 18
Module hours 166
Module credits 16
Note 1: The time allocation in this table represents nominal hours, i.e. some students
might require less and others more time to attain the pass requirements.
* Note 2: As class tests are written during lecture periods, the times allocated for class
tests are included in the total lecture time.
6.2 Lectures
Lectures are presented in a style of co-operative and student-centred learning. Lecture content and
structure will be based on the prescribed and recommended study material. Note, however, that
various problems and examples that are not in the textbook will be discussed during lectures.
Students are expected to prepare for classes as specified further on in this guide.
Attendance of lectures is compulsory and register of attendance may be taken to determine which
students bring their part and work consistently. Refer to the general EECE study guide for the
departmental strategy to deal with absence from lectures. Important announcements with respect
to laboratory sessions, assignments, tutorials and discussions of test content will be made during
lecture times. Students need to take note that only selected components of content, assessments
and arrangements delivered in face-to-face lectures will be made available online, e.g.
announcements regarding tests, assignments, memoranda (optional), lecture notes (optional),
etcetera. Lecturers are not obliged to publish all content delivered during lectures online as a hybrid
6
teaching and learning strategy will be followed where a significant component of the teaching and
learning activities is face-to-face.
Please note that lectures that cover the practical component of the module are considered as part of
the practical component of the course and attendance of these lectures is thus compulsory.
Progressive evaluation and presence tests: The lecturer may at any time take down a class test on
the material covered thus far in the module as well as the material that had to be prepared for that
specific lecture. These test marks may contribute to the semester mark.
In this module, a number of hybrid approaches to teaching and learning will be followed. The use of
each in the module will be discussed and explained during lecture periods. Hybrid tools that will be
used include:
Extensive use of the module website to archive learning materials and additional materials.
Grading through the AMS and ClickUP.
Dedicated EPE321 YouTube channel for module related videos.
Video messaging apps for meetings and project demonstrations.
The use of several software development tools.
This list may be expanded during the semester if additional suitable hybrid teaching and learning
tools are discovered.
6.5 Assignments
All the assignments that have to be completed for this module and that could contribute to your
semester mark will be provided in due course. Due dates are given with each assignment and in the
module composition later in this guide. Failure to hand in assignments before the deadline will result
in the student receiving no marks for the assignment. Some of the assignments are compulsory –
details are given with each assignment. Please note that all assignments that are graded to
contribute to the semester mark must be handed in to gain entrance to the exam. All assignments
that may contribute to the semester mark, will be submitted electronically via ClickUP and the AMS.
Every assignment must be completed individually or in groups as specified in each assignment. You
may make use of your textbook and other resources on the web or in the library, excluding a
consultant. If you make use of program sections on the web or other sources, you must provide a
complete reference to each source. If there is suspicion that any part(s) of the work has been
copied from another student’s work or from another source, a mark of zero will be awarded. Please
refer to the plagiarism warning Part 1 of the guide. According to the University's regulations the
7
lecturer is obliged to charge guilty students with dishonesty that may lead to suspension. You will be
required to sign the following declaration on the front page of your assignments:
I, name and surname, hereby declare that the work herewith is completely my own and that no
parts have been copied in any way from current or previous students or other sources.
Each student has to attend and complete all the required practical sessions during the
semester. The practical sessions are compulsory. Failure to attend a practical session, or to
hand in a document at the specified time, will result in your being denied permission to
write the final examination. Practicals will take the form of a multi-stage development of a
specified software product.
The ‘contribution’ section of the prescribed cover page for group assignments does not have to be
completed for assignments in EPE 321 as they will all form part of the semester project. The
contributions of the various group members to the group project will be determined at the end of
the semester. The mark an individual student receives for group work is the product of the mark
allocated to the group and the portion of work done by that individual student as a ratio of the
portion that is expected of each student. For example, if there are five people in the team and
student A contributed 20% of the work, the actual mark awarded to the group will be awarded to
student A; if student A only contributed 10% of the total work, he/she will be awarded half the
mark awarded to the group.
Students need to apply with reasons to the lecturer for explicit permission to continue with
the fall-back strategy.
If the deregistered group member is partly or wholly responsible for the system’s
communication, the remaining group members may modify the project so that a single-
player version is presented with which a human can play against AI opponents.
If the deregistered group member is partly or wholly responsible for the system’s
AI, the remaining group members may modify the project to remove the AI component.
Human players must still be able to have a game against each other.
8
For the GUI, the team will be evaluated by excluding the GUI’s marks from the remaining
evaluations. The team will be required to develop a very basic GUI to allow the remaining
integrated subsystems to be marked during the Final Demo.
For the game server, the team has the option to transfer ideally the AI member or,
otherwise, the GUI member to the game server role. That role will then be excluded from
the remaining evaluations. If that role was the GUI, a basic version will still be required. The
team may also decide to rather implement a basic version of the game server to allow the
remaining integrated subsystems to be marked during the Final Demo.
Note that this fall-back strategy will not be implicitly followed should a group decide to consist from
the start of fewer members than the recommended amount (should this even be allowed). These
groups will still be required to deliver the full project. Further note that this fall-back strategy may be
updated should the need arise.
7. RULES OF ASSESSMENT
Refer to the section on assessment in the General EECE Study Guide. Also see the examination
regulations in the Year Books of the Faculty of Engineering, Built Environment and Information
Technology.
9
7.1 Requirements, subminima and calculation of marks
Software project:
Individual Work: 37% (I)
Group Work: 20% (G)
Specific requirements All scheduled practical sessions must be attended and all
practical assignments must be completed to a satisfactory
level. All semester projects and tasks must be completed to a
satisfactory level as per Departmental rules.
10
7.2 Assessment details
Assessment approach
The department’s electronic grading system (assessment management system AMS) will be used to
manually grade nearly all assessments (documents, demos, class tests, semester tests and exams).
ClickUP test(s) will also be given and Turnitin will be used on documents and code submissions. Our
current intention is that all assessments (including demos) will be conducted online but this may
change as the semester progresses. Please regularly visit the module website as all changes will be
communicated there.
Class tests
The class test(s) will be, each, between 20 and 45 minutes in duration and will be written online
either in class time or during one of the practical periods.
Semester tests
Two tests of 90 minutes each will be written during the scheduled test weeks of the School of
Engineering. Dates, times and (perhaps) venues will be announced as soon as the timetables
become available.
Examinations
The duration of the examination is 3 hours.
11
MODULE INFORMATION
The general objective of this module is to place emphasis on understanding rather than
memorisation of software engineering principles. Students will be expected to implement these
principles in their semester project.
1. Learning is best facilitated when there is a genuine need to know! The purpose of lectures is to
facilitate and aid your learning by creating an awareness of a knowledge vacuum. However, the
process of meaningful learning is only possible when it is driven by your genuine enthusiasm and
desire to learn, and sparked by the challenge to acquire and master new concepts. It is not the
lecturer's responsibility to make you learn, but rather to work with you to help you make the
best use of an opportunity.
2. The lectures provide an important overview of the work, and as far as time allows, an
opportunity to understand the details of various techniques. However, due to the limited
contact time, self-study is an essential component of the course without which it will be
impossible to master the work.
3. This study guide provides only a rough outline of the work covered. Your most important source
of information is your textbook and lectures.
4. We assume that you attend class and therefore important announcements will be made in class,
such as arrangements for practical sessions, homework assignments and tutorials, and
discussions about the content of tests. Where possible, these will also appear on ClickUP.
12
9.2 Module outcomes
ECSA graduate attributes
The critical learning outcomes for the module are qualified through the ECSA graduate attribute
requirements as discussed in the General EECE Study guide. The following skills are developed at the
indicated level and a student must demonstrate competence in each to be able to pass the module.
The student must demonstrate competence in the use of software engineering tools and
design principles when developing a complete software system.
Students have to work both individually and in teams on the practical component of the
module. They need to design develop and evaluate their own individual subsystems of the
prescribed software system. The students also need to work together to combine the
individual subsystems into a complete software solution.
3. Application 10
13
4. Analysis 10 ** Assessment UP graduate attributes:
Practical skills
5. Synthesis 20
Technical communication
6. Evaluation 10 Effective visual communication/"marketing"
skills
7. Other skills** 30 Team working skills
Time management
Study-units
Pressman & Maxim, chapters 1 and 2.
Supplementary material uploaded to ClickUP.
14
Know the different prescriptive software process models, the strengths and weaknesses of
each and know for which application each one would be suitable.
Understand the need for agile development and the role thereof.
Know and understand the agile manifesto and be able to conduct a debate on it.
Explain the potential advantages of agile development in the correct application.
Know and be able to use different agile development models and know their properties.
Study-units
Pressman & Maxim, chapters 3 - 5.
Supplementary material uploaded to ClickUP.
Self-study activities
Exercise on ClickUP.
Study-units
Pressman & Maxim, chapter 6.
Supplementary material uploaded to ClickUP.
Self-study activities
Application in the group project.
15
Study-units
Pressman & Maxim, chapter 7.
Supplementary material uploaded to ClickUP.
Self-study activities
The principles must be reviewed as each phase of the development process is discussed and must be
applied in the group project.
Study-units
Pressman & Maxim, chapter 8-11.
Supplementary material uploaded to ClickUP.
Self-study activities
The development of a proposal document and a software requirement specification working as an
individual. This theme must also be applied in the group project.
Study-units
Pressman & Maxim, chapter 12-16.
Supplementary material uploaded to ClickUP.
Self-study activities
The completion of an individual and a group design specification.
16
11.7 STUDY THEME 7: Quality management
Learning outcomes
After completion of this study theme the student will:
Understand the importance of software quality.
Know and understand the cost of ensuring quality and the potential costs of a lack of quality.
Know and understand the different definitions and factors related to software quality and
know how to apply these in the software development process.
Know, understand and be able to apply reviewing methods, and know and be able to explain the
advantages of these methods.
Know and be able to apply software quality assurance principles and approaches, and know the
relevant quality standards.
Know the different test strategies and techniques, know the advantages and disadvantages of
each, and apply an appropriate approach to the group project.
Apply configuration management to the group project.
Study-units
Pressman & Maxim, chapter 19-24.
Supplementary material uploaded to ClickUP.
Self-study activities
Application in the group project.
Study-units
Pressman & Maxim, chapter 31, 33 - 35.
Supplementary material uploaded to ClickUP.
Self-study activities
Application in the group project.
17