Cbo - Elen4010a - 2023

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

School of Electrical and Information Engineering

University of the Witwatersrand, Johannesburg


ELEN4010A — Software Development III

Course Brief and Outline — 2023

Academic Staff

Dr SP Levitt (course co-ordinator)


Room: CM3.237
Email: [email protected]

1 Course Background

The course forms part of the “Software Development” line of courses. It follows on from
Software Development II and focuses on “modern” software development. Modern software
development is defined as being highly collaborative, making use of an agile methodologies,
and using modern platforms, languages, technologies, and architectures.

2 Course Objectives

This course has three main objectives. In terms of collaboration, students will learn how to
work effectively in small teams and use tools like version control to continuously integrate
and deliver software solutions. Agile project management approaches will be explored and
practised, illustrating how agile teams can be responsive to change and maximise value for
the customer. The web as a development platform, browser technologies, and a client-server
architecture will be introduced.

3 Course Outcomes

On successful completion of this course, the student is able to:


1. work within a small team to deliver a software product and apply good practices for
collaborative software development;
2. use agile project management techniques to deliver business value in an iterative and
incremental fashion;
3. capture, clarify, and prioritize an initial set of vague functional requirements using well-
known, and popular, agile techniques;
4. demonstrate basic proficiency with web development technologies;
5. perform a small-scale investigation into a software engineering topic.

ELEN4010A Course Brief and Outline — 2023 1


4 Course Content

Agile Methodologies
Iterative and incremental development; user stories; story mapping; vertical slices; pro-
ject planning; Scrum; sprints

DevOps
Continuous integration, delivery and deployment; Git workflows; trunk-based develop-
ment; feature toggles; short-lived feature branches; pull requests for code review

Web Technologies and Techniques


The web as a development platform; JavaScript; HTML; CSS; Node; asynchrony and the
event queue; cloud hosting

Data Persistence
Relational databases and other forms of persistence; normal forms; SQL

Testing
Testing pyramid; integration and acceptance testing; testing in JavaScript

5 Prior Knowledge Assumed

This course assumes students have a solid knowledge of fundamental programming language
concepts including functions, classes, flow control, variables and scope. Students also need to
be familiar with unit testing and be able to use version control in a simple manner.
The prerequisites and co-requisites to register for this course are defined in the current Rules
& Syllabuses: Faculty of Engineering and the Built Environment.

6 Assessment

6.1 Formative Assessment

A number of preparatory laboratories will be made available to students in order to introduce


them to the concepts and techniques required for completing the group laboratory assign-
ment. Although these preparatory laboratories do not count for marks, doing them properly
is essential for understanding the course material. Teaching assistants will be on-hand during
dedicated laboratory sessions in the Computer Lab (D-Lab) to assist students.

ELEN4010A Course Brief and Outline — 2023 2


6.2 Summative Assessment

Assessment Duration Component Method & Calculator Permitted Supporting


Contributor (hours) Weight Type Material
Individual Project 20 No Rubric, 25% – –
Group Laboratory 30 No Rubric, 35% – –
Examination* 2 No Marks, 40% 1 –

*Note that the end-of-year examination requires a minimum of 35% in order to pass the course
(termed a subminimum). This means that even if the average final mark for the course is 50%
or above, a final examination mark of less than 35% does not qualify one to pass the course,
as per the University Rules and Syllabuses.

6.3 Assessment Methods

The student will be assessed in the group laboratory, the individual project and in the examina-
tion. The laboratory and project will require the student to demonstrate proficiency and ability
in the areas listed in the Course Outcomes (Section 3) in a practical, hands-on environment.
The project will be undertaken individually. It will require students to research a topic that is
not covered formally in the course lectures. Each student will submit a written report as well
as source code, and associated artefacts, for assessment.
The group laboratory will require the student to work as part of a team to creatively identify,
assess, formulate and solve a software development problem by using concepts, methods, tools
and techniques introduced in the course. The emphasis in the laboratory will be on team work
and the students will be assessed by means of their laboratory artefacts, written reports and
recorded presentations.
The examination is the only mandatory, in-person, requirement for this course. Students will
be required to write the examination on the Wits campus at the venue, and scheduled date
and time, that is published by the Examination and Graduations Office.

7 Satisfactory Performance (SP) Requirements

For the purpose of Rule G.13 satisfactory performance in the work of the class means attendance
and completion of prescribed laboratory activities, attendance at tutorials designated as com-
pulsory in this CB&O, submission of assignments, writing of scheduled tests unless excused in
terms of due procedure.

8 Teaching and Learning Process

8.1 Teaching and Learning Approach

The basic material of the course is covered in the lectures. In general, the lectures are comple-
mented by additional material which will be readily available.
The student is expected to undertake a significant amount of self-study and practice in this
course in order to gain a full understanding of the material. Lectures will be used to introduce
and explain key concepts, but these will need to be reinforced. Students are expected to spend

ELEN4010A Course Brief and Outline — 2023 3


an extra four hours per week of their time working alone and in groups enhancing their design
and software development skills. The D-Lab computer facilities are available for students on
a 24-hour basis on the ground floor of the Chamber of Mines building.
Since the software development tools used during the course will be open-source and available
at no cost, students will be able to use their own computer facilities if available. All mater-
ial covered in the lectures, laboratories, project, or made available on the course website, is
examinable.

8.2 Information to Support the Course

All supporting information for this course can be found on the course website and in the
handouts/articles provided to students.

8.3 Learning Activities and Arrangements

Lectures

Lectures will take the form of prepared videos which students are expected to watch as well
as in-person discussions of questions or problems posed in the videos. The purpose of these
exercises is to reinforce or deepen the material covered in the lectures.

Individual Project

Details on the project will be provided within the first week of term in the form of a project
brief. Refer to the School’s document detailing the key dates for fourth year students for the
submission deadline. Note that the School’s policy on the timely submission of projects, as
described in the Red Book, will be strictly enforced.

Group Laboratory

This laboratory forms an essential part of the course, as many of the concepts introduced can
only be fully understood through practical exercises. The laboratory will include a compre-
hensive team programming project. The laboratory project will be developed incrementally
and iteratively over a number of weeks.

Consultation

The lecturer is available for consultation primarily during the laboratory sessions. Students
are encouraged to make use of the laboratory sessions to discuss any problems they may have
with the course material.

9 Course Home Page

All information and announcements regarding the course will be posted on Ulwazi. All stu-
dents are expected to consult Ulwazi and their student email at regular intervals.

ELEN4010A Course Brief and Outline — 2023 4

You might also like