Computer Science Rekenaarwetenskap

Voorgraadse Modules

Eerste jaar

18139-113 Rekenaarwetenskap vir Aktuariële Studies (RW113) (1ste Semester) (Eerste Yaar)

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) (Eerste Yaar)

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).

18139-144 Inleidende Rekenaarwetenskap 2 (RW144) (2de Semester) (Eerste Yaar)

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

59536-214 Objekgerigte Programmering (RWE214) (1ste Semester) (Tweede Yaar)

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) (Tweede Yaar)

Die klassieke datastrukture en algoritmes in ʼn objekgerigte opset. Gevorderde tegnieke vir die analise van algoritmes.

18139-244 Rekenaarargitektuur (RW244) (2de Semester) (Tweede Yaar)

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) (Tweede Yaar)

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

18139-314 Gelyklopendheid (RW314) (1ste Semester) (Derde Yaar)

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) (Derde Yaar)

Dimensievermindering-tegnieke; masjienleertegnieke gebaseer op maksimumaanneemlikheidberamings, maksimumposteriorberamings en verwagting-maksimeringberamings; modellering m.b.v. logistiese regressie, Gaussiese mengsels en verskuilde Markov-modelle.

18139-334 Databasisse en Websentriese Programmering (RW334) (1ste Semester) (Derde Yaar)

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 Programmatuurontwerp (RW344) (2de Semester) (Derde Yaar)

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) (Derde Yaar)

Inleiding tot outomaatteorie en formele tale, berekenbaarheid en kompleksiteit. Regulêre tale, konteksvrye tale en grammatikas. Turingmasjiene. P vs NP probleem en NP-volledigheid.

18139-354 Rekenaarnetwerke (RW354) (2de Semester) (Derde Yaar)

Inleiding tot netwerke in die algemeen en die Internet in die besonder. Argitektuur en protokolle. Toewysing van hulpbronne en beheer van belading. Netwerksekuriteit. Toepassings.

12263-372 Wetenskaplike Berekening (WB372) (1ste en 2de Semester) (Derde Yaar)

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.

Voornemende studente