Voorgraadse program en modules
BSc Rekenaarwetenskap fokusareas
18139 | Algemene Rekenaarwetenskap |
Die Algemene Rekenaarwetenskap fokusarea kombineer Rekenaarwetenskap as hoofvak met `n keuse van Natuurwetenskap modules. Raadpleeg asseblief Afdeling 4.4.1 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
18139 | Rekenaarstelsels |
Die Rekenaarstelsels fokusarea kombineer Rekenaarwetenskap as hoofvak met geselekteerde Elektriese en Elektroniese Ingenieurswese modules. Raadpleeg asseblief Afdeling 4.4.2 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
18139 | Datawetenskap |
Die Datawetenskap fokusarea kombineer Rekenaarwetenskap as hoofvak met Statistiek en Datawetenskap modules. Raadpleeg asseblief Afdeling 4.4.3 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
18139 | BSc Rekenaarwetenskap met Genetika as tweede hoofvak |
Rekenaarwetenskap met Genetika as tweede hoofvak. Raadpleeg asseblief Afdeling 4.4.4 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
18139 | BSc Rekenaarwetenskap met Geografiese Inligtingstegnologie as tweede hoofvak |
Rekenaarwetenskap met Geografiese Inligtingstegnologie as tweede hoofvak. Raadpleeg asseblief Afdeling 4.4.5 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
Eerste jaar rekenaarwetenskap modules
18139-113 | Rekenaarwetenskap vir Aktuariële Studies | (RW113) | (1ste Semester) |
Inleiding tot rekenaarprogrammering uit ’n finansiële perspektief. Basiese finansiële probleme word herfraseer in terme van analitiese probleemoplossing. Standaard imperatiewe programmeringskonstrukte, insluitend veranderliketipes, toekennings, keuseopdragte en lusse, en rekursiewe benaderings word gedek, soos benodig in finansiële programmering. Statiese datastrukture (in die besonder skikkings) en verklarende programmeringsmodelle soos sigblaaie word ook gedek.
18139-114 | Inleidende Rekenaarwetenskap 1 | (RW114) | (1ste Semester) |
Inleiding tot basiese rekenaarprogrammering; formulering en oplossing van probleme met behulp van rekenaarprogrammering; datavoorstelling en veranderlike-tipes (insluitend karakterstringe, heelgetalle (integers), wisselpuntgetalle en Boolese veranderlikes); toekenningsopdragte; keuse-opdragte en iterasie; statiese datastrukture (skikkings en rekords); toevoer en afvoer (insluitend grafika en klank); modulêre programmering; rekursie; toetsing en ontfouting; inleiding tot objek-georiënteerde programmering (insluitend abstraksie, enkapsulasie en gebruik van bestaande objek-implementasies).
18139-144 | Inleidende Rekenaarwetenskap 2 | (RW144) | (2de Semester) |
Inleiding tot basiese rekenaarprogrammering; formulering en oplossing van probleme met behulp van rekenaarprogrammering; datavoorstelling en veranderlike-tipes (insluitend karakterstringe, heelgetalle (integers), wisselpuntgetalle en Boolese veranderlikes); toekenningsopdragte; keuseopdragte en iterasie; statiese datastrukture (skikkings en rekords); toevoer en afvoer (insluitend grafika en klank); modulêre programmering; rekursie; toetsing en ontfouting; inleiding tot objekgeoriënteerde programmering (insluitend abstraksie, enkapsulasie en gebruik van bestaande objekimplementasies).
Tweede jaar rekenaarwetenskap modules
59536-214 | Objekgerigte Programmering | (RWE214) | (1ste Semester) |
Formulering en oplossing van probleme met behulp van rekenaarprogrammering in ʼn objekgerigte opset; beginsels van toetsing en ontfouting; sleutelbegrippe in objek-oriëntasie: abstraksie, enkapsulasie, oorerwing en polimorfisme; ontwerpspatrone as abstraksies vir die skepping van herbruikbare objekgeoriënteerde ontwerpe; soek- en sorteeralgoritmes; kompleksiteitsteorie vir die analise van algoritmes; fundamentele metodes vir die ontwerp van algoritmes; dinamiese datastrukture.
18139-214 | Datastrukture en Algoritmes | (RW214) | (1ste Semester) |
Die klassieke datastrukture en algoritmes in ʼn objekgerigte opset. Gevorderde tegnieke vir die analise van algoritmes.
18139-244 | Rekenaarargitektuur | (RW244) | (2de Semester) |
Basiese rekenaarargitektuur. Programmering in masjientaal en saamsteltaal. Saamstellers, binders en laaiers. Basiese konsepte van bedryfstelsels; geheuebestuur, prosesbestuur en lêerstelsels.
12263-272 | Wetenskaplike Berekening | (WB272) | (1ste en 2de Semester) |
Inleiding tot Linux: Linux-bevele; Linux-lêerstelsels; redigeerders; prosesbeheer; Inleiding tot programmering in Python: Veranderlikes, veranderlike-tipes, beheerstrukture, lusstrukture, funksies, lêers en gidse, stringe, moduletoetsing, basiese dataprosessering. Inleiding tot numeriese berekening m.b.v. Numpy; grafiektrekking en kurwepassing.
Derde jaar rekenaarwetenskap modules
18139-313 (old 354) | Rekenaarnetwerke | (RW354) | (1ste Semester) |
Inleiding tot netwerke in die algemeen en die Internet in die besonder. Argitektuur en protokolle. Toewysing van hulpbronne en beheer van belading. Netwerksekuriteit. Toepassings.
18139-314 | Gelyklopendheid | (RW314) | (1ste Semester) |
Inleiding tot programmeringstegnieke en beginsels van gelyklopende stelsels, van bedryfstelsels tot toepassingsprogramme. Dit sluit kommunikasie, sinkronisasie, skedulering en werksverdeling in. Verskeie parallelle en verspreide argitekture sal gedek word.
18139-315 | Masjienleer | (RW315) | (1ste Semester) |
Tensy jy Rekenaarwetenskap 315, of ’n ekwivalent voltooi het, is hierdie module ook verpligtend. ’n Dimensievermindering-tegnieke; masjienleertegnieke gebaseer op maksimumaanneemlikheidberamings, maksimumposteriorberamings en verwagting-maksimeringberamings; modellering m.b.v. logistiese regressie, Gaussiese mengsels en verskuilde Markov-modelle.
18139-343 (old 334) | Databasisse en Websentriese Programmering | (RW334) | (2de Semester) |
Inleiding tot relasionele databasisse. Afbeelding van relasionele model op objekmodel. Implementering van ʼn databasistoepassing in die konteks van die web. Webdienste. Bediener-kant-skalering. Virtualisasie. Wolkberekening.
18139-344 (old 334) | Programmatuurontwerp | (RW344) | (2de Semester) |
Spesifikasies van programme as riglyne vir programontwerp. Herbruikbare raamwerke vir programontwerp. Toetsbaarheid van programontwerpe. Ontwikkeling van ʼn stelsel van mediumgrootte om die praktiese toepassing van die beginsels van programontwerp te illustreer.
18139-345 | Berekenbaarheid en Outomaatteorie | (RW345) | (2de Semester) |
Inleiding tot outomaatteorie en formele tale, berekenbaarheid en kompleksiteit. Regulêre tale, konteksvrye tale en grammatikas. Turingmasjiene. P vs NP probleem en NP-volledigheid.
12263-372 | Wetenskaplike Berekening | (WB372) | (1ste en 2de Semester) |
Wetenskaplikedokumentkonstruksie en -aanbiedings in LaTeX. Regulêre uitdrukkings. Belangrike algoritmes insluitende sortering, soek en ewekansigegetalgenerasie. Gevorderde berekening in Python met Numpy en Scipy; toepassings insluitende patroonsoek, prosessering van groot empiriese datastelle en konstruksie van pyplyne vir dataprosessering. Ander wetenskaplike nutsprogramme in Linux.