Come Study Computer Science at Stellenbosch!

What is the course all about?

Computer Science deals with computer systems, both the hardware and the software. But this doesn’t mean we sit around writing programs and building PC’s all day! We take a scientific approach to the subject, emphasizing the principles of computer systems, instead of the nitty-gritty.

  • (Although it is not officially part of the programme, we strongly encourage students who plan to study Computer Science – especially those who did not have ICT (information and communication technology) or CAT (computer application technology) at school – to consider attending our Bridging Course.)
  • In the first year, the focus is on learning to program. At the moment we are using the Java language to teach programming, but this is not critical: we expect our students to know many languages by the time they leave university. Having said this, Java is a very important language. It is simple enough to master adequately in one year and it provides an excellent introduction to other languages like C++ and C (which we use in later courses).
  • The second year looks at data structures and algorithms. A good knowledge of this important topic is what sets the expert apart from the beginner. In the second half of the year the focus is on computer architecture and low-level programming.
  • The third year contains four core modules: concurrent programming, databases and web-centric computing, computer networks, and software engineering. There are also optional modules in Machine Learning (how do we get computer systems to learn from real-world data?) and Computer Vision (which also covers graphics – a key topic for computer game programming). At the end of the year, students are able to answer questions like:
    • How does Windows/Linux work inside?
    • How do we use multiple computers/processors to perform large computations efficiently?
    • How do we design large databases for use over the internet?
    • How do computers communicate over WiFi or the Internet?
    • How do we design and build BIG pieces of software reliably?

    Along with all the theory, our students work hard on their practical skills. For instance, for the 2007 version of some of these modules the students constructed an Internet chatroom system and a traffic simulator.

Some universities offer courses certified by foreign organizations to adhere to certain standards. At Stellenbosch we have long prided ourselves on our teaching. We follow the international ACM curriculum recommendations as closely as possible, but we do not believe at this point that accreditation by these organizations is a sensible way to spend our students’ tuition fees. Our third year and postgraduate courses are moderated annually by experts from other universities and some of these courses undergo additional moderation by ECSA.

Officially, almost all of our modules are presented in Afrikaans and English on a 50/50 basis. However, we have a pragmatic attitude in this matter. We love Afrikaans, but we also try to accommodate all of our students, including our English-speaking and foreign undergraduates. In our experience, language has never been an issue in our teaching, and we do not believe that it should ever stand in the way of education.

What are the requirements for doing the course?

You don’t need any background in programming or any computer-related school subjects to study Computer Science. However, we encourage all potential students who are new to programming, to take the Bridging course we present in January.

The general admission requirements to study any B.Sc. subject includes a grade of 5 (or better!) for Mathematics. Students are also required to write an admission test. Full details about this can be found on the Faculty page for Computer Science programmes.

What can I do with Computer Science after university?

We are flooded with requests for qualified students every week. (You can see some of them on the jobs page.) About ten years ago there was a dip in the market, but international experts predict a shortage of computer scientists in the future. This is good news for anybody with the right qualification, looking for a job: there is a lot of choice.

Some of our students start out as programmers, but this does not last long: most end up as software designers and engineers. Apart from the many local companies that employ our students, there are also many opportunities overseas. South African computer scientists are generally in demand, perhaps because they are known as hard workers.

Usually there is a high turnover in the software industry. People move frequently from one company to another. In other words, they are exposed to many different kinds of environments.

What is a programme and how do I choose mine?

The university has different departments (such as Mathematical Sciences, Computer Science, Physics, and so on), and each department presents courses that are called modules. To obtain a degree a student must follow a certain collection of modules, and together they are known as a programme. Some of the modules are compulsory, but many programmes also allow students to choose some of their own modules. You can read more about Computer Science programmes on this page.

Is Computer Science the same as Computer Literacy?

No, not at all. It is important to the university that all science students are competent at using computers. Computer Literacy is a compulsory module that teach students how to use basic tools (such as word processors, spreadsheets, presentation tools) as well as more advanced scientific tools (such as mathematical modellers and statistical analysis packages).

Should I study Computer Science or Electronic Engineering?

This is a frequently asked question — Computer Science and Electronic Engineering are both excellent choices which will prepare you for a career in the computing industry. Graduates of these two degrees often end up in similar jobs, and both degrees are in high demand. The key difference is that Electronic Engineering focusses both on hardware (i.e. design of computers and other electronic devices) and software (often for specific engineering applications), while Computer Science has a more specialised and deeper focus on software (algorithms and software development). Students in Electronic Engineering take some but not all of the modules in Computer Science. Both degrees have a strong mathematical component. If you are struggling to choose, we encourage you to make appointments with staff at both the departments of Computer Science and Electronic Engineering to discuss this important decision.

Where can I find more information?

A good place to start is to look around this website. For answers to specific questions, please feel free to send an email to head@CUT-ME-OUT@cs.sun.ac.za.

Last updated Friday, 30 August 2013
Problems? Contact our webmaster (webmaster@CUT-ME-OUT@cs.sun.ac.za).