Computer Science Rekenaarwetenskap

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.