Skip to main content

Prospective students

Computer science is the theory and practice of algorithms. It is a wonderful combination of art (invention and design), science (analysis and experimentation), and engineering to solve problems with computers. Our students learn to program, develop, and manage large software systems in a team, but – most importantly – to frame problems in terms of computational processes.

Careers in the software and information technology industry vary widely. Some positions are more technical, while others involve more human factors. Some jobs demand concentration, precision, and attention to details; others come with a greater emphasis on creativity. Some jobs are solitary; others require teamwork. Some are highly competitive; others focus on cooperation and collaboration.

With such a diversity of jobs, it is difficult to characterise a “typical” job. The list below contains 90+ jobs, some have links you can click for more information.

  • Artificial Intelligence Specialist
  • Business intelligence analyst
  • Character Designer
  • Chief IT Security Officer
  • Clinical Informatics Director
  • Computer Science professor
  • Computer Support Specialist
  • Concept Artist
  • Cybersecurity Strategist
  • Data Warehouse Specialist
  • Database Administrator
  • Document Imaging Specialist
  • Environment analyst
  • Ethical Hacker
  • Game Artist
  • Game Developer
  • Game Director
  • Game Producer
  • Game Programmer
  • Graphic Designer
  • Infographic Artist
  • Information scientist
  • Interactive Designer
  • IT instructor
  • Java developer
  • Lead Software Engineer
  • Mobile Application Designer
  • Modelling Supervisor
  • Motion Graphic Designer
  • Network Administrator
  • Network Analyst
  • Network Architect
  • Network Designer
  • New Media Specialist
  • Professional Gamer
  • Quality Assurance
  • Quality Assurance Manager
  • Security Administrator
  • Senior Web Developer
  • SEO analyst
  • SEP consultant
  • Software Developer
  • Software release manager
  • Systems architect
  • Systems Engineer
  • Technical Artist
  • Telecommunications specialist
  • Texture Artist
  • User Interface Designer
  • Video Game Technical Artist
  • Web Content Manager
  • Web Developer
  • Web Editor
  • Web Producer

The Association of Computing Machinery is an international organization for computer scientists. The ACM has developed the following list of top ten reasons to study computer science which we quote from their web site.

  • Computing is part of everything we do!
  • Expertise in computing enables you to solve complex, challenging problems.
  • Computing enables you to make a positive difference in the world.
  • Computing offers many types of lucrative careers.
  • Computing jobs are here to stay, regardless of where you are located.
  • Expertise in computing helps even if your primary career is something else.
  • Computing offers great opportunities for true creativity and innovativeness.
  • Computing has space for both collaborative work and individual effort.
  • Computing is an essential part of well-rounded academic preparation.
  • Future opportunities in computing are without boundaries.

We admit that we are biased, but we can only add one more “fact”: Computer Science is FUN!

Two reasons.

  1. Academic excellence: Stellenbosch University is amongst South Africa’s leading tertiary institutions based on research output, student pass rates and rated scientists, and is recognised internationally as an academic institution of excellence.
  2. Community: Studying in Stellenbosch is more than just an education; it’s a lifestyle. The campus is fully integrated in the beautiful and historic town. Great food and wine, weekend markets, stunning nature, a vibrant music and culture scene, and a host of adventure activities all contribute to a well-balanced student experience as a Matie.

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.

  • 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 extra elective modules in Machine Learning (how do we get computer systems to learn from real-world data?), Automata theory, and Computer Vision (which also covers graphics). At the end of the year, students are able to answer questions like:
    • How does Windows/Linux/Mac OSX 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, in previous versions of some of these modules the students constructed an Internet chatroom system, a traffic simulator, and a shopping app for smartphones.

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.

We use both English and Afrikaans in our lectures. 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. Many of our students speak only English and cope very well in our courses.

We are flooded with requests for qualified students every week. Around 2000 there was a dip in the job market, but since then it has recovered to unprecedented levels and now international experts predict a serious 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 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, because they are known as highly qualified and 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.

No, not at all. Computer Literacy is a compulsory module in some programmes and 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).

Scientific computing is a compulsory module for all Science students who do not have Computer Science and teach students how to use tools such as LaTeX (a typesetting system) for the production of technical and scientific documentation and Python (a programming language) for basic scientific and numerical computing.

The Information Science department’s academic offering and research concern the dynamic interplay between Information Technology and the organisational or societal contexts in which it is applied. More information is available on their website.

This is a frequently asked question. Both Computer Science and Electronic Engineering graduates are in high demand and both degrees are excellent choices. The key difference is that the focus of Electronic Engineering is on both hardware (i.e. the design of computers and other electronic devices) and software for specific engineering applications and is a good choice if your main interest is Engineering, but you also like programming. 

Computer Science has a more specialised and deeper focus on software (algorithms and software development) and is a good choice if your main interest is the development of software solutions. 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.