- Information
- AI Chat
Csc1015f 2016 notes - Plagarism Policy Acceptance form with a guideline of course.
Computer science1015 (CSC1015F)
University of Cape Town
Recommended for you
Preview text
Computer Science 1015F ~ 2016 ~ 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.
Prerequisites
Mathematics at NSC level 6 or better (70%). No prior knowledge of computer programming is necessary!
Staff
Course Convener: Dr. Maria Keet mkeet@cs.uct.ac Lecturers: A/Prof. Michelle Kuttel mkuttel@cs.uct.ac A/Prof. Hussein Suleman hussein@cs.uct.ac A/Prof. James Gain jgain@cs.uct.ac Dr. Brian DeRenzi bderenzi@cs.uct.ac Teaching Assistants (TAs): Yamiko Msosa yamikom@gmail Pacome Ambassa pambassa@cs.uct.ac Ngoni Choga Ngoni@alumni.uct.ac
Tutors: (will be announced on Vula)
Tentative Schedule of Lectures and Practical Work
The numbers indicate the corresponding chapter of the recommended textbook.
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 below), available from: cs.uct.ac/mit_notes/Python/ If you like hard copy books, then the following one is highly recommended:
Python Programming: An Introduction to Computer Science (second edition) by John Zelle, Franklin, Beedle and Associates, Inc. , ISBN: 9781590282410
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 Vula.
Vula
Vula (vula.uct.ac) 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 Vula system. Lecturers, TAs and tutors may be consulted through Vula – this is preferable since any questions that are answered may benefit other students as well. Vula 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 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
For logistical reasons, there are two parallel 'streams' of lectures in the semester. Stream I will be taught by A/Profs Suleman and Kuttel successively, and Stream II will be taught by A/Prof. Gain and Dr. DeRenzi, also successively. They will cover the same material. You are strongly encouraged to stick to the stream you signed up for during registration. Lectures are held in two parallel sessions, being twice in the 4th period and twice in the 5 th period.
- Stream I: 4th period (11h00-11h45) in venue NSLT. 5th period (12h00-12h45) in venue CS2A. Monday-Thursday every week and on some Fridays.
- Stream II: 4th period (11h00-11h45) in venue CS2A. 5th period (12h00-12h45) in venue ALEX LT1A (HUM LT1). Monday-Thursday every week and on some Fridays.
We expect the venues for the 4th period to change in the first week of the semester. Please check announcements at least twice daily.
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 the ground level opposite the Sci Labs at the other end of the hallway in the CS Building. A schedule of available times will be posted on vula once finalised.
Tests
There will be 3 closed-book 40 minute theory tests. Venues and dates/times will be confirmed in class. There will be 3 open-book 40 minute practical tests in the Scilabs as part of the laboratory sessions. Each practical test will be offered 2 times – you may write one or both of them 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.
Laboratory Sessions
Laboratory sessions are held in Scilab A/B (Computer Science building, ground floor) and Scilab C (RW James building) on Monday, Tuesday, Wednesday, and Thursday afternoons (2-4pm and 4-6pm) every week, except for March 8 and 9 where the students signed up for Scilab C will have to go to Scilab D (PD Hahn building). You may 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. Attendance at these sessions is optional. However, in the first hour of a session, students will write a practical test (as described above) if one is scheduled for that week.
(3/5 * Practical 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, as are those students who are granted a supplementary exam.
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 x S (with 45 <= x <= 49) or OSS ['failed theory subminimum'] in PeopleSoft. These are written in January and the exams office will contact those eligible for it, including 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. Please also note the following (short version of some of the handbook rules): there is no supp on a supp exam, no deferring a supp exam, no supp on a deferred exam, and no deferring a deferred exam.
Grade Allocation
1 = 75-100; 2+ = 70-74; 2- = 60-69; 3 = 50-59; F = 0-49.
Information Dissemination and Communication
Attendance and Absence
This is a lecture course. While attendance at lectures is not mandatory after the first day, all marked work (assignments, tests, and exams) will be based on the lectures. Obviously, non-attendance at tests and exams will result in a mark of 0 (zero). ALL students will be expected to complete ALL assigned work. If you miss ANY assigned work with a legitimate reason, send an email to the course convener within a week or as soon as possible thereafter. Note that there are few legitimate reasons that will be accepted – these include hospitalization or illness – and a medical certificate from a qualified medical practitioner is typically required. Such medical certificates must be delivered to the departmental secretary.
Queries
Any queries about the content of the lectures MUST be directed to the lecturer teaching that section. 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; 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) Sorting and Searching (Ch. 13; 13) File I/O (Ch. 5): 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 Maria Keet (Course convener) or Gary Stewart (EDP Coordinator) before the end of the first quarter.
Extra Problems: the CSC1015 Challenge
This course is about problem solving, but for some of you, the exercises and assignment problems may be not enough, be this because you already may know how to program or you had rather seen more real-life problems that can be solved using a computer. Therefore, we have decided to add a challenge. This is not for marks, but you can gain (small) prizes with it. It is also good practice for the IT Challenge team programming contest. You should only attempt this after you've successfully completed all your homework and assignments and tests. Note also that tutors will not assist you in solving the problem.
The setting and rules are as follows.
- There are 12 problems to solve, which are of varying level of difficulty. The points you can score is an indication of difficulty and/or amount of code needed for the solution (more points = harder or more work). The topics of the problems range form a few problems for fun (lazily unpacking your belongings in res) to realistic ones (e., smart homes with user-mediated electricity 'load balancing', calculating the level of social unrest).
- The programming techniques you will need to implement the solution are to a greater or lesser extent covered in the course (arrays, if-else etc.). The skills and techniques needed to solve the problems match the order of the course's syllabus for at least several problems, but not all.
- As with assignments and prac tests, the automatic marker will be used. However, the only information in the report is “wrong answer” or “accepted”; that is, unlike with the assignments, you do not get to see the test cases. The marking is an all-or-nothing: either all test cases complete successfully and you will get the points, or not and have one penalty point deducted.
- The system only accepts solutions written in Python.
- It is not a weekly race against the clock, but a final deadline there is: you have until May 17 to submit solutions. The release dates of successive sets of questions are: March 7, March 21, April 11, and April 25.
- There will be essentially 3 scoreboards, merged into one in the leaderboard interface: 1) general leaderboard based on points accumulated having solved one or more problems, 2) a first-to-solve-the-problem scoreboard (colour-coded in green), and 3) a first new student to solve a problem scoreboard (colour-coded maroon). On the latter, e., Joe Soap is the first to solve Problems A, B, and C, in that order, then that will appear as such in the scoreboard in green. Then Joanne Soap solves Problem C, which causes the scoreboard to update with a maroon-solved. Other solved problems will have a blue colour. Any other solved problem is colour-coded with blue. When a potential solution is submitted but was not fully right yet, then it will turn up as a pink box.
- To keep some suspense, the scoreboard updates occur only once a day.
- The tutors will not help you solve these problems.
- Besides the honour to be on the scoreboards, there is a small prize for each first new student to solve a problem, and less small prizes at the end for the top-5 of the general leaderboard.
Finally, this is experimental. The Challenge will run on a separate vula site.
Csc1015f 2016 notes - Plagarism Policy Acceptance form with a guideline of course.
Course: Computer science1015 (CSC1015F)
University: University of Cape Town
- Discover more from: