COS151 StudyGuide 14 Apr

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

School of Information Technology

Skool vir Inligtingtegnologie

Department of Computer Science


Departement Rekenaarwetenskap

COS 151: Introduction to Computer Science


COS 151: Inleiding tot Rekenaarwetenskap

Lecturers: Prof. Hein Venter, Prof Stefan Gruner


Last Revision: 14 April 2020 (Update in sections 4.4, 5.1, 5.5, 5.6, 8 and 9)

Copyright
c reserved
Contents
1 Overview 1
1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Related modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 Study units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Outcomes 2
2.1 Career . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Plagiarism policy 6

4 Instructors 6
4.1 Course coordinator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Lecturers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3 Assistant lecturers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4 Tutors and teaching assistants . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.5 Administrative support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5 Organisation 9
5.1 Class attendance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Module website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3 Mark Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.4 Announcements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.5 Lectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.6 Practicals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.7 Discussion forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.8 Interaction with the Instructors . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Study Material 12
6.1 Prescribed textbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2 Additional references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7 Assessment 13
7.1 Semester mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.1.1 Semester Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.1.2 Practical Lab Experiences . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1.3 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1.4 Result Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2 Examination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.3 Final Mark Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.4 Supplementary and Aegrotat Examinations . . . . . . . . . . . . . . . . . . . 15

8 Time Management 16

9 Lecture, tutorial, and practical schedule 16

10 Support services 17

ii
1 Overview
1.1 Description
This module introduces concepts and terminology related to the computer science disci-
pline. Topics covered include the history of computing, machine level representation of data,
Boolean logic and gates, basic computer systems organisation, algorithms, programming
languages, complexity & automata theory, security, theory of computation, and ethical &
social issues.
The module, in essence, provides a broad overview of the fundamental concepts under-
lying computer science, as well as many of the sub-disciplines within the field. The practical
focus will be on short assignments that often does not involve the use of computers, but
rather paper assignments.

1.2 Prerequisites
A valid National Senior Certificate with admission for degree purposes, and the minimum
subject and level requirements for an appropriate degree programme.

1.3 Related modules


The concepts presented in COS 151 serve as an introduction to all the modules offered
within the Department of Computer Science, and provide vital building blocks upon which
all subsequent work is based. Additionally, the programming languages chapter gives an
introduction to the programming languages used in almost all Computer Science courses
taught in the Department.

1.4 Study units


This module covers the main themes of introductory computer science through the following
study units, taken from the ABET Computing Accreditation Commission guidelines:

Knowledge Area Study Units


Discrete Structures Basic logic
Programming Fundamentals Fundamental programming constructs
Algorithms and problem-solving
Fundamental data structures
Recursion
Programming Languages Overview of programming languages
Declarations and types
Type systems
Abstraction mechanisms
Introduction to language translation
Software Engineering Software design
Software processes
Software requirements and specifications

1
Algorithms and Complexity Algorithmic strategies
Fundamental computing algorithms
Basic algorithmic analysis
Basic computability
The complexity classes P and NP
Automata theory
Architecture and Organisation Machine level representation of data
Assembly level machine organisation
Memory system organisation and architecture
Interfacing and communication
Functional organisation
Multiprocessing and alternative architectures
Architecture for networks and distributed systems
Net-centric Computing Introduction to net-centric computing
Communication and networking
The web as an example of client-server computing
Social and Professional Issues History of computing
Social context of computing
Privacy and civil liberties
Economic issues in computing

2 Outcomes
2.1 Career
This course teaches important concepts underlying very basic computer programming and
computer science in general. All the major fields within computer science are touched upon,
thus giving students a broad basis from which to approach problems in any computer science
related career.

2.2 Course
The outcomes of the study units covered by this course, taken from the ABET Computing
Accreditation Commission guidelines, are as follows:

Basic logic

• Apply formal methods of symbolic logic.

• Describe how formal tools of symbolic logic are used to model algorithms and real-life
situation.

Fundamental programming constructs

• Analyse and explain the behavior of simple programs involving the fundamental pro-
gramming constructs covered by this course.

• Design, test, and debug a program that uses each of the following fundamental pro-
gramming constructs: basic computation, simple I/O, standard conditional and iterative
structures, and the definition of functions.

2
Algorithms and problem-solving

• Discuss the importance of algorithms in the problem-solving process.

• Identify the necessary properties of good algorithms.

• Create algorithms to solve simple problems.

• Describe strategies that are useful in debugging.

Fundamental data structures

• Discuss the representation and use of primitive data types and arrays.

• Describe how primitive data types are allocated and used in memory.

• Describe common applications for primitive data types and arrays.

• Write very basic programs that use arrays and strings.

• Choose the appropriate primitive data type, array, or string for modelling a given prob-
lem.

Overview of programming languages

• Summarise the evolution of programming languages illustrating how this history has
led to the paradigms available today.

• Identify at least one distinguishing characteristic for the procedural, object-oriented,


functional, and declarative programming paradigms.

Declarations and types

• Identify and describe the properties of a variable.

Type systems

• Describe each of the elementary data types.

Abstraction mechanisms

• Explain how abstraction mechanisms support the creation of reusable software com-
ponents.

• Defend the importance of abstractions.

Introduction to language translation

• Compare the contrast compiled and interpreted execution models, outlining the relative
merits of each.

• Describe the phases of program translation from source code to executable code and
the file produced by these phases.

3
Software design

• Discuss the properties of good software design.

Software processes

• Explain the software life cycle and its phases including the deliverables that are pro-
duced.

Software requirements and specifications

• Discuss the challenges of maintaining legacy software.

Algorithmic strategies

• Describe the shortcoming of brute-force algorithms.

• For each of several kinds of algorithm, identify an example of everyday human behavior
that exemplifies the basic concept.

Fundamental computing algorithms

• Implement the most common quadratic sorting algorithms.

Basic algorithmic analysis

• Explain the use of big O notation to describe the amount of work done by an algorithm.

Basic computability

• Discuss the concept of finite state machines.

• Design a deterministic finite-state machine.

• Explain how some problems have no algorithmic solution.

• Provide an example that illustrates the concept of uncomputability.

The complexity classes P and NP

• Define the classes P and NP.

Automata theory

• Explain the Church-Turing thesis and its significance.

Machine level representation of data

• Explain the reason for using different formats to represent numerical data.

• Explain how negative integers are stored in sign magnitude and twos-complement rep-
resentation.

• Convert numerical data from one format to another.

• Discuss how fixed a point number representation affects accuracy and precision.

4
• Describe the internal representation of nonnumeric data.

• Describe the internal representation of characters, strings, and arrays.

Assembly level machine organisation

• Explain the organisation of the classical von Neumann machine and its major functional
units.

• Explain how an instruction is executed in a classical von Neumann machine.

• Summarise how instructions are represented at both the machine level and in the
context of a symbolic assembler.

• Explain different instruction formats.

• Write simple assembly language program segments.

Memory system organisation and architecture

• Identify the main types of memory technology.

• Explain the effect of memory latency on running time.

• Explain the use of memory hierarchy to reduce the effective memory latency.

Interfacing and communication

• Explain how interrupts are used to implement I/O control and data transfers.

• Identify various types of buses in a computer system.

• Describe data access from a magnetic disk drive.

• Compare the common network configurations.

Functional organisation

• Explain the basic instruction level parallelism using pipelining and the major hazards
that may occur.

Multiprocessing and alternative architectures

• Discuss the concept of parallel processing beyond the classical von Neumann model.

• Describe the alternative architectures of SIMD, MISD, and MIMD.

Introduction to net-centric computing

• Discuss and evaluate early networks and the Internet.

• Demonstrate an understanding of common networked applications including e-mail,


telnet, secure shell, FTP, and web browsers.

• Explain the hierarchical, layered structure of a typical network architecture.

5
The web as an example of client-server computing
• Explain the different roles and responsibilities of clients and servers.
History of computing
• List the contributions of several pioneers in the computing field.
• Compare daily life before and after the advent of personal computers and the Internet.
• Identify significant continuing trends in the history of the computing field.
Social context of computing
• Describe positive and negative ways in which computing alerts the modes of interaction
between people.
• Explain why computing/network access is restricted in some countries.
Privacy and civil liberties
• Describe current computer-based threats to privacy.
Economic issues in computing
• Suggest and defend ways to address limitations on access to computing.

3 Plagiarism policy
The Department of Computer Science considers plagiarism to be a serious offence. Dis-
ciplinary action will be taken against students who commit plagiarism. Plagiarism includes
copying someone else’s work without consent, copying a friend’s work (even with consent)
and copying material (such as text or program code) from the Internet. Copying will not be
tolerated in this module.
For a formal definition of plagiarism, the student is referred to http://www.ais.up.ac.
za/plagiarism/index.htm (from the main page of the University of Pretoria site, follow the
Library quick link, and then click the Plagiarism link). If you have any form of question
regarding this, please ask one of the lecturers, to avoid any misunderstanding. Also note
that the principle of code re-use does not mean that you should copy and adapt code to suit
your solution.
Note that all assignments submitted for this module implicitly agree to this plagiarism
policy, and declare that the submitted work is the student’s own work. Assignments will be
submitted to a variety of plagiarism checks. Any typed assignment may be checked using
the Turnitin system. After plagiarism checking, assignments will not be permanently stored
on the Turnitin database.

4 Instructors
4.1 Course coordinator
The module coordinator takes primary responsibility for the module and its content. Please
see Section 5.8 for information on the procedure that should be followed when contacting
the module coordinator:

Name Office Telephone E-mail


Prof Hein Venter IT 4-42 (012) 420-3654 [email protected]

6
4.2 Lecturers
The module is presented by two lecturers. Below is information regarding the primary lec-
ture group responsibilities and contact details of each lecturer associated with this module.
Please see Section 5.8 for information on the procedure that should be followed when con-
tacting the lecturers:

Lecture Lecturer Office Telephone E-mail


Lectures Prof Hein Venter IT 4-42 (012) 420-3654 [email protected]
Practicals Prof Stefan Gruner IT 4-40 (012) 420-5383 [email protected]

4.3 Assistant lecturers


The module has two assistant lecturers, who are responsible for general course adminis-
tration, tutorials and practicals. They will deal with all tutorial, practical and mark-related
queries. Below are the assistant lecturers’ contact details. Please see Section 5.8 for infor-
mation on the procedure that should be followed when contacting the assistant lecturers:

Position Responsibility Name E-mail


Assistant lecturer Tutorials Ms I Stefanova [email protected]
Assistant lecturer Practicals Mr T. Sander-Huges [email protected]
Admin assistant Admin and queries Mr M. Sibeko [email protected]

7
4.4 Tutors and teaching assistants
Tutors and teaching assistants are allocated to specific laboratories during practical ses-
sions, and will provide help during tutorial classes when possible. They will provide guid-
ance to students during the completion of practical and homework tasks online, probably
during the remainder of the semester, and will allocate marks for aspects of these tasks.
Please note that it is not their responsibility to complete part of a practical or tutorial for you.
Instead, they will help with explanations and guidance when you are stuck. They may also
offer one-on-one consultation sessions, depending on demand. Tutors and teaching assis-
tants should generally be consulted only during practical sessions, tutorials, or consultation
sessions, however, their contact information is available on the module website.

CosTutorium Consultation times (probably for the remainder of the semester, tutors will be
providing this service on-line using Blackboard Collaborate):

Day Time Tutors/TAs


Monday 10h30-11h20, Iva Stefanova
13h30-14h20, Iva Stefanova
13h30-15h20 Ray Botha
Tuesday 08h30-09h20, Iva Stefanova
09h30-10h20, Vianka Naidoo
10h30-11h20, Iva Stefanova
11h30-12h20, Vianka Naidoo
12h30-13h20, Mihlali Mgwebi
14h30-15h20 Natascha Janse van Rensburg
Wednesday 09h30-11h20, Iva Stefanova
13h30-14h20, Ray Botha
14h30-15h20 Marco Oosthuizen
Thursday 08h30-09h20, Yulande De Villiers
10h30-11h20, Tanatswa Dendere
11h30-13h20 Iva Stefanova

4.5 Administrative support


General degree and examination-related administrative queries should be directed to:

Name Office Telephone E-mail


Ms Elmarie Willemse IT 4-18 (012) 420-2504 [email protected]

The head of the Computer Science Department must be contacted via her secretary:

Name Office Telephone E-mail


Ms Razia Vizasie IT 4-17 (012) 420-2361 [email protected]

8
5 Organisation
5.1 Class attendance
First and foremost, class attendance is vital to maintain a good academic record. Material
not covered in the slides or textbook may also be discussed during lectures. Please ensure
that you attend these forums so that you are aware of important announcements, additional
discussions and material not covered in this study guide.

WARNING: Students with a class attendance of less than 70% will be EXCLUDED from the
exam and you will fail the course! (UPDATE: This value is subject to change due to the
COVID19 outbreak. However, online attendance is done automatically from 20 April
2020 by means of students logging in to attend the lectures. Although we understand
that not all students might have access to equipment and/or data to access the on-
line lectures slots, your attendance will be registered automatically when you log into
the lecture.)

Class attendance will be monitored using the Turningpoint app. The app is available
on the Google Play (Android) and Appstore (iOS) platforms. Make sure you download and
install the app on your phone that will perform ’clicker’ and class interaction services. Please
ensure you have enough battery life on your phone, otherwise you will not be able to register
your attendance. Tip: bring a backup battery along if your phone’s power is running low later
in the afternoon. You may also use a laptop to access the platform via the Web in case you
do not have a phone or when your phone’s battery is dead.

5.2 Module website


The CS module page for COS 151 is maintained on the web page of the Department of
Computer Science. You can reach this page by visiting the department’s website, located
at http://www.cs.up.ac.za/, clicking the Undergraduate Portal link, and finally clicking
the COS151 link in the list. You can also reach the CS module page directly, by visiting
http://www.cs.up.ac.za/courses/COS151/. The CS module page will be used to host most
of the study material for this module, and is thus the primary point of contact for electronic
information and resources. The CS module page will host the following content:
• All announcements.

• File downloads, links and notes.

• All practical specifications.

• Practical submission upload slots.

• Discussion forums.

• Links to other online course tools (like ClickUP)


Note that you will have to log in to the CS module page in order to perform various tasks
(e.g., uploading assignments, making bookings, or participating in online discussions). The
user-name and password for the CS module page are the same as those you use to log
in to Linux in the labs, and NOT those you use for the UP Portal. Linux user-names and
passwords can be retrieved from any administrative personnel member at the reception desk
of the Computer Science Department on the fourth floor of the IT Building. Have your student

9
card or proof of registration on hand when you request your login details. Please make sure
that you have tested your user name and password prior to practicals commencing, so that
you can follow up on any technical problems you might experience.

5.3 Mark Administration


Marks for assessment opportunities will be posted electronically as soon as they are avail-
able. A mark query procedure will be published on the module site when marks are pub-
lished. Follow these instructions carefully. Failure to do so may result in your query not being
attended to. Mark queries must be sent within three (3) working days of their publication, and
will be attended to as soon as possible after they have been received. Retain physical proof
of all assessment opportunity marks (e.g., test scripts, and marked practicals and tutorials)
until after the module’s examination.

5.4 Announcements
Announcements will be made during class time, and via the module website. While every
effort will be made to repeat announcements both in class and via the website, it is not
guaranteed that this will be the case. It is therefore expected that students attend all classes,
and check the module website on a daily basis.

5.5 Lectures
There are two (2) lectures and one (1) tutorial class per week for COS 151. Lectures are
compulsory, and will be used to present material from the textbook (see the detailed lecture
schedule, below). Tutorials are also compulsory, and will give you an opportunity to complete
written tasks that will be marked by tutors and teaching assistants. We may keep track of
your class attendance. If your class attendance is not regular, we may refuse to assist you
with queries and will not be lenient to you in any way.

The following lectures will be presented in English only (and will be presented on-line prob-
ably for the remainder of the semester; please note that lectures will be made available
on-line a few days BEFORE the lecture so students can watch it, and then attend during
these lecture times on-line to ask questions only about the lecture.):

Lecture Day Time Venue


Lecture 1 Monday 08:30 – 09:20 Thuto 1-2
Lecture 2 Thursday 16:30 – 17:20 AE du Toit Auditorium
Tutorial (Option 1) Friday 13:30 – 14:20 IT 4-5
Tutorial (Option 2) Friday 15:30 – 16:20 Thuto 1-2

5.6 Practicals
All practicals will be held in the Informatorium. You must book only one (1) of the following
time slots (information related to bookings will be made available during the second week of
lectures)(UPDATE: All practicals will probably commence on-line for the remainder of
the semester):

10
Day Time Venue: Informatorium
Friday 07:30 – 08:50 Blue 1 and Orange Labs
Friday 09:00 – 10:20 Orange Lab
Friday 10:30 – 11:50 Orange Lab
Friday 12:00 – 13:20 Orange Lab
Friday 13:30 – 14:50 Orange Lab

5.7 Discussion forum


The discussion forum for the course is made available as a means for discussing course-
related work. Please note that the forum is not to be used for non-academic purposes
(e.g., advertising, sending jokes etc.), and is not a forum for airing grievances related to the
module. If you wish to make a complaint about something related to the course, please
contact either one of the lecturers directly, or a class representative (class representative
details will be posted on the module website). Failure to observe these rules may result in
the forum being closed. Do not attempt to contact a lecturer via the forum, because your
message may not be seen.

5.8 Interaction with the Instructors


In the event that you have any queries or questions, the primary means of contact should
be via an e-mail message to [email protected] . This e-mail address is a job
request tracker, and will log your query with all the lecturers and the assistant lecturer. You
will receive an e-mail confirmation on your query, which you should not reply to.
The lecturers and assistant lecturer should preferably NOT be contacted via their per-
sonal e-mail addresses, except in exceptional circumstances. Be aware that direct e-mails
to lecturers and the assistant lecturer may take a longer time to be responded to. Whenever
communicating via e-mail, always use the following guidelines:

• Give a brief description of your problem in the subject line. If your query is for the at-
tention of a specific lecturer (e.g., if it relates to work covered during a specific lecture),
also include the appropriate lecturer’s name in the subject.

• Include your full name (including your first name and surname), your student number,
and a contact phone number (preferably a mobile number) in the message body.

• Your e-mail address must have your full name displayed, not just your student number.

• Always be courteous, and clearly describe your problem and what action you require.

• Make sure that your reply-to e-mail address is correct, and that your inbox is not full.
Failure to check these details are likely to result in replies not reaching you.

Please avoid sending multiple e-mails related the same query, or emailing the same queries
to different lecturers (because this wastes valuable time, and will not get you a different or
more favourable answer).
You can also speak with the lecturers after classes. It is not advisable to visit a lecturer
without an appointment, because they have busy schedules and may be unavailable. Most
queries can be dealt with in a short e-mail, and do not require a face-to-face consultation.
It is therefore advisable that you avoid making unnecessary appointments. If you need an
appointment, send an e-mail requesting one, and do so well in advance (not the day before

11
a deadline, test or examination). Don’t wait to ask questions about any module work you are
unsure about, and ensure your understanding of the work is up-to-date.
Tutors and teaching assistants should be consulted during practical or tutorial sessions.
In the event of practical- or tutorial-related queries, tutors can be contacted via e-mail. De-
pending on demand, times may be made available for tutors and/or teaching assistants to
give assistance outside of practical hours. In the event of such slots being made available,
further details will be announced in class and on the module page.

6 Study Material
6.1 Prescribed textbook
The prescribed textbook for this module is as follows. Also note that the textbook’s slides,
should we decide to provide them to you, are NOT a replacement for either the lectures or
the textbook.
Title: Foundations of Computer Science
Author: Behrouz Forouzan
Edition: Fourth Edition
Publisher: Course Technology, Cengage Learning
ISBN: 978-147-37510-40

6.2 Additional references


During the module, lecturers may prescribe additional notes or articles. It is the students’
responsibility to ensure that they obtain a copy. Note that such material is examinable, unless
stated otherwise.

6.3 Software
Operating system: Linux. This operating system will be installed on the lab computers, and
you will be able to install it on your own computer. Personal installations are each student’s
own responsibility, and the lecturers can not provide support. If you need help, a Google
search will provide many help forums and web sites.
Many different distributions of Linux exist, but Arch is a popular Linux distribution used
by many students. It is generally recommended that the Gentoo distribution be avoided,
because it is aimed at more technically minded users than most of the other distributions.
Should you wish to install Linux on your own computer, Linux installation CDs can be
created using ISO images available at ftp://ftp.up.ac.za/mirrors/. Alternatively, if you
are using a virtual machine (like VirtualBox, available at ftp://ftp.cs.up.ac.za/Software/
VirtualBox/) to run Linux on another operating system (like Windows), an OVA virtual
machine file for Arch linux is available at ftp://ftp.cs.up.ac.za/ (Arch32.ova for 32-
bit systems and arch64.ova for 64-bit systems). item Flowchart design software: Jav-
aBlock 0.6.1. This is a Java-based application that allows for the graphical design and
step-by-step execution of program flowcharts. A download of the program is available on the
module website, under the “Software” folder.

12
7 Assessment
The semester mark consists of the following assessment opportunities: Two (2) semester
tests, and ten (10) tutorials and practicals. Each opportunity is discussed separately, below:

7.1 Semester mark


The semester mark for the module will be calculated as follows:

Semester Mark = Semester Tests (70%) + Practicals (15%) + Tutorials (15%)

WARNING: Please see Section 5.1 again. Students with a class attendance of less than
70% will be EXCLUDED from the exam and you will fail the course!

The following sections discuss matters related to the components of the semester mark.

7.1.1 Semester Tests


Two (2) semester tests will be written through the course of the semester. Test dates, times,
and venues are subject to change through the course of the semester. Students should
therefore check their test timetable on ClickUP for up-to-date information. An announcement
with relevant details will be posted closer to each test date. The scope of each test will also
be announced closer to the relevant test date.
Each semester test result will count equally towards 70% of your final semester mark (i.e.,
each test will count 35% of the final semester mark). You must also write both semester
tests to gain examination entrance. If you are unable to attend a semester test due to
being truly ill, you must submit the appropriate documentation at the reception desk of the
Computer Science Department, for the attention of the course coordinator, within three (3)
working days of the test. Also send an email to the course coordinator, explaining that you
have dropped off the appropriate documentation. Valid documentation includes a medical
certificate from a registered medical practitioner, or an affidavit from a police station in the
event of a serious non-medical incident (e.g., the death of a family member) with additional
proof that may be required. There will only be ONE Aegrotat test (sick tests) arranged and
announced at a later date, after the second semester test took place. Should you have
missed one of the semester tests due to legitimate reasons as stated above, you will
have to write the aegrotat test, which will cover the work of BOTH the first and second
semester test, and will be double as long as either of the original semester tests.
You are informed here, well in advance, to make appropriate arrangements with regard to
clearing your schedule for these tests.
Should a clash occur between one of the COS 151 semester tests and the semester
test for another subject, students registered for either a BSc (CS) or BSc IT degree must
request admittance to the aegrotat test of the other subject, by permission of the lecturer
for that course. Should such a clash occur for students registered for any other degrees,
permission may be granted for admittance to the appropriate aegrotat test for COS 151.
In such cases, students must submit a letter from the lecturer of the other subject, which
indicates that the student is registered for the subject, as well as the date and time of the
test. This documentation must be delivered to the reception desk of the Department of
Computer Science, for the attention of the course coordinator. Again, send an email to the
course coordinator stating that you have delivered the required document. This must be
done within three (3) working days of the test.

13
There is a subminimum of 40% on the average mark over the two semester tests, for
examination entrance. Students with an average semester test mark (counted over the two
semester tests) of below 40% will not be allowed to write the examination. This is not open
to negotiation, so it is recommended that students prepare thoroughly for both tests. Do not
plan on performing better in the second semester test, because the work generally becomes
more challenging as the semester progresses.

7.1.2 Practical Lab Experiences


During the semester there will be about ten (10) practical sessions (see section 9 for the
practical schedule). A practical may take the form of written exercises, or a computer-based
set of questions, and must be submitted by the specified deadline. Some practicals may
take the form of research assignments, which may stretch over more than one week.
Submission deadlines will be strictly observed, and submissions after deadlines will
not be accepted under any circumstances. For electronic submissions, make sure that
you submit well before the deadline, because network congestion and other problems often
delay submissions. Each practical specification will contain submission instructions. Follow
these instructions exactly, or you will forfeit that practical’s marks.
Each practical lab experience mark will count equally towards a 15% contribution in total
to the semester mark. Note that simply completing a practical lab experience is insufficient,
and that a mark must be awarded (read the submission instructions of each lab experience
for information on what is required to get a mark for your work).
It is compulsory that students attend all lab sessions, except when illness prevents this.
There will be no aegrotat practicals (sick practicals). Students considered to be “at risk” in
terms of performance on practicals may be required to attend tutor consultation sessions.
These sessions may count towards improving practical marks.

7.1.3 Tutorials
There will be about twelve (12) tutorial classes through the semester. Tutorial classes will
generally be used for pen-and-paper exercises and practical-related discussions, and will
often cover preliminary work for the next week’s practical lab experience.
Tutorials will either be submitted at the end of a tutorial class, or at the reception desk
of the Computer Science Department by a specified deadline. Once again, ensure that you
follow submission instructions exactly, or the submission will not be assessed.
Each tutorial will count equally towards a 15% contribution to the semester mark. Tutorial
result queries are handled in the same way as practical lab experience queries.
Again, it is compulsory for students to attend all tutorial classes, unless illness prevents
this. There will also be no aegrotat tutorials (sick tutorials). At risk students may be required
to complete additional exercises to improve their tutorial results.

7.1.4 Result Queries


If any results are missing or incorrect when a result update is published, be sure to query this
as soon as possible. A deadline for all queries will be published with each result update, and
all queries must reach us before this deadline, and students must adhere to any announced
querying procedure. Failure to do so may result in queries not being addressed, or in delayed
corrections. Corrections will be made before the next result update. Please retain any
marked material returned to you (e.g., marked tutorial sheets) as proof of your result in the
event of a mistake. Marked material can generally be fetched from the reception desk of the

14
Computer Science Department for a period of a week, and will then be placed in the pigeon
holes outside the department.

7.2 Examination
The examination date, time, and venue is subject to change through the course of the
semester. Students should therefore check their examination timetable on ClickUP for up-to-
date information. All the work covered during the semester, including any additional material
made available, will be examinable. Please also check the module website towards the end
of the semester for any updates.

7.3 Final Mark Calculation


Each student’s final mark for COS 151 will be calculated as follows:

Final Mark = Examination mark (50%) + Semester Mark (50%)

In addition, the following regulations hold for this module:

• A student will be refused examination entrance if his/her semester mark is less than
30%. Students should be warned, though, that it is virtually impossible to pass the
course with an exam entrance mark of 30%, because this means that you will have to
obtain 70% in the exam, which is highly unlikely.

• To pass the module, a student must obtain at least 40% in the exam, and a final mark
of at least 50%.

• A student will pass the module with distinction if he/she obtains at least 75% for the
final mark.

• A supplementary examination will be granted to students with a final mark between


40% and 49%.

Please also take note of the examination rules, as stated in the general rules and regulations
of the University of Pretoria, under section G.12 (available at: http://www.up.ac.za/en/
yearbooks/2017/rules-pdf).

7.4 Supplementary and Aegrotat Examinations


A supplementary examination is granted if a student achieves a final mark of between 40%
and 49%, or if the student achieves a passing final mark, but fails to achieve at least 40%
for the examination. Students who have been admitted to the supplementary examination
are notified via their electronically published results on the UP Student portal. The date and
time of the supplementary examination will be published closer to the examination period,
and will be available via the UP Student Portal.
Aegrotat examinations (sick examinations) take place at the same time as the supple-
mentary examination. Note that admittance to an aegrotat examination is not arranged by
the Department of Computer Science. Instead, a medical certificate must be presented at
the administrative offices of your faculty within three (3) days of the examination, in the event
of illness. Also note that if you are admitted to write the aegrotat examination, there is no
further opportunity for a supplementary examination.

15
Examination clashes are also handled by your faculty. They will inform you of the correct
procedure to follow, and you will be admitted to the supplementary examination. Also note
that there will be no additional supplementary examination in such a case.
The scope for the supplementary and aegrotat examinations will be exactly the same as
the scope of the examination. In other words, all material is examinable, including additional
notes we provide you with. Please take note of this, and do not make enquiries regarding
supplementary or aegrotat examination scope.
In the case of an aegrotat examination, a student’s semester mark will be counted in
the final mark calculation, exactly as it would have been for the standard examination. Note
that, for the supplementary examination of this module, the semester mark is not consid-
ered. The mark obtained for the supplementary examination will therefore replace the final
mark for the module. The maximum mark that is achievable after writing the supplementary
examination is 50%. It should be noted that in all subsequent modules that are not on first
year level during the first semester, the semester mark will be included in the calculation of
a supplementary examination’s final mark.

8 Time Management
COS151 has a ‘value’ of 8 credits, which means that you must invest at least 8 · 10 = 80
work-hours in order to pass this course. Do not expect to pass this course if you put less
than 80 work-hours into it. During the entire semester with its 12 academic weeks, your
weekly ‘contact time’ for lectures, practicals and tutorials amounts to 12 · 4.5 = 54 work-
hours. The remaining 80 − 54 = 26 hours must be invested into the preparation for the 2
semester tests, i.e.: 13 preparation hours per semester test. ON TOP OF THAT comes
your preparation time for the final exam, after the semester lectures have ended.
UPDATE: Due to the COVID-19 outbreak, it will be required from you to down-
load/watch the lecture videos/slides BEFORE the actual lecture slot starts. This will
require from you to make time available in your schedule to watch the video and/or
slides. It will be announced on-line when videos/slides are made available.

9 Lecture, tutorial, and practical schedule


The following schedule will be followed for lectures (indicated in the Topic and Chapter
columns), and tutorial and practical pairs (indicated in the Tut & Lab column). In the Chap-
ter column, the acronym FCS refers to the “Foundations of Computer Science” textbook,
while the PLD acronym refers to the “A Beginner’s Guide to Programming Logic and Design”
textbook. Note that this schedule is subject to change, especially with the current COVID19
world pandemic (please see the course websites for on-the-fly updates regarding the situa-
tion.):

03 Feb to 07 Feb: CH01: (HV) Introduction


10 Feb to 14 Feb: CH08: (HV) Algorithms
17 Feb to 21 Feb: CH05: (SG) Computer Organization
24 Feb to 28 Feb: CH17: (HV + SG) Theory of Computation
02 Mar to 06 Mar: CH02: (HV) Number Systems (Semester Test 1: Wednesday 4 March,
17:30)
09 Mar to 13 Mar: CH09: (SG) Programming languages Part 1
16 Mar to 20 Mar: CH03: (HV) Data Storage

16
21 Mar to 31 Mar: UP Recess
01 Apr to 19 Apr: CANCELED due to extended recess.
20 Apr to 24 Apr: CH09: (SG) Programming languages remaining part
28 Apr to 30 Apr: CH04: (HV) Operations on Data Part 1
04 May to 08 May: CH04: (HV) Operations on Data Part 2
11 May to 15 May: CH11: (HV) Data structures Part 1
18 May to 22 May: CH11: (HV) Data structures Part 2
25 May to 29 May: No lectures due to Engineering Test Week
01 Jun to 05 Jun: CH16: (HV) Security
08 Jun to 12 Jun: CH20: (HV) Social and Ethical Issues Part 1 (Semester Test 2: Thursday
11 June, 17:30; Thursday lecture will fall away due to semester test 2)
15 Jun to 17 Jun: CH20: (HV) Social and Ethical Issues Part 2 (Sick Semester Test 1 and 2:
Wednesday 17 June (which is a Friday timetable), 09:00-12:00
Exam date still to be rescheduled by UP

NOTE: The above schedule is volatile and is subject to change without advance no-
tice. Please always make sure you follow the latest announcements on ClickUP and/or
the Computer Science website.

Semester test 1 venues: TBC (Informatoium lab)


Semester test 2 venues: Will be written on-line from home (as it stands currently on 14
April 2020 - this might be subject to change.)
Exam venues: TBC (In some computer lab)

10 Support services
Unit Services Telephone
Student Coun- Provides counselling and therapeutic sup- 012 420 2333
selling Unit port to students.
Student Health Promotes and assists students with health 012 420 5233 & 012
Services and wellness. 420 3423
The Careers Of- Provides support for UP students and grad- careerservices@
fice uates as they prepare for their careers up.ac.za 012 420
2315
Department 24-hour Operational Management Centre 012 420-2310, 012
of Security 24-hour Operational Manager cell Crisis 420-2760, 083 654
Services Line 0476, 0800 006 428
Department of Enquiries concerning studies, accommoda- 012 420 2371/4001
Student Affairs tion, food, funds, social activities and per- Roosmaryn Building,
sonal problems Hatfield campus
Centre for Sex- Identifies and provides training of student 012 420 4391
ualities, AIDS peer counsellors.
and Gender
Disability Unit Ensure an integrated and inclusive learning 012 420 2064
experience for students with disabilities
IT Helpdesk For student IT related queries 012 420 3051 stu-
[email protected]

17

You might also like