University of the Witwatersrand
Bachelor of Science in Computer Science
The Bachelor of Science in Computer Science in Mathematics is offered by University of the Witwatersrand.
Program Length: 3 YEARS.
Bachelor of Science in Computer Science offered by the University of the Witwatersrand
Study the many ways in which computers can be used in problem-solving.
OverviewComputer Science is the discipline of solving problems via solutions that are implemented on computers. These problems can arise from a variety of areas, such as commerce, finance, mining, science, engineering, mathematics, music, and entertainment. To be a successful Computer Science student, you will need to be creative and have good critical thinking skills, analytical ability, and mathematical ability.The undergraduate Computer Science curriculum teaches you the fundamental mathematical and scientific principles behind Computer Science, as well as the practical skills required. You will be taught how to design and implement programs, and how to analyse them for correctness and efficiency. You will also take courses in computer networks, database systems, operating systems, artificial intelligence, formal languages, software design, and data structures.
CurriculumFirst year
AND
- Computer Science I:
- Basic Computer Organisation I
- Discrete Computational Structures I
- Introduction to Algorithms and Programming I
- Introduction to Data Structures and
- Algorithms I
AND
- Mathematics I (Major):
- Algebra I
- Calculus I
AND
- Computational and Applied Mathematics I
- Any other Level I course
Second year
AND
- Computer Science II:
- Analysis of Algorithms II
- Computer Networks II
- Database Fundamentals II
- Mobile Computing II
AND
- Mathematics II:
- Abstract Mathematics II
- Basic Analysis II
- Introduction to Mathematical Statistics II
- Linear Algebra II
- Multivariable Calculus II
- Transition to Abstract Mathematics II
- Computational and Applied Mathematics II
Third year
AND
- Computer Science III:
- Analysis of Advanced Algorithms III
- Formal Languages and Automata III
- Software Design III or Software Engineering III
- Operating Systems and System Programming III
- Computational Applications III:
- Computer Graphics and Visualisation III
- Machine Learning III
- Parallel Computing III
- Software Design Project III