CSC 213 Course Description 2017


Name and Code:       CSC 312

Topics:           Human Computer Interaction (HCI),
                       Software Engineering (SE) and
                       Database Systems (DB)


This is a semester course comprising three sections: HCI, SE and DB, spanning 13 weeks of lectures and or contact hours with lecturers. For the first 7 or so weeks of the course, the three sections operate somewhat independently, and for the latter part of the course, they interweave in the form of a capstone group project. This syllabus presents all three sections independently at first, in terms of overall description, and then provides a jointly laid out schedule to give you an idea of how it all hangs together.


Please note this syllabus is subject to change and details will be updated regularly throughout the course.



Prof. Isabella Venter (HCI),  
Dr Michael Norman (SE) and
Ms Omowunmi Isafiade (DB),




Tel. No:

021 959-3010



New (old) Science Bldg., ground floor


Office Hours / Consultation times:

See on office doors.


André Henney

Andries Kruger

Toufeeq Allie

Ntombesisa Mateyisi

Saira Adams




Tutor consultation times:

At practical on Fridays.


On-line forum



            Human Computer Interaction (HCI) IM Venter

                Text Books:

Prescribed Book:

Interaction Design: Beyond human-computer interaction, 3rd  Edition


by            Preece, J., Sharp, H. & Rogers, Y.

Publisher – John Wiley & Sons Inc., 2015


ISBN 978-1-119-08879-0



Reference Books:

Internet & World Wide Web How to Program, 5th Edition


by            Paul J. Deitel, Harvey M. Deitel, and Abbey Deitel

These books are obtainable at:

Campus Book and Van Schaiks (Tel 021 930 2480) Sanlam Centre, Voortrekker Road, Parow.


Older books also available on the Reserve Shelf of the UWC Library



See also the text books’ web sites at:

Interaction Design: Beyond Human-Computer Interaction:

Internet & World Wide Web



Interesting link

Where do people find the time to do things like edit the Wikipedia? By Clay Shirky





HCI Project  

HCI Project

Excel Template

CSC312 Project

Final Project

Project Evaluation 1

Project Evaluation 2




CSC312 HCI Final Mark


Workunits and HCI/SE/DB Capstone Project




Slides (May change!)

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 5

Chapter 6

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 11

Chapter 13

Chapter 14

Chapter 15

More reading on Human Computer Interaction:


Mindmaps & Concept maps:

Buzan, Tony. (1993). The Mindmap Book: Radiant Thinking, published by BBC Books.  ISBN 0-563-37101-3

Concept mapping at Stellenbosch Medical School

Concept mapping




Prior knowledge/competencies

knowledge of a high level programming language

understanding of programming structures


HC1         Foundations of human-computer interaction

demonstrate an understanding of the reasons for human-centered software development

and the basic science of psychological and social interaction

differentiate between the role of hypotheses and experimental results versus correlations

develop a conceptual vocabulary for analyzing human interaction with software

distinguish between the different interpretations that a given icon, symbol, word or colour can have in two different human cultures, a culture and one of its subculture

understand in what ways the design of an application succeed or fail in terms of respecting human diversity. Have some knowledge of assembler language programming

create and conduct a simple usability test for an existing software application

HC2         Building a simple graphical user interface

identify fundamental principles for effective GUI design

use a GUI toolkit to create an application that supports a graphical user interface

Illustrate the effect of fundamental design principles on the structure of a GUI

conduct a simple usability test for each instance and compare the results



Schedule and Notional Hours

The class meets once a week for an hour lecture:

13 * 1

= 13 hours

A practical session once every 2nd week for two hours will be used for programming exercises in the first term:

3 * 2

= 12 hours

The practical sessions will be used for project presentation (HCI, SE & DB)


= 4 hours

You are expected to spend AT LEAST two hours for every hour in class, studying and writing up assignments:

13 * 2

= 26 hours

Pop quizzes spread throughout the term:

during class


HCI Project

Second term

= 7 hours



= 2 hours

Programming/project – approximately 6 hours per assignment

6 * 6

= 36 hours


= 100 notional hours




Database (DB) O Isafiade

                Text Books:

Prescribed Book:

Database Systems: Design, Implementation and Management by Carlos Coronel and Steven Morris, 12th Edition (2017, 2015).



Reference Books:

The Elements of Style by William Strunk, Jr. and E.B. White, 4th edition (2000).


These books are obtainable at:

Campus Book and Van Schaiks (Tel 021 930 2480) Sanlam Centre, Voortrekker Road, Parow.


Older books also available on the Reserve Shelf of the UWC Library



See also the textbook's web site at:



Interesting link

IIT Madras online video lectures of introductory course on DBMS






See elsewhere



Continuous Assessment

How to succeed in this course

Third year is not hard but it is different from second year, and hopefully you will not struggle to adapt if you take to advice. You have to take respons­ibility for your study yourself. Studying (a couple of hours) on your own for every lecture is very important. Try to read ahead of the lectures in an organized way. You cannot study the textbook and notes at the last minute and the lectures may not make much sense if you don't read by yourself. This will also help you should there be pop-up quizzes during lectures :).

Note: there may be pop-up quizzes during the course and as such you are strongly advised to always come for lectures. Pop-up quizzes are unannounced short, e.g. 5-10 minute, individual quizzes, in class, that cover material covered in class and also reading material announced in class, in this syllabus, including what is prescribed for the day of the lecture(s). There is no make-up for a missed pop quiz.

Practicals are very important

You will only really understand a topic once you can solve problems in the area yourself, by yourself. This is the pur­pose of assignment/practical work: this is where learning really happens. The emphasis here is on practical and appli­cable problem-solving knowledge.

Prepare your practical work carefully and note that attention to detail in presenting your solution is important and counts toward your assessment, to add to the moti­vation to work consistently. It is also helpful to consult tutors and talk about the work as required, see how you are doing and get valuable advice.

Practicals/assignments include design and (documented) implementation tasks that we will evaluate via design and code reviews. A new assignment/prac will be announced usually once every two weeks. So, we will only have pracs every other week. By the way, all design and code exercises for DB will be individual, however, the project is in teams.


We will most likely have two tests, announced in advance. There may be a third test, again you will be notified in advance.


Lastly (for emphasis), note that all forms of plagiarism (programs, essays, practicals etc) are illegal and will be punished according to the Univer­sity’s rules. These rules are severe and can lead to rustication, as you may already know. Every code or practical submission will be checked for plagiarism.

Of course we do encourage you to share and debate ideas and discuss your work but we draw a careful line between that and plagiarism. So avoid plagiarism/copying!



Will be made available via email. Further necessary details will follow as lectures progress.


Prior knowledge/competencies

Same as above.





Schedule and Notional Hours

The class meets once a week for an hour lecture:

12 * 1

= 12 hours

And then once every 2nd week for two hours.

6 * 2

= 12 hours

Two of the weekly hours may be used for tests

2 * 1

= 2 hours

You are expected to spend at most three hours for every hour in class, studying and preparing assignments:

24 * 3

= 72 hours

Test/exam (not sure if this overlaps with others or not)


= 2 hours

Programming/project is factored into the above


= 100 notional hours


Software Engineering (SE) M Norman


Prescribed Book:

Software Engineering: A Practitioners Approach,

by Roger S. Pressman and Bruce R. Maxim, 8th Ed, 2015 (International Edition), McGraw-Hill

ISBN 978-1-259-25315-7 or MHID 1-259-25315-5


This course is based on the recommendations of:

Software Engineering 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, A Volume of the Computing Curricula Series

23 February 2015,

and in particular on Chapter 4: Overview of Software Engineering Education and 4.7 SE Education Knowledge (SEEK) Areas which says:

This section describes the 10 knowledge areas that make up the SEEK: computing essentials (CMP), mathematical and engineering fundamentals (FND), professional practice (PRF), software modeling and analysis (MAA), requirements analysis and specification (REQ), software design (DES), software verification & validation (VAV), software process (PRO), software quality (QUA), and security (SEC).

The areas underlined above will be covered in this introductory course.


These books are obtainable at:

Campus Book and Van Schaiks (Tel 021 930 2480) Sanlam Centre, Voortrekker Road, Parow.


Older books also available on the Reserve Shelf of the UWC Library



See also the text books’ web sites at:

Course web site



Course outline


Embedded below.

There is also a separate course description which will be made available in printed and online form about the details for Software Engineering





Mine-project (weeks 1 to 8);

Continuous assessment – written tests on:

(1)   SE Intro lectures & Chapters 1, 2, 3, 4, 5, 6

(2)   Chapters 7, 8, 12, 19, 22

See the general course description for information on the course project.




Schedule and Notional Hours

The class meets once a week for an hour lecture:

13 * 1

= 13 hours

A practical session once every week for two hours will be used for the project in the first term:

2 * 7

= 14 hours

The practical sessions will be used for project presentation (HCI, SE & DB)


= 4 hours

You are expected to spend two hours for every hour in class, studying and writing up assignments:

13 * 2

= 26 hours


during class


Combined Project

Second term

= 7 hours



= 2 hours

Programming/project work

7 * 4.8

= 34 hours


= 100 notional hours


Lectures and Practicals: (See Faculty Time Table Booklet)           























SUN lab

Alternating with DB



























Thintana lab







Thintana lab








Lecture and practical times are as set out on the Faculty timetable.  Lecture and practical times coincide with the C clash group.



Contents/Lecture Topics




Exercises & Homework


27 Feb–3 Mar

HCI:What is interaction design? (Chapter 1)

Practical 1:  HTML (Chapter 3 & 4, Web)

HCI: Start on a mind map for this chapter


Receive HCI Practical Workunit 1

SE: The Nature of Software (Chapter1) and Software Engineering (Chapter 2)

Selected text book exercises:        1.2; 1.3; 1.4 and  2.2; 2.3; 2.5

DB: Database systems (Chap 1)



6–10 Mar

HCI: Understanding and conceptualizing interaction (Chapter 2)

HCI: Complete mind-map of Chapter 1 & start with one for Chapter 2.
Group QUIZ 1

Complete HCI Practical Workunit 1

SE: Software Process Structure (Chapter 3) and Process Models (Chapter 4)

Selected text book exercises:            3.1; 3.4

and      4.1; 4.5; 4.8

DB: Data Models (Chap 2)

Prac DB1.1: Design


13–17 Mar

HCI: Cognitive aspects (Chapter 3)

Practical 2: HTML & CSS (Chapter 6 & 7, Web)

HCI: Complete mind-map of Chapter 2 & 3..
Group QUIZ 2

Practical:  Hand in Workunit1 & start Workunit2

SE Agile Development (Chapter 5) and Human Aspects of Software Engineering (Chapter 6)

Selected text book exercises:            5.2; 5.4; 5.7

                                                             6.5; 6.6; 6.8

DB: The Relational Database Model (Chap 3)

Prac DB1.2 Design


20–24 Mar

21 March- Human Rights Day

HCI: Social interaction (Chapter 4)

Thursday Lecture in SE period

HCI: Emotional interaction (Chapter 5)

Group QUIZ 3
HCI: Draw mind-map of Chapter 4, 5 & 6

Complete  Workunit 2

Hand-out & discuss Mobile Project 

SE: Principles that Guide Practice (Chapter7)

SE: No Prac session

Selected text book exercises: 7.1; 7.10; 7.14

DB: Entity Relationship Modeling (Chap4)

Prac DB1.3 Design

IFS361: Test 1 (Saturday)



27–31 Mar

HCI: Interfaces (Chapter 6)

Thursday Lecture in SE period

Process of interaction design & Establishing requirements (Chapters 9 & 10)

Practical 3: Intro to JavaScript (Chapter 8, Web))

HCI: Plan work for & work on Mobile Project

Hand in Workunit 2, start with Workunit 3

Group QUIZ 4
Group QUIZ 5

SE: Understanding Requirements (Chapter8)

SE: No Prac session

Selected text book exercises: 8.1; 8.3; 8.9 (a, b and d)

DB: Test1

Advanced Data Modeling (Chap 5)



3–7 April

HCI: No HCI lecture, SE will be taught in in the HCI session

Complete Workunit 3 and work on mobile project.


Selected text book exercises:     3.1; 3.4, 4.1; 4.5; 4.8

DB: test review, finish Chap 5

Prac DB2.1 design


10–13 April

14th April- Good Friday

HCI: No HCI lecture, SE test will be written in the HCI session

HCI: Draw combined mind-map of Chapter 1-6, 9 &10

SE: Hand out Term (HCI/DB/SE) Project & discuss.

Test 1 (SE Intro lectures & Chapters 1, 2, 3)


DB: Normalisation of DB Tables (Chap 6)

Prac DB2.2 design


14–23 April

Holiday Week

HCI: Work on  Mobile Project

HCI/DB/SE: Think about an interesting project topic.


24 – 28 April
27th April – Freedom Day

HCI: Test 1 – Chapters 16


Practical: HCI/DB/SE

HCI Workunit 3 to be marked

Discuss choice of topic for the project as well as the deliverables.

Submit topic title (to be validated).

Receive Assignment 1’s evaluation sheet

SE:  SE Project revisit

SE Project Completed for marking

DB: Intro to SQL (Chap 7)

Prac DB2.3 code


2–5 May

1 May – Workers’ Day

HCI: Data gathering and Data analysis (Chapter 7 & 8)

HCI: Draw mind-map of Chapter 7 &8

Complete Mobile project

Practical: HCI/DB/SE

Present Assignment 1

Receive Assignment 2’s evaluation sheet

SE: Design Concepts (Chapter 12)

Selected text book exercises: 12.1; 12.3; 12.10

DB: Advanced SQL (Chap 8)

Prac DB3.1 design


8 –12 May


HCI: Designing, prototyping, and construction (Chapter 11)

HCI: Draw mind-map of Chapter 11 & combine mind maps for test
Final hand-in (Mobile Project)

Practical: HCI/DB/SE

Present Assignment 2

Receive Assignment 3’s evaluation sheet

SE: Quality Concepts (Chapter 19)

Selected text book exercises: 19.5; 19.6; 19.7

DB: Database Design (Chap 9)

Prac DB3.2 code

IFS361: Test 2 (Saturday)



15–19 May

HCI: Evaluation Studies (Chapter 13 & 14)

Learn for test.

Practical: HCI/DB/SE

Present Assignment 3

Receive Assignment 4’s evaluation sheet

SE: Test 2 (Chapters 4, 5, 6)


DB: Transaction management and concurrency control (Chap 10)

Prac DB4.1 design


22–26 May

HCI: Analytical evaluation (Chapter 15, HCI 2nd Ed.)

Practical: HCI/DB/SE

Present Assignment 4

Receive information about presentation deliverables

SE: Software Testing Strategies (Chapter 22)

Selected text book exercises: 22.1; 22.4; 22.8

DB: Test2

Prac DB4.2 code


29 May–2 June

HCI: Feedback about HCI project.  

SE: SE International Ethics

International Ethics review

DB: Go over test and course eval


Practical: HCI/DB/SE

Final presentation


5 – 8 June

HCI: Test 2 – Chapters 7  15  (not 12)HCI


SE: IITPSA Ethics for IT

SA Ethics review




9 June  - 19 July

Study period & exams





Assessment events and methods




Continuous Evaluation:


Group Quizzes ability to apply knowledge gained in the previous lecture/s


Programming assignments & Project




Test 1             Topics covered in week 1 to 6


Test 2             Topics covered in week 7 to 12


Software Engineering




Continuous Evaluation

pop quizzes

practicals (design/code reviews)









Infusion Objectives/Attaining graduate attributes

Comprehension and Communication Skills: reading the textbook and online blogs, technical reports and documents. Discussion of problems in groups, and ability to give a presentation and field questions in public.

Problem Solving: Reading problems, interpreting them, designing a solution and building it (and testing it, too).

Programming Competency: Build an integrated application (PC, web, and/or mobile) using standard software engineering (SE) technique(s), a front end (HCI) and back end (DB).

Team Work: Students work in teams, allocate roles, and coordinate toward delivering an integrated product to a deadline.

Leadership: exercised within a team, and also on a personal basis.

Ethics & Professionalism: professional conduct, i.e. no cheating, obtaining illegal copies of reading materials and/or code.

Responsibility: time management: - Exercises must be completed to schedule/deadlines, in and out of class, depending on nature of assignment.

Software Development: Use a clearly identifiable SE method for all programming assignments.

Research Methods: Using and referencing (citations) web sources; as well as academic journal articles, conference proceedings papers and book sections/chapters.