Students who register for any Computer Science or Information Systems modules should: (a) have access to an Internet cafe or a Unisa Regional Learning Centre or other Internet facilities. After registration, access to myUnisa on a regular basis is compulsory. (b) have passed Computer Application Technology or Information Technology with a rating of 4 (new NSC) or passed Computer Studies (old Senior Certificate) or hold an industry standard qualification such as the ICDL in computer literacy. Students who do not satisfy this requirement are advised to register for EUP1501 BEFORE they register for COS1511.
The following hardware and software requirements can be used as a guideline for the minimum requirements for most modules. Some modules have higher requirements and in those cases the requirements will be made available in the first tutorial letter or under 'module information' on myUnisa. Configuration: PC with a Pentium 233(500) MHz or higher processor, Windows XP (with SP2) or a later version, 512 MB of RAM or higher, 80 GB hard-disk space, a CD-ROM and a flash drive or memory stick for your own data. If you intend to buy a computer, we recommend that you obtain a computer with the highest processor speed and RAM you can afford, AND which is upgradable (to allow you to improve its configuration at a later stage).
Major combinations:
NQF Level 5: COS1501, COS1511 and COS1512
NQF Level 6: COS2601, COS2611, COS2614, COS2621 and COS2661
NQF Level 7: COS3701, COS3711, COS3721, COS3751 and COS3761
Theoretical Computer Science I - COS1501 |
Under Graduate Degree |
Year module |
NQF level: 5 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To introduce students to some concepts from Discrete Mathematics as a theoretical foundation for Computer Science. This background is relevant to relational databases, the development of provably correct programs, and the analysis of algorithms. |
Introduction to Programming I - COS1511 |
Under Graduate Degree |
Year module |
NQF level: 5 |
Credits: 12 |
Module presented in English |
|
|
Co-requisite: EUP1501 (or XUP1501)(Only applicable to NDEEN, 98906, 98907 & 98801 streams not listed above) |
Purpose: To provide students with an introduction to programming and to cover the fundamentals of control structures, problem-solving techniques, and the incremental testing of programs. |
Introduction to Programming II - COS1512 |
Under Graduate Degree |
Year module |
NQF level: 5 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS1511 (or XOS1511) |
Co-requisite: COS1511 |
Purpose: To introduce students to the detailed design and implementation of algorithms as programs, and includes the fundamentals of simple data structures with object-orientation. |
Computer Systems: Fundamental Concepts - COS1521 |
Under Graduate Degree |
Year module |
NQF level: 5 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To introduce students to the computer as a system. This covers hardware concepts such as internal representation of numbers and characters and basic computer architecture, and software concepts such as systems software and applications software. It also includes a brief introduction to databases, and to systems analysis and design. |
Theoretical Computer Science II - COS2601 |
Under Graduate Degree |
Year module |
NQF level: 6 |
Credits: 12 |
Module presented in English |
|
Pre-requisite: COS1501 |
|
Purpose: This module together with COS3701 will acquaint students with the capabilities and limitations of computers from a theoretical viewpoint. Module COS2601 covers formal languages, recursive definitions, regular expressions, finite automata, Moore and Mealy machines, transition graphs, the pumping lemma and decision problems. |
Programming: Data Structures - COS2611 |
Under Graduate Degree |
Year module |
NQF level: 6 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS1512 |
|
Purpose: To show learners how abstract data types and data structures can be implemented and used in an object-oriented programming language. The module covers recursion, linked lists, dynamic memory allocation, binary trees, and graphs. |
Programming: Contemporary Concepts - COS2614 |
Under Graduate Degree |
Year module |
NQF level: 6 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS1511 and COS1512 |
|
Purpose: To enable students to understand and apply the principles of object-orientated programming (inheritance, encapsulation, abstraction, and polymorphism). Students are also introduced to the Unified Modelling Language (UML) and required to apply it when designing solutions to problems introduced in the course. Students are also taught the principles of graphical user interface (GUI) programming, design patterns, and how to apply them when designing and implementing contemporary software systems. |
Computer Organisation - COS2621 |
Under Graduate Degree |
Year module |
NQF level: 6 |
Credits: 12 |
Module presented in English |
|
Pre-requisite: COS1521 |
|
Purpose: To introduce students to the underlying structure of a modern digital computer, including digital logic level, machine code level and the software system level. It involves programming in an assembly language. |
Computer Networks I - COS2626 |
Under Graduate Degree |
Year module |
NQF level: 6 |
Credits: 12 |
Module presented in English |
|
Purpose: To introduce the fundamental building blocks that form a modern network, such as protocols, topologies and hardware. This module provides an in-depth coverage of the most important concepts in contemporary networking, such as TCP/IP, Ethernet, wireless transmission, and security. Students will also acquire the skills to build a network from scratch and maintain, upgrade, and troubleshoot an existing network. |
Formal Logic II - COS2661 |
Under Graduate Degree |
Year module |
NQF level: 6 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS1501 |
|
Purpose: To introduce students to the syntax of propositional language and the truth functionality of first order logic, enabling them to deal with proofs for validity via deduction and resolution in an interpreted first-order language. |
Theoretical Computer Science III - COS3701 |
Under Graduate Degree |
Year module |
NQF level: 7 |
Credits: 12 |
Module presented in English |
|
Pre-requisite: COS2601 |
|
Purpose: To enable students to understand the concept of computability. In the process they are introduced to context-free languages, recursively enumerable languages and the machines that accept them. It includes details of the Chomsky
hierarchy, pushdown automata and Turing machines. |
Advanced Programming - COS3711 |
Under Graduate Degree |
Year module |
NQF level: 7 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS2611 & COS2614 |
|
Purpose: To increase the depth of student's insight into advanced programming principles and consolidate their competence there-in. |
Computer Graphics - COS3712 |
Under Graduate Degree |
Year module |
NQF level: 7 |
Credits: 12 |
Module presented in English |
|
Pre-requisite: COS2611 & MAT1503 |
|
Purpose: The purpose of this module is to equip students with knowledge of the fundamental principles and
techniques of modern Computer Graphics, and enable them to use these ideas, methods and tools to
write and implement graphics applications of medium complexity. |
Operating Systems and Architecture - COS3721 |
Under Graduate Degree |
Year module |
NQF level: 7 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS2614 |
|
Purpose: To acquaint students with general operating system functionality such as CPU scheduling, process coordination and concurrency, deadlocks, memory management, protection and security. It also covers the case of distributed systems. |
Techniques of Artificial Intelligence - COS3751 |
Under Graduate Degree |
Year module |
NQF level: 7 |
Credits: 12 |
Module presented in English |
Module presented online |
Pre-requisite: COS2611 & COS2661 |
|
Purpose: To equip students with a basic understanding of knowledge representation approaches (logic-based and alternative approaches), search techniques (exhaustive and heuristic), automated reasoning, and basic skills in logic programming. |
Formal Logic III - COS3761 |
Under Graduate Degree |
Year module |
NQF level: 7 |
Credits: 12 |
Module presented in English |
|
Pre-requisite: COS2661 |
|
Purpose: To enable students to construct a number of different formal languages (such as opaque or transparent propositional languages, firstorder languages, sorted languages, modal languages and non-monotonic logics) and to solve problems of validity and truth for these languages. |
Formal Logic - COS4807 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To provide an introduction to the methods of formal logic used in computing.
|
Ontology Engineering - COS4840 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To provide an overview of ontologies, their uses, their languages, and the tools and techniques (methodologies) for developing and debugging them. |
Logic-Based Reasoning - COS4851 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To provide the student with the skills to solve AI problems using automated reasoning.
|
Machine Learning - COS4852 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To provide an introduction to some of the theoretical and practical aspects of learning techniques in AI and to solve practical AI problems using these learning techniques.
|
Natural Language Processing - COS4861 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To provide an introduction to the theoretical and practical aspects of natural language processing. The focus is on fundamental algorithms, whether logical or statistical, on practical applications, and on scientific evaluation related to the processing of words and syntax. |
Formal Program Verification - COS4892 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: To provide an introduction to the design, verification and implementation of a computer program via a formal specification. Verification rules for a number of procedural constructs, namely, the assignment statement, sequential composition, the if-then-else statement, skip and while statements are derived and applied to a wide variety of problems. |
Research Methods and Proposal - HPCOS81 |
Honours |
Year module |
NQF level: 8 |
Credits: 12 |
Module presented in English |
Module presented online |
Purpose: This module serves as a fundamental building block in equipping students with the knowledge and competencies to conduct research in the computing field. Qualifying students have an appreciation of the research process and the reason for conducting research according to a specific research paradigm, to solve a problem. They determine appropriate sources to consult for a literature review. Students understand appropriate research strategies, data gathering and analysis techniques to obtain answers to the stated research problem. Students use an academic writing style and recognized referencing techniques to complete an acceptable written research proposal. Students are required to have a computer and Internet access for weekly online study. |
Honours Research Report - HRCOS82 |
Honours |
Year module |
NQF level: 8 |
Credits: 36 |
Module presented in English |
Module presented online |
Pre-requisite: HPCOS81 |
|
Purpose: The purpose of this module is to prepare the student for research based postgraduate study on masters level. It allows students the opportunity to undertake a research project and produce a research report in a formalized manner under the close supervision of study leaders within research disciplines of the School of Computing. The qualifying student has mastered scientific writting, literature references and can complete an acceptable written research report. |