Professor and Head of Department A Terzoli, Laurea in Physics (Univ of Pavia) Professor
GC Wells, MSc (Rhodes), PhD (Bristol), MICS, MACMAssociate Professors
KL Bradshaw, MSc (Rhodes), PhD (Cantab), MACM P Machanick, BSc (Natal), MSc (Wits), PhD (UCT), MACM, MIEEE
Vacant Senior Lecturers J Connan, MSc (Stell)
N Dlodlo, MSc(Leningrad Eng. and Econ. Institute), PhD(LIMU)
YM Motara, MSc (Rhodes), PhD (Rhodes) Lecturers
D.Brown, MSc (UWC), PhD (Rhodes) A Herbert, MSc (Rhodes)
Emeritus Professors
PD Terry, MSc (Rhodes), PhD (Cantab), FICS, MACM
EP Wentworth, PhD (UPE), FICS, MCSSA, MACMEmeritus Associate Professor
RJ Foss, BSc (Natal), MSc (UNISA), PhD (Rhodes), MACM
Computer Science (CSC) is a six-semester subject which may be taken as a major subject for the degrees of BSc, BSc(InfSys), BCom, BJourn, BA and BEcon.
To major in Computer Science, a candidate is required to obtain credit in the following courses:
CSC 1; CSC 2; CSC 3; one ofMAT1C1(or MAT1C), MAT 1S, STA101, STA102, STA 1D. See Rule S.23.
Candidates who aim to major in Computer Science are advised to register for the ancillary course in Mathematics or Statistics in their first or second year of study; permission will not normally be granted to repeat a prerequisite course concurrently with CSC 301 and CSC 302.
The attention of students who hope to pursue careers in the fields of Computing and Information Systems in general is drawn to the degree of BSc (Information Systems), in which Computer Science and Information Systems are the usual major subjects, supported by other appropriate courses from the Faculties of Science and Commerce.
The courses offered in Computer Science concentrate on the technology, engineering, project management and professional topics of computing, such as programming and application development, algorithm and system design, software engineering, operating systems and real-time computing, graphics, multimedia, artificial intelligence, networks and distributed computing, telecommunications and the Internet, and formal computer science theory.
Management and organisational aspects of computing are handled more specifically in courses offered by the Department of Information Systems, and aspects such as computer and digital electronics and hardware are complemented by courses offered in the Department of Physics and Electronics. In all courses students are required to perform practical work on the computer, the marks of which might count towards the final assessment. See the Departmental Web Page http://www.ru.ac.
za/computerscience for further details, particularly on the contents of courses.
FIRST-YEAR LEVEL COURSES IN COMPUTER SCIENCE
There are four first-year courses in Computer Science, each contributing a semester-course towards a degree.
CSC 101 is offered in the first semester only, and leads on to CSC 102 in the second semester. This is the conventional first year combination, which prepares students for further study in the subject.
Each course may be obtained separately and, in addition, an aggregate mark of at least 50% will be deemed to be equivalent to a year-course CSC 1, provided that a candidate obtains the required subminimum in each component. However, students who wish to major in Computer Science must obtain both CSC 101 and CSC 102. Students admitted to the Science, Commerce or Humanities Extended Studies Programmes, or who have little or no experience of computers, are required at the discretion of the Dean and Head of Department to complete a Computer Skills course in the Extended Studies Unit before registering for CSC 101.
CSC 1L1 (Introduction to ICT) is offered in the first semester, and is intended as a terminal course.
176
ACADEMIC DEPARTMENTS: COMPUTER SCIENCE CSC 112 is offered in the second semester and is the
prerequisite for Information Systems 201.
A candidate is not allowed to obtain CSC 1L1and CSC 1S, offered by the CHERTL.
A candidate may also not obtain CSC 101 and CSC 1L1.
CSC 1L1: Introduction to ICT
First-year, first-semester course (15 credits at NQF level 5)
Entrance requirements:None
Course description:CSC 1L1 is intended as a non- continuing course for students who require computing principles and skills to support their activities in other disciplines. Topics include an introduction to the fundamental concepts and applications of hardware, computing environments, editing and word processing, publishing and presentations, spreadsheets, other software packages, networks, the Internet, and social issues. Practical submissions and class tests collectively contribute to the class mark, which forms part of the final mark.
DP requirements:40% test average and 50%
practical average
Assessment:Class record 25%, Examinations 75%
Supplementary exam:35%
CSC 112: Business Problem Solving with Computers
First-year, second-semester course (15 credits at NQF level 5)
Entrance requirements:None
Course description:CSC 112 is the first course for students who intend to continue to INF 201, and is offered in the second semester. The course introduces students to a modern computing environment, and teaches skills that enable the application of computers to typical business problems. These skills include internet-based skills for web page creation and knowledge discovery, as well as problem solving and knowledge retrieval skills using tools such as spreadsheets. Business problem solving and IS Theory are introduced, and contextualised by an overview of the place of IT in a typical organization.
DP requirements: 40% test average and 40%
practical average
Assessment:Class record 25%, Examinations 75%
Supplementary exam:35%
CSC101: Problem Solving and Introductory Programming
First-year, first-semester course (15 credits at NQF level 5)
Entrance requirements:None
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, STA 1S1, MST 102, STA 1C2
Course description: This course presents basic problem-solving techniques with an emphasis on logical, algorithmic and computational processes, using the Python programming language. Students are introduced to programming concepts, including:
output, input, variables, types, operators and operands, debugging, iteration, modules, functions, selection, strings, lists and files.
DP requirements:40% test average and 40%
practical average
Assessment:Class record 20%, Examinations 80%
Supplementary exam:40%
Subminimum for June:40% to aggregate with CSC 102
CSC102: Intermediate Programming
First-year, second-semester course (15 credits at NQF level 5)
Entrance requirements: 40% CSC 101 in same calendar year or CSC 101
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, STA 1S1, MST 102, STA 1D
Course description:This course further develops programming skills, and deals with algorithms, object-oriented principles and practices, the software development life cycle, and more advanced language features, in the scope of the Java programming language.
DP requirements:40% test average and 40%
practical average
Assessment:Class record 20%, Examinations 80%
Supplementary exam:40%
Subminimum for November: 40% to aggregate with CSC 101
SECOND-YEAR LEVEL COURSES IN COMPUTER SCIENCE
There are two second-year courses in Computer Science. CSC 201 is held in the first semester and CSC 202 in the second semester. Each course may be obtained separately and, in addition, an aggregate mark of at least 50% will be deemed to be equivalent to a year-course CSC 2, provided that a candidate
176
ACADEMIC DEPARTMENTS: COMPUTER SCIENCE CSC 112 is offered in the second semester and is the
prerequisite for Information Systems 201.
A candidate is not allowed to obtain CSC 1L1and CSC 1S, offered by the CHERTL.
A candidate may also not obtain CSC 101 and CSC 1L1.
CSC 1L1: Introduction to ICT
First-year, first-semester course (15 credits at NQF level 5)
Entrance requirements:None
Course description:CSC 1L1 is intended as a non- continuing course for students who require computing principles and skills to support their activities in other disciplines. Topics include an introduction to the fundamental concepts and applications of hardware, computing environments, editing and word processing, publishing and presentations, spreadsheets, other software packages, networks, the Internet, and social issues. Practical submissions and class tests collectively contribute to the class mark, which forms part of the final mark.
DP requirements:40% test average and 50%
practical average
Assessment:Class record 25%, Examinations 75%
Supplementary exam:35%
CSC 112: Business Problem Solving with Computers
First-year, second-semester course (15 credits at NQF level 5)
Entrance requirements:None
Course description:CSC 112 is the first course for students who intend to continue to INF 201, and is offered in the second semester. The course introduces students to a modern computing environment, and teaches skills that enable the application of computers to typical business problems. These skills include internet-based skills for web page creation and knowledge discovery, as well as problem solving and knowledge retrieval skills using tools such as spreadsheets. Business problem solving and IS Theory are introduced, and contextualised by an overview of the place of IT in a typical organization.
DP requirements: 40% test average and 40%
practical average
Assessment:Class record 25%, Examinations 75%
Supplementary exam:35%
CSC101: Problem Solving and Introductory Programming
First-year, first-semester course (15 credits at NQF level 5)
Entrance requirements:None
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, STA 1S1, MST 102, STA 1C2
Course description: This course presents basic problem-solving techniques with an emphasis on logical, algorithmic and computational processes, using the Python programming language. Students are introduced to programming concepts, including:
output, input, variables, types, operators and operands, debugging, iteration, modules, functions, selection, strings, lists and files.
DP requirements:40% test average and 40%
practical average
Assessment:Class record 20%, Examinations 80%
Supplementary exam:40%
Subminimum for June:40% to aggregate with CSC 102
CSC102: Intermediate Programming
First-year, second-semester course (15 credits at NQF level 5)
Entrance requirements: 40% CSC 101 in same calendar year or CSC 101
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, STA 1S1, MST 102, STA 1D
Course description:This course further develops programming skills, and deals with algorithms, object-oriented principles and practices, the software development life cycle, and more advanced language features, in the scope of the Java programming language.
DP requirements:40% test average and 40%
practical average
Assessment:Class record 20%, Examinations 80%
Supplementary exam:40%
Subminimum for November: 40% to aggregate with CSC 101
SECOND-YEAR LEVEL COURSES IN COMPUTER SCIENCE
There are two second-year courses in Computer Science. CSC 201 is held in the first semester and CSC 202 in the second semester. Each course may be obtained separately and, in addition, an aggregate mark of at least 50% will be deemed to be equivalent to a year-course CSC 2, provided that a candidate
177 ACADEMIC DEPARTMENTS: COMPUTER SCIENCE
CSC 112 is offered in the second semester and is the prerequisite for Information Systems 201.
A candidate is not allowed to obtain CSC 1L1and CSC 1S, offered by the CHERTL.
A candidate may also not obtain CSC 101 and CSC 1L1.
CSC 1L1: Introduction to ICT
First-year, first-semester course (15 credits at NQF level 5)
Entrance requirements:None
Course description:CSC 1L1 is intended as a non- continuing course for students who require computing principles and skills to support their activities in other disciplines. Topics include an introduction to the fundamental concepts and applications of hardware, computing environments, editing and word processing, publishing and presentations, spreadsheets, other software packages, networks, the Internet, and social issues. Practical submissions and class tests collectively contribute to the class mark, which forms part of the final mark.
DP requirements:40% test average and 50%
practical average
Assessment:Class record 25%, Examinations 75%
Supplementary exam:35%
CSC 112: Business Problem Solving with Computers
First-year, second-semester course (15 credits at NQF level 5)
Entrance requirements:None
Course description:CSC 112 is the first course for students who intend to continue to INF 201, and is offered in the second semester. The course introduces students to a modern computing environment, and teaches skills that enable the application of computers to typical business problems. These skills include internet-based skills for web page creation and knowledge discovery, as well as problem solving and knowledge retrieval skills using tools such as spreadsheets. Business problem solving and IS Theory are introduced, and contextualised by an overview of the place of IT in a typical organization.
DP requirements: 40% test average and 40%
practical average
Assessment:Class record 25%, Examinations 75%
Supplementary exam:35%
CSC101: Problem Solving and Introductory Programming
First-year, first-semester course (15 credits at NQF level 5)
Entrance requirements:None
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, STA 1S1, MST 102, STA 1C2
Course description: This course presents basic problem-solving techniques with an emphasis on logical, algorithmic and computational processes, using the Python programming language. Students are introduced to programming concepts, including:
output, input, variables, types, operators and operands, debugging, iteration, modules, functions, selection, strings, lists and files.
DP requirements:40% test average and 40%
practical average
Assessment:Class record 20%, Examinations 80%
Supplementary exam:40%
Subminimum for June:40% to aggregate with CSC 102
CSC102: Intermediate Programming
First-year, second-semester course (15 credits at NQF level 5)
Entrance requirements: 40% CSC 101 in same calendar year or CSC 101
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, STA 1S1, MST 102, STA 1D
Course description:This course further develops programming skills, and deals with algorithms, object-oriented principles and practices, the software development life cycle, and more advanced language features, in the scope of the Java programming language.
DP requirements:40% test average and 40%
practical average
Assessment:Class record 20%, Examinations 80%
Supplementary exam:40%
Subminimum for November: 40% to aggregate with CSC 101
SECOND-YEAR LEVEL COURSES IN COMPUTER SCIENCE
There are two second-year courses in Computer Science. CSC 201 is held in the first semester and CSC 202 in the second semester. Each course may be obtained separately and, in addition, an aggregate mark of at least 50% will be deemed to be equivalent to a year-course CSC 2, provided that a candidate
ACADEMIC DEPARTMENTS: COMPUTER SCIENCE obtains the required sub-minimum in each
component. Practical submissions and class tests collectively comprise the class mark, which forms part of the final mark.
Computer Science 1 (CSC 101 and CSC 102) is required before a student may register for second year courses. Adequate performance in CSC 201 is required before a student may register for CSC 202.
The second year of Computer Science is devoted to foundational computing and system design concepts.
CSC 201
Second-year, first-semester course (20 credits at NQF level 6)
Entrance requirements:CSC 101 and CSC 102 Course description:Machine organization and low- level programming; advanced data structures and data abstraction; object-oriented principles; advanced programming concepts. The practical work covers low and high-level imperative programming and design principles.
DP requirements:30% test average and 40%
practical average
Assessment:Class record 33%, Examinations 67%
Supplementary exam:Not offered
Subminimum for June:40% to aggregate with CSC 202
CSC 202
Second-year, second-semester course (20 credits at NQF level 6)
Entrance requirements:40% CSC 201 Theoretical foundations of computing; database theory and query languages; the theory and practice of operating systems. The practical work covers the use of software engineering techniques, operating systems, and database design and query.
DP requirements:30% test average and 40%
practical average
Assessment:Class record 33%, Examinations 67%
Supplementary exam:Not offered
Subminimum for November: 40% to aggregate with CSC 201
Third-year level courses in Computer Science There are three third-year courses in Computer Science.
CSC 302 and CSC 303 (not offered in 2020) are normally held in the first semester and CSC 301 in the second semester, but the department reserves the
right to offer them in either semester, according to timetable constraints. Each course may be obtained separately and, in addition, anaggregate mark of at least 50% for CSC 301 and CSC 302 will be deemed to be equivalent to a year-course CSC 3, provided that a candidate obtains the required sub- minimum in each component.
A major in Computer Science requires both CSC 301 and CSC 302, or an aggregate course for CSC3.
Practical submissions and class tests collectively comprise the class mark, which forms part of the final mark.
Credit in Computer Science (CSC 2) and in one of MAT 1C1 (or MAT 1C), MAT 1S, STA 101, STA 102, or STA 1D is required before a student may register for CSC 301 or CSC 302. Credit in CSC 201 is required before a student may register for CSC 303.
The student should also be in his/her third year of study.
THIRD-YEAR LEVEL COURSES IN COMPUTER SCIENCE
The third-year of Computer Science is devoted to systems programming and systems analysis and digital lifestyle technologies.
CSC 301
Third-year, second-semester course (30 credits at NQF level 7)
Entrance requirements:CSC 2
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, MST 102, STA 1S1, STA 1C2
Course description:Web and internet technologies;
theory and implementation of computer languages.
Practical work reinforces these aspects of application development and systems programming.
DP requirements:30% test average and 40%
practical average
Assessment:Class record 33%, Examinations 67%
Supplementary exam:Not offered
Subminimum: 40% to aggregate with CSC 302 CSC 302
Third-year, first-semester course (30 credits at NQF level 7)
Entrance requirements:CSC 2
Co-requisite: One of MAM 101 (or MAM 1), MAT 1S1, MST 102, STA 1S1, STA 1C2
Course description: Data communications and
180
ACADEMIC DEPARTMENTS: COMPUTER SCIENCE computer networks; functional programming;
software design and practices.
DP requirements:30% test average and 40%
practical average
Assessment:Class record 33%, Examinations 67%
Supplementary exam:not offered
Subminimum: 40% to aggregate with CSC 301 CSC 303
This course will not be offered in 2021.
Course description: Data analytics, parallel patterns, and machine learning.
COMPUTER SCIENCE HONOURS Year-long course (120 credits at NQF level 8) Course description: The course consists of a selection of six topics and a large project. To this selection is added a compulsory module in project management and communications, and a portfolio of practical assignments. The course work comprises the advanced treatment of an approved selection from the following list of topics (the list is not exhaustive and not all topics are offered in every calendar year):
real time multimedia; Java enterprise programming;
image processing; networks and data communications; distributed and parallel processing;
security and cryptology; computer-based education;
artificial intelligence; human computer interfaces;
advanced computer architecture; microcomputer hardware and interfacing; operating system design;
systems analysis and design methodologies;
functional programming; real- time programming;
data abstraction; modelling; formal aspects of computer science; software and hardware engineering in low resource settings; general purpose parallel computing using GPUs; bioinformatics. At
the discretion of the Head ofDepartment, the course may include topics from Electronics, Information Systems, Pure and Applied Mathematics, Mathematical Statistics, or any other topics approved by the Head of Department.
DP requirements:as set by the lecturer
Assessment: 6 x 10% modules, 10% Project Management, 30% Project
Supplementary exam:None
Subminimum: a student must normally pass all courses and the project
MASTER’S AND DOCTORAL DEGREES Suitably qualified students are encouraged to proceed to the research degrees of MSc (180 credits at the NQF level 9) and PhD (360 credits at the NQF level 10) under the direction of the staff of the Department.
Requirements for the MSc and PhD degrees are given in the General Rules. Current areas of specialisation are software defined networks and cloud automation;
real time distributed multimedia; graphics and virtual reality; audio networking; computer security;
distributed processing and ICT for development. A coursework MSc specialising in Information Security is also offered, specially structured for part-time students.
More information on research can be found on the web site of the Centre of Excellence in Distributed Multimedia, housed within the Computer Science Department: http:// www.coe.ru.ac.za.
181 ACADEMIC DEPARTMENTS: COMPUTER SCIENCE
computer networks; functional programming;
software design and practices.
DP requirements:30% test average and 40%
practical average
Assessment:Class record 33%, Examinations 67%
Supplementary exam:not offered
Subminimum: 40% to aggregate with CSC 301 CSC 303
This course will not be offered in 2021.
Course description: Data analytics, parallel patterns, and machine learning.
COMPUTER SCIENCE HONOURS Year-long course (120 credits at NQF level 8) Course description: The course consists of a selection of six topics and a large project. To this selection is added a compulsory module in project management and communications, and a portfolio of practical assignments. The course work comprises the advanced treatment of an approved selection from the following list of topics (the list is not exhaustive and not all topics are offered in every calendar year):
real time multimedia; Java enterprise programming;
image processing; networks and data communications; distributed and parallel processing;
security and cryptology; computer-based education;
artificial intelligence; human computer interfaces;
advanced computer architecture; microcomputer hardware and interfacing; operating system design;
systems analysis and design methodologies;
functional programming; real- time programming;
data abstraction; modelling; formal aspects of computer science; software and hardware engineering in low resource settings; general purpose parallel computing using GPUs; bioinformatics. At
the discretion of the Head ofDepartment, the course may include topics from Electronics, Information Systems, Pure and Applied Mathematics, Mathematical Statistics, or any other topics approved by the Head of Department.
DP requirements:as set by the lecturer
Assessment: 6 x 10% modules, 10% Project Management, 30% Project
Supplementary exam:None
Subminimum: a student must normally pass all courses and the project
MASTER’S AND DOCTORAL DEGREES Suitably qualified students are encouraged to proceed to the research degrees of MSc (180 credits at the NQF level 9) and PhD (360 credits at the NQF level 10) under the direction of the staff of the Department.
Requirements for the MSc and PhD degrees are given in the General Rules. Current areas of specialisation are software defined networks and cloud automation;
real time distributed multimedia; graphics and virtual reality; audio networking; computer security;
distributed processing and ICT for development. A coursework MSc specialising in Information Security is also offered, specially structured for part-time students.
More information on research can be found on the web site of the Centre of Excellence in Distributed Multimedia, housed within the Computer Science Department: http:// www.coe.ru.ac.za.
ACADEMIC DEPARTMENTS: COMPUTER SCIENCE computer networks; functional programming;
software design and practices.
DP requirements:30% test average and 40%
practical average
Assessment:Class record 33%, Examinations 67%
Supplementary exam:not offered
Subminimum: 40% to aggregate with CSC 301 CSC 303
This course will not be offered in 2021.
Course description: Data analytics, parallel patterns, and machine learning.
COMPUTER SCIENCE HONOURS Year-long course (120 credits at NQF level 8) Course description: The course consists of a selection of six topics and a large project. To this selection is added a compulsory module in project management and communications, and a portfolio of practical assignments. The course work comprises the advanced treatment of an approved selection from the following list of topics (the list is not exhaustive and not all topics are offered in every calendar year):
real time multimedia; Java enterprise programming;
image processing; networks and data communications; distributed and parallel processing;
security and cryptology; computer-based education;
artificial intelligence; human computer interfaces;
advanced computer architecture; microcomputer hardware and interfacing; operating system design;
systems analysis and design methodologies;
functional programming; real- time programming;
data abstraction; modelling; formal aspects of computer science; software and hardware engineering in low resource settings; general purpose parallel computing using GPUs; bioinformatics. At
the discretion of the Head ofDepartment, the course may include topics from Electronics, Information Systems, Pure and Applied Mathematics, Mathematical Statistics, or any other topics approved by the Head of Department.
DP requirements:as set by the lecturer
Assessment: 6 x 10% modules, 10% Project Management, 30% Project
Supplementary exam:None
Subminimum: a student must normally pass all courses and the project
MASTER’S AND DOCTORAL DEGREES Suitably qualified students are encouraged to proceed to the research degrees of MSc (180 credits at the NQF level 9) and PhD (360 credits at the NQF level 10) under the direction of the staff of the Department.
Requirements for the MSc and PhD degrees are given in the General Rules. Current areas of specialisation are software defined networks and cloud automation;
real time distributed multimedia; graphics and virtual reality; audio networking; computer security;
distributed processing and ICT for development. A coursework MSc specialising in Information Security is also offered, specially structured for part-time students.
More information on research can be found on the web site of the Centre of Excellence in Distributed Multimedia, housed within the Computer Science Department: http:// www.coe.ru.ac.za.
ACADEMIC DEPARTMENTS: DRAMA