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

csc1015f 2024 Notes-V1-1

Computer science

Uploaded by

nzamathobeka756
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
94 views

csc1015f 2024 Notes-V1-1

Computer science

Uploaded by

nzamathobeka756
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Computer Science 1015F ~ 2024 ~ Notes to Students

Course Description
Computer Science 1015F and 1016S together constitute a complete Computer Science
curriculum for first year students, offering an introduction to the development of algorithms
and design of computer programs, along with other selected topics in Computer Science.
CSC1015F is offered in the first semester and CSC1016S is offered in the second semester.
The course is offered in a blended learning format. Student contact time is in a single face-to-face lecture per
week as well as a practical session aimed at reinforcing the principles introduced in the online lectures and
giving students time to do exercises under the supervision of tutors.

Prerequisites
Mathematics at NSC level 6 or better (70%).
No prior knowledge of computer programming is necessary!

Staff
Course Convener: Aslam Safla [email protected]
Lecturers: Prof. James Gain [email protected]
Aslam Safla [email protected]
Victoria Chuma [email protected]
Du Toit Spies [email protected]
Lucas Carr [email protected]

Teaching Assistants (TAs): Herman Kandjimi [email protected]


Fatsani Phiri [email protected]

Tutors: (will be announced on Amathuba)

Tentative Schedule of Lectures and Practical Work

Page 1
Textbook and Notes
There is no prescribed textbook. There is a departmental Python book that is structured
roughly in order of the lectures' schedule of topics (see further below), available from:
http://www.cs.uct.ac.za/mit_notes/Python/
If you like hard copy books, then the following one is highly recommended:
Python Programming: An Introduction to Computer Science (second or third edition) by
John Zelle, Franklin, Beedle and Associates, Inc.,
Class notes (copies of slides) may be available for selected sections and announced by the
relevant lecturer(s). Electronic copies of lecture slides will be made available on Amathuba.

Amathuba
Amathuba (http://amathuba.uct.ac.za) is the university-wide online learning management
system that gives you access to resources to assist in the learning process. The class website
for all courses will be located on the Amathuba system.
Lecturers, TAs and tutors may be consulted through Amathuba – this is preferable since any
questions that are answered may benefit other students as well. Amathuba is used for the
submission of ALL practical assignments and practical tests and for providing students with
marks for assignments and tests, and feedback where appropriate. All students will be
expected to consult the website on a daily (Monday-Friday) basis for updates on lecture
material, assignments, marks, hints, deadlines, etc.

Refrain from posting anything of the following nature anywhere on the website, as it may
violate the university’s Appropriate Use of Computer Facilities policy (see ICTS website),
necessitating disciplinary and/or legal proceedings: sexist, racist or otherwise discriminatory
comments, flame wars, trolling; segments of program code (other than something provided by
the instructor); solutions to graded work (or part thereof) before or after submission; or illegal
material.

Lectures
Lectures are held in the following venues:
Venue
Period 4: M304
Period 5: M304
Lectures are held from Monday-Friday every week. You should attend one of these lecture
sessions per week (see Groups on Amathuba to signup for your session).

Continuity of Teaching
If lectures are disrupted and / or access to campus is restricted, teaching and learning will continue
online, with live online lectures via MS Teams. All lectures will be recorded as well.
The course convener will make announcements about changes to the mode or timing of any
activities associated with the course (lectures, practicals, tests, ect.). Students without Internet
access at home should take note of eduroam locations (https://eduroam.ac.za/) and other places
where free wifi is available.
Page 2
Hotseat
The Computer Science HotSeat is run by senior tutors who can assist you to understand
difficult concepts or work through problems you have encountered during lectures,
assignments or tests. The HotSeat tutor is available on level 2A in CS2A.2 in the Computer
Science building (the mentor room next to the Senior lab). A schedule of available times will
be posted on Amathuba once finalised.

Tests
There will be 2 closed-book 40 minute theory tests. Each test will run in two or three sessions;
venue to be confirmed.
Test 1: Monday, 11 March, 11am – 1pm (2 sessions, details will follow)
Test 2: Monday, 29 April , 6pm (details will follow)

There will be 3 open-book 40 minute practical tests as part of the laboratory sessions. Each
practical test will be offered 2 times; you may write one or both of them (so, only once a
week) and the maximum mark obtained will be used for each test. You have to do the test in
the practical session you signed up for.
See the schedule for detailed test dates. These tests contribute to your DP mark and your final
mark.

Practical Sessions
Practical sessions are held either in one of the Scilabs or in a lecture room. You must attend
one 2-hour session each week, where you may work on the current practical assignment and
discuss any general issues related to practical work with the tutors who are available. Students
can complete a weekly quiz during these sessions, and students write a practical test (as
described above) if one is scheduled for that week.
It is your responsibility to ensure that you choose a practical session (on Amathuba) that fits
in with your timetable. If you discover that all slots that suit you best are full already, it is
your responsibility to find a student with whom you can arrange a swap as soon as possible.

Questions and Submission


All questions for assignments, along with all related files, will be available on the class
website on Amathuba. Practical assignments must be submitted electronically via Amathuba
ONLY. The online submission system used to receive your assignments will provide the
official timestamp used to determine whether a program is on time. Marks will be deducted
automatically for automatically-marked assignments that are submitted late.

Marking
Most assignments will be marked automatically based on test cases and the marks will be
uploaded to Amathuba. Tutors will mark randomly-chosen practical assignments during the
semester.

Equipment and Programming Language


All programming will be done in Python v3 unless otherwise stated.
It is the responsibility of the student to submit a program that will successfully execute on the
specified platform. Any student who works on their own equipment must ensure that all

Page 3
assignments will execute on the university equipment before submission – no discussion will
be entered into after submission.
Computing facilities are available for use in the Scilabs that are located in the Computer
Science building (Scilab A and B), RW James (Scilab C) and P D Hahn (Scilab D).
It is ALWAYS the student’s responsibility to ensure that adequate backup copies are made of
all work in progress and all work already completed. Loss of data or programs is not an
acceptable excuse for non-submission or late submission of assignments.

Attendance, Exemptions, Extensions for Practical Work


Exemption and extensions of deadlines for practicals and tutorials will only be considered on
medical or compassionate grounds. You must send an email to the course convenor explaining
the circumstances around the request. Make sure that your full name, student number, course
code and the reason for your request are clearly indicated in the email. Medical grounds must
be supported by a valid medical certificate - see below.
Compassionate grounds will normally require a letter of support. See the course convenor
regarding compassionate grounds. Do this before the deadline in question, or if that is not
possible, immediately on your return to UCT. It is vital to do this immediately as late
applications after the deadlines have passed will not be considered. The lecturers, TA and
tutors cannot grant extensions and exemptions - do not ask them.

Plagiarism
Refer to the document in Assignment 1 for the departmental plagiarism policy. This policy
will be strictly enforced.
All assignments, tests and examinations are done individually – there is NO group work
allowed in this course. It is acceptable to discuss the questions for assignments with peers but
not the specific details of the solutions, nor engage in “pair programming”. When in doubt,
speak to a tutor or TA.
Students are required to sign and submit a form (on the last page) verifying that they have
read and understood the contents of this policy before commencing any form of assessed
work.
There will be randomised code plagiarism checking.

DP Requirement
A student is granted DP status (and therewith may write the exam) in CSC1015F if the
following conditions are met:
• (3/5 * Assignment average + 2/5 * Practical test average ) >= 45%
• Practical test average >= 45%

Final Examination
The examination timetable will be published sufficiently in advance of the final examination
on university notice boards. It is the student’s responsibility to take note of the correct time
and place for the examinations.
All examinations will be cumulative, closed-book and closed-notes (i.e., you may not bring
your notes or textbooks into the examination room), and 2 hours in duration.
A final mark in CSC1015F will be calculated as follows:

Page 4
Final = 0.10 * Assignment average + 0.15 * Test average+ 0.15 * Practical test average +
0.60 * Exam
In order to pass, ALL of the following requirements MUST be met:
• Final >= 50%
• (3/5 * Assignment average + 2/5 * Practical test average ) >= 45%
• (1/5 * Test average + 4/5 * Exam) >= 45%
All students who pass CSC1015F are eligible to continue with CSC1016S.

Supplementary Examinations
Students who do not pass but obtain a mark of 45-49 may be awarded a supplementary
examination; this is indicated either with xS (with 45 <= x <= 49) or OSS ['failed theory
subminimum'] in PeopleSoft. These are written in July, usually in the week before the 2nd
semester commences. An Amathuba announcement will be made regarding the exact time
and date of the supplementary exam.
The final mark will be calculated as above, but then with the supplementary exam mark. The
system then converts this into a “UP” unqualified pass or “UF” unqualified fail if you had a
plain supp and into the 'June grade' if you had an OSS with the June exam.
Note that there are no other examination opportunities for this course. Please note that
deferred exams do not allow the option of a subsequent supplementary exam: if you fail a
deferred exam, you have failed the course.

Grade Allocation

1 = 75-100; 2+ = 70-74; 2- = 60-69; 3 = 50-59; F = 0-49.

Information Dissemination and Communication

Medical Notes and Short Leave


All students are expected to do all assigned work. If a student falls ill, they must submit a
medical certificate to the course convenor as soon as possible.
A valid medical certificate must be signed by a qualified medical doctor and clearly state the
days on which you were medically unfit to work. Please submit the original medical
certificate to Ms T Jenneker (Room 317) and email the course convenor noting that you have
submitted a medical certificate. If you are unable to deliver the medical in person, you may
email a scanned version to [email protected] . Once you are able to do so, you must
hand in the original as instructed above.

In other/exceptional circumstances, where a student would like to be away from their studies
for a short and defined period of time, the Short Leave Application form (under Amathuba
resources) must be filled out and submitted to the course convenor for recommendation and
HoD for approval.

Page 5
Appeals Procedure
If a student feels that their marks are incorrect for any piece of marked work, they must first
approach the tutor or TA responsible for that test or assignment. Then, if need be, they may
appeal to the course convenor. Finally, they may appeal to the HoD.

Queries
Any queries about the content of the lectures MUST be directed to your face-to-face lecturer.
Any queries about marks or marking of practical assignments must be directed to your tutor
or TA.
All marked work (whether in paper or electronic format) must be kept until the end of the
semester. In general, queries about marks MUST be made within a week of marked work
being returned. No queries about any marks will be entertained after the final examination.
Any queries about the administration of the course must be directed to the TA.
The course convener must ONLY be contacted as a last resort, unless otherwise indicated.

Disability
If any student needs special accommodation because of a disability, please contact the course
convener during the first week of classes.

Syllabus
Corresponding chapter numbers in the recommended textbook are indicated in parentheses.
 Introduction to Computer Science (Ch. 1): What is Computer Science, Applications of Computing, History of
Computing, Computer Hardware (Machine Architecture), Computer Software (System Software, Applications), Algorithms,
Programming Languages
 Introduction to Python Syntax (Ch. 2.1-2.5; 3): Basic syntax, variables, operators, comments, expressions, output
 Conditionals (Ch. 7): Boolean expressions and logical conditions, If statements, nested ifs, if-else, if ladders,
 Loops (Ch. 8): for, while, nested loops
 Strings and Input (Ch. 5)
 Functions (Ch. 6): parameters, return values
 Testing: debugging, equivalence classes
 Arrays (Ch. 5; 11): lists, dictionaries, sets, multi-dimensional arrays
 Recursion (Ch. 13.2)
 Sorting and Searching (Ch. 13.1; 13.3)
 File I/O (Ch. 5.9): text files, exceptions
 Number Systems: Machine representations of data, Binary operations, Boolean algebra

Science Extended Degree Programme


The Computer Science Department runs academic development courses – CSC1010H and
CSC1011H – that are part of the Extended Degree Programme in Science (EDP). CSC1010H
runs over approximately an entire year and covers the syllabus of CSC1015F at a somewhat
slower pace and in greater depth. In the first semester of the following year of study,
CSC1011H covers additional material to assist students in their transition to CSC1016S,
which forms the second semester module of CSC1011H. Note that each of these EDP courses
counts only as a half credit.
Students who do not perform adequately in the first test in CSC1015F will be invited to join
CSC1010H at the beginning of the second quarter, on condition that the student has a good
record of submitting practical assignments and there is sufficient space in the CSC1010H
course. Any student who feels that they may benefit by joining CSC1010H should consult
Aslam Safla (Course convener) or Gary Steward (EDP Coordinator) before the end of the first
quarter.

Page 6

You might also like