0% found this document useful (0 votes)
95 views

2020 COS 132 Studyguide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

2020 COS 132 Studyguide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Study Guide

Department of Computer Science

Imperative Programming
COS 132

Lecturers: Ms. Tayana Morkel, Dr. Patricia Lutu and Mr Pula Rammoko
Last Revision: Version 1.0 (February 6, 2020)
c Copyright reserved
Contents
1 Introduction 3
1.1 Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Educational approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Plagiarism 3

3 Administrative information 3
3.1 Online communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.1 CS website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.2 ClickUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.3 Course email address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Contact details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2.1 Lecturers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2.2 Assistant Lecturers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2.3 Tutors and teaching assistants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Grievance procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4 Timetables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4.1 Lectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4.2 Practical lab sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Study material 5
4.1 Prescribed textbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5 Module information 6
5.1 Purpose of the module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 Articulation with other modules in the programme . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Credits and notional hours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4 Module structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6 Course communication 7
6.1 Announcements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.2 Discussion board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.3 Mentor sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.4 E-mail from students to staff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.5 Mark queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

7 Assessment 8
7.1 Practical Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.2 Self-evaluating quizzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.3 Semester Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.4 Semester mark calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.5 Examination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.6 Final mark calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.7 Supplementary Examination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

8 Student support 9

9 Semester Schedule 10

2
1 Introduction
1.1 Welcome
The skill-based goal of COS132 is to introduce programming skills so that you can design and implement
solutions to software problems in the imperative programming style1 . The C++ programming language is used
as vehicle to develop these skills. If you fully assimilate the material of the course, you will have enough basic
knowledge to learn other programming languages, such as MatLab, SAS, Java and C# that you may encounter
later.

1.2 Educational approach


The value-based goal of the course is to promote software development professionalism. This is discussed
in more detail in the Forword of Tricks of the Trade for Novice Programmers Volume 1. While some might
find these value base goals a little abstract and/or idealistic, we think that it is important for students to take
careful note of them, and to continually strive to attain them. In practise, much energy during the course will be
directed at technical details such as the syntax of C++ or how to solve a particular assignment problem. You
would do well to occasionally remind yourself of the bigger picture and the broad aims of the course.

2 Plagiarism
Plagiarism is a serious form of academic misconduct. It involves both appropriating someone else’s work and
passing it off as one’s own work afterwards. Thus, you commit plagiarism when you present someone else’s
written or creative work (words, images, ideas, opinions, discoveries, artwork, music, recordings, computer-
generated work, etc.) as your own. Only hand in your own original work. Indicate precisely and accurately
when you have used information provided by someone else. Referencing must be done in accordance with a
recognised system. Indicate whether you have downloaded information from the Internet.
In programming, plagiarism includes copying someone else’s code or getting code from the Internet and
then handing it in as your own work. In this course we will be making use of an automatic plagiarism checker
to check uploaded practical assignments for plagiarism.
For more information visit www.library.up.ac.za/plagiarism/index.htm

3 Administrative information
3.1 Online communication
This course will make use of both the departmental Computer Science (CS) website as well as ClickUP.

3.1.1 CS website
This website is maintained on the web page of the Department of Computer Science. You can reach this page
by visiting the department’s website at http://www.cs.up.ac.za/, clicking the Undergraduate Portal link,
and finally clicking the COS132 link in the list. You can also reach the COS 132 module page directly, by visiting
http://www.cs.up.ac.za/courses/COS132/.
The CS website hosts the following content:

• Announcements.
• Specifications for assignments.
• Electronic submission of assignments.
• Online bookings.
• Discussion Board.

Note that you have to log in to the CS module page in order to upload assignments or make a booking. The
user-name and password for the CS module page are the same as those you use to log in to Linux, and NOT
those you use for ClickUP. The procedure for obtaining a Linux username and password will be explained in
the first COS 132 lecture.
1a programming style that describes computation in terms of statements that change a program state.

3
3.1.2 ClickUP
The ClickUP home page may be reached through the usual UP Student portal. You can reach the COS132
ClickUP page by following the COS132 link after you have logged in using the MyTUKS login at http://www.up.
ac.za/.
The ClickUP page will be used for self-evaluating quizzes, lecture slides and marks.

3.1.3 Course email address


This course has a central email address to be used for all queries. This email address is:

cos132queries@cs.up.ac.za
For any course related queries, please do not email the individual lecturers or assistants, but rather send
an email to this address.

3.2 Contact details


3.2.1 Lecturers
Name Office E-mail
Ms. Tayana Morkel (Course Coordinator) IT 4-26 tmorkel@cs.up.ac.za
Dr. Patricia Lutu IT 4-30 plutu@cs.up.ac.za
Mr. Pula Rammoko IT 4-41

3.2.2 Assistant Lecturers


Name E-mail
Emilio Singh TBA
Tari Mautsa TBA

3.2.3 Tutors and teaching assistants


The details and contact information of the tutors and teaching assistants are available on the course website.

3.3 Grievance procedures


All grievances must be submitted in writing with specifics of the incident or the nature of the complaint. It is
imperative that you follow the procedure outlined below in order to resolve your issues:

1. Consult the lecturer concerned about your grievances/concerns.


If the matter has not been resolved,
2. consult the class representative (The primary function of the Class Representative is to serve as a two-
way communication channel between the class and the lecturer).
If the matter has not been resolved,

3. consult the module co-ordinator (large modules with multiple lecturers)


If the matter has not been resolved,
4. consult the Head of Department
If the matter has still not been resolved,

5. consult with the Dean of the Faculty

3.4 Timetables
There are four lectures and one practical session per week for COS 132.

4
3.4.1 Lectures
Students may choose any four lectures and may mix attendance between different groups, as long as you
attend one of each (i.e. L1, L2, L3 and L4) of the lectures every week.
Students do not need to register for a specific lecture group nor will you be assigned to a specific group. You
may attend any group (or lectures from different groups) that fits best into your timetable.
Group 1 (E) Group 2 (E) Group 3 (E)
L1 Mo 10:30 Cent 5 Mo 13:30 IT 4-1 Mo 11:30 EMS 4-150
L2 Tu 7:30 Cent 4 Tu 12:30 Cent 2 Tu 10:30 EMS 4-150
L3 We 11:30 Cent 3 We 13:30 Cent 3 We 11:30 IT 4-4
L4 Th 13:30 Cent 2 Th 11:30 Cent 2 Th 8:30 IT 4-4
Lectures will not take place during Engineering Test Week and certain lectures will be cancelled during
weeks with public holidays to ensure that all groups receive the same number of lectures. Details on the
lecture schedule can be found at the end of this studyguide, in section 9.

3.4.2 Practical lab sessions


Students are required to attend one of the following practical lab sessions per week.
Monday Tuesday Wednesday Thursday Friday
14:30 – 17:20 07:30 – 10:20 14:30 – 17:20 14:30 – 17:20
10:30 – 13:20
You will need to book a specific practical session. Booking information and venues will be given at the start
of the semester. The schedule for the practical assignments can be found at the end of this studyguide, in
section 9.

4 Study material
4.1 Prescribed textbooks
Title: Starting Out With C++ From Control Structures through Objects
Author: Tony Gaddis
Edition: Ninth Edition - Global Edition
Publisher: Pearson
ISBN: 978-1-29-222233-2

Note that there may be other textbooks with similar titles by the same author which are NOT the same. Verify
the ISBN number to ensure that you buy the correct textbook.

Title: Tricks of the Trade for Novice Programmers Volume 1


Author: Vreda Pieterse
Edition: First Edition
Publisher: University of Pretoria
ISBN: 978-0-620-69499-5

4.2 Software
You are required to use Linux for programming with C++. You will need the following:
• Linux distribution – Ubuntu 18.04
• A desktop environment – XFCE
• A web browser – Firefox or Chromium
• A text editor – we recommend SciTE
• A compiler – GCC
This software is installed on the workstations in the computer labs. Guidelines about how to use the
software can be found in Chapter 6 of Tricks of the Trade for Novice Programmers Volume 1.
A virtual machine (VM) with all the required software installed with the same setup as in the labs has been
setup and is available at https://ftp.cs.up.ac.za/vms/ubuntu-vm.ova

5
5 Module information
5.1 Purpose of the module
In short, in COS 132 you will be taught how to program. You will be learning the basics of programming in
C++, but the foundation that you will learn will enable you to switch over to programming languages with ease.
Learning how to program is an important skill that forms the basis of many more advanced concepts, both in
Computer Science and other disciplines.

5.2 Articulation with other modules in the programme


COS 110 (Program Design Introduction)
Follows on directly from COS 132, and will assume a good working knowledge of all the topics that have
been covered throughout this course.
COS 121 (Software Modeling)
Follows on directly from COS 132, and will assume a good working knowledge of the topics that have
been covered throughout this course.
COS 122 (Operating Syst.), COS 226 (Concurrent Syst.), COS 284 (Computer Architecture)
Include COS 132 in their list of prerequisite subjects, and assume knowledge of certain aspects covered
within this course.
WST 121 (Mathematical Statistics), INF 214 (Informatics 214)
Assume knowledge of certain aspects covered within this course

5.3 Credits and notional hours


COS132 constitutes 16 module credits. This means that it is expected that the average student should devote
at least 160 hours to the module during the course of the semester. There are 15 weeks in a semester. Thus
you should spend an average of 11 hours 40 minutes per week on this module.

5.4 Module structure


The curriculum to be covered in COS 132 includes the following topics:

6
Area Study unit Topic
Programming Fundamental programming Basic syntax and semantics of C++
Fundamentals constructs Variables, types, expressions
Assignment
Simple I/O (text files)
Control structures
Functions and parameter passing
Algorithms & problem-solving Debugging strategies
Fundamental data structures Primitive types
Arrays
Records (Structs)
Strings and string processing
Advanced C++ features File Operations
Pointers

6 Course communication
There are various ways in which you can communicate with the lecturers and assistants if you need help with
the course or have general course queries.

6.1 Announcements
Announcements will appear on the CS module website. Regularly check the announcements to make sure
that you are up to date with the latest course information. The Department reserves the right to deviate from
planned schedules under unforeseen circumstances and these deviations will be communicated to you via
announcements. The announcements will probably also answer most of your course-related queries, so make
sure that you are up to date with information so that you are not later asking questions for which the answers
are already on the website.

6.2 Discussion board


The discussion board on the CS website can be used to ask questions for when you need a quick and short
reply. The discussion board can be seen by both your fellow students as well as the assistants and lecturers.
We will monitor the discussion board for inappropriate behaviour.

6.3 Mentor sessions


One-on-one mentor sessions with tutors and assistants can be conducted on demand. These sessions may be
used to discuss tests and practical assignments after they have been assessed as well as general questions
related to the content of the course. They will, however, not be used to get tips and hints on the current practical
assignment.
Mentor sessions will not be scheduled during the recess or after lectures have ended at the end of the
semester. Mentoring services are not provided on weekends or on public holidays.
The times for mentor sessions will be available on the website and you are free to go to any session for
assistance.

6.4 E-mail from students to staff


You are NOT allowed to initiate e-mail communication with lecturers or teaching assistants using their personal
e-mail addresses or their official e-mail addresses. If you would like to contact anyone regarding the course,
please send an email to cos132queries@cs.up.ac.za and the lecturers will respond to your query.

6.5 Mark queries


During the semester, cutoff dates will be given for querying marks for specific assessment opportunities.
Please adhere to these dates. No queries related to a specific assessment activity will be accepted after
the given cutoff date.

7
7 Assessment
7.1 Practical Assignments
You will be completing practical assignments in your weekly practical session. Each practical assignment
will require you to write C++ code to solve a problem/s. Your solutions will be automatically assessed when
uploaded using a system called FitchFork. You will be allowed to make multiple submissions, however, only
the last upload before the submission deadline counts towards your marks.
There will be a total of eight practical assignments throughout the semester. The best 6 out of 8 practical
assignments will contribute to your Semester Mark. This gives you the possibility of missing 2 out of 8 practicals
without a mark penalty, thus no sick practical assignments will be given.
The preliminary schedule for practicals can be found in section 9.

7.2 Self-evaluating quizzes


Self-evaluating quizzes are presented on the ClickUP page. The quizzes will be available for a week and you
will have two opportunities to complete each quiz before the deadline. The better of your two marks will count
towards your Semester Mark.
Quizzes 1 to 9 will contribute to your Semester Mark, Quiz 0 will be used as a practice quiz and will not
count for marks. The preliminary schedule for self-evaluating quizzes can be found in section 9.

7.3 Semester Tests


You will be writing two semester tests during the semester. Both these tests will be taking place in the Engi-
neering Test Weeks and will be in the form of a written test. The preliminary dates for the Semester Tests are
as follows (please consult your student portal for final dates):

Date Time Venue


14 March 17:30 - 19:30 TBA
24 April 17:30 - 19:30 TBA

Students with disabilities who need support and/or extra time should confirm special arrangements a week
before each of these tests. Send an e-mail to cos132queries@cs.up.ac.za to request arrangements.
Should you miss one of these Semester tests due to illness, you have to hand in a medical certificate at the
Computer Science reception desk within three days of the test date. Sick tests for both Semester Tests will be
arranged at the end of the semester. There will be two separate sick tests covering the scope of the original
tests and students need only write the test that they missed.

7.4 Semester mark calculation


Marks for all events will be published on the CS Website and ClickUP. Students are responsible for verifying the
correctness of these marks. Each time new marks are published, a deadline will be given for querying these
marks. Please send complaints about marks via e-mail, to cos132queries@cs.up.ac.za before the deadline.
The following table shows how each of the different aspects of your participation contributes to the semester
mark.
Activity Percentage weight
Self evaluating quizzes 10
Practical assignments 20
Semester Test 1 35
Semester Test 2 35
TOTAL 100

The mark allocation for each of these is discussed in more detail in their respective subsections.

7.5 Examination
A written exam will take place at the end of the module, during the scheduled exam period. The date and the
time of the examination can be found on the official UP exam timetable.
Exam entrance will only be given to students who received a semester mark of at least 30%. Students who
have a final Semester Mark of less than 30% will not be admitted to the exam and fails the course.

8
Please also take note of the examination rules, as provided for in the general rules and regulations of the
University of Pretoria, under section G.12.
Students with disabilities who need support and/or extra time should confirm special arrangements a week
before the exam. Send an e-mail to cos132queries@cs.up.ac.za to request arrangements.
If a student fails to write the exam due to illness, a valid sick note may be submitted to the EBIT Faculty
(Eng I level 6) within 3 working days after the exam to qualify for an aegrotat exam.

7.6 Final mark calculation


The following table shows how each of the different aspects of your participation contributes to the final mark.

Activity Percentage Weight


Semester Mark 50
Examination 50
TOTAL 100

• To pass the course, a student must obtain at least 40% in the exam, and a final mark of at least 50%
calculated as described above.

• A student will pass the course with distinction if he/she passes the course with a final mark of at least
75%.

Note: All these mark thresholds are applied strictly. The marks of students who come close to them, but do
not actually meet them will not be adjusted.

7.7 Supplementary Examination


A supplementary examination will be granted to students with a final mark between 40% and 49% inclusive.
Details about the date and venue of the supplementary examination will be provided when needed. The scope
of the supplementary exam will be the same scope as the original exam.
Note that no special arrangements are made for students who are admitted to the supplementary exam but
unable to write it. If a student fails to write, the final mark that was obtained when admitted to the supplemen-
tary, will remain unchanged.
The following regulations hold:

• To pass the course, if admitted to the supplementary exam, a student must obtain at least 50% in the
supplementary exam.
• The final mark for a student who was admitted to the supplementary exam is the mark he/she obtains in
the supplementary exam.
• A maximum of 50% final mark may be awarded.

8 Student support
The University of Pretoria supports you in various ways free of charge. For academic support contact the tutors
allocated to the module (see section 3.2.3), and/or the Faculty Student Advisor.

9
• Academic support
• Goal setting and motiva-
tion
Individual consultations
• Adjustment to university
Faculty student and workshops about
life
advisors time management and
• Test or exam preparation study methods

• Stress management
• Career exploration

• Think carefully before


dropping modules (af-
ter the closing date for
amendments or cancella-
tion of modules).
FLY@UP: The Fin- • Make responsible choices www.up.ac.za/fly@up
ish Line is Yours with your time and work email: fly@up.ac.za
consistently.
• Aim for a good semester
mark. Don’t rely on the ex-
amination to pass.

For e-learning support:


• Report a problem you experience to the Student Help Desk.
• Approach the assistants at the help desks (adjacent to the Student Computer Laboratories in IT Building,
NW2, CBT, etc).
• Visit the open labs in the Informatorium Building to report problems at the offices of the Student Help
Desk.
• Call 012 420 3837.

• Email studenthelp@up.ac.za
Safety in the evening: Green Route:
• From 18:00 till 06:00 Security Officers are available to escort you (on foot) to and from your residence or
campus anywhere east of the Hatfield campus through to the LC de Villiers terrain.

• Departure point is at the ABSA ATM next to the Merensky Library.


• Phone the Operational Management Centre if you need a Security Officer to accompany you from your
residence to campus.
For more support services see Addendum A at the end of this document.

9 Semester Schedule

10
Week Lectures presented Practical Quiz Notes
3/02 – 7/02 L1, L3, L4 None None
10/02 – 14/02 L1, L2, L3, L4 Prac 1 Quiz 0
17/02 – 21/02 L1, L2, L3, L4 Prac 2 Quiz 1
24/02 – 28/03 L1, L2, L3, L4 Prac 3 Quiz 2
2/03 – 6/03 L1, L2, L3, L4 Prac 4 Quiz 3
9/03 – 13/03 No lectures None None Eng test week
14/03 Semester Test 1
16/03 – 20/03 L1, L2, L3, L4 Prac 5 Quiz 4
23/03 – 27/03 No lectures None None Recess
30/03 – 3/04 L3, L4 Prac 6 Quiz 5 30/03 & 31/03 - Recess
6/04 – 10/04 L1, L2, L3, L4 Prac 6 Quiz 5 10/04 Public Holiday
13/04 – 17/04 L2, L3, L4 Prac 7 Quiz 6 13/04 Public Holiday
20/04 – 24/04 No lectures Prac 7 None Eng test week
24/04 Semester Test 2
27/04 – 1/05 L1, L2 Prac 7 None 27/04 Public Holiday
29/04 Monday timetable
30/04 Friday timetable
1/05 Public holiday
4/05 – 8/05 L1, L2, L3, L4 Prac 8 Quiz 7
11/05 – 15/05 L1, L2, L3, L4 Prac 8 Quiz 8
18/05 – 22/05 L1, L2, L3, L4 None Quiz 9
25/05 None None None 25/05 Lectures end

11
9 Addendum A: Support services
Please download a QR code reader on your cell phone. To download a QR code reader open your
mobile app store (App Store, Google Play or Windows Marketplace) and search for QR code readers.

Student
Provides counselling and therapeutic
Counselling 012 420 2333
support to students.
Unit

Student Health Promotes and assists students with 012 420 5233
Services health and wellness. 012 420 3423

Provides support for UP students and


The Careers careerservices@up.ac.za
graduates as they prepare for their
Office 012 420 2315
careers.

24-hour Operational Management 012 420-2310


Department of Centre 012 420-2760
Security
Services 24-hour Operational Manager cell 083 654 0476
Crisis Line 0800 006 428

Enquiries concerning studies, 012 420 2371/4001


Department of
accommodation, food, funds, social Roosmaryn Building,
Student Affairs
activities and personal problems. Hatfield campus

Centre for
Sexualities, Identifies and provides training of
012 420 4391
AIDS and student peer counsellors.
Gender

Ensure an integrated and inclusive


Disability Unit learning experience for students with 012 420 2064
disabilities.

Fees and http://www.up.ac.za/enquiry


012 420 3111
funding www.up.ac.za/fees-and-funding

012 420 3051


IT Helpdesk For student IT related queries studenthelp@up.ac.za

12

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy