Voorgraadse programme en modules
BSc Rekenaarwetenskap is die primêre opsie vir studente wat ’n loopbaan in sagteware-ontwikkeling wil volg. Hierdie graad is ’n internasionaal erkende kwalifikasie wat jou in staat stel om werk by nasionale en internasionale maatskappye te vind. Met die toepaslike keusemodules kan dit ook lei tot ’n honneursprogram in Rekenaarwetenskap (sien ons inligting vir voornemende nagraadse studente vir meer besonderhede oor die toepaslike keusemodules) of tot ’n honneursprogram in ’n ander vakgebied, soos Toegepaste Wiskunde, Ekonomie, Algemene Taalkunde, Wiskundige Statistiek, Wiskunde, Operasionele Navorsing en Statistiek.
Baie dissiplines vereis deesdae ’n mate van kennis van hoe om rekenaarkode te skryf, en in baie programme leer studente om spesifieke sagteware te gebruik, soos MS Excel, Matlab of R vir data-ontleding.
In Rekenaarwetenskap val die fokus op sagteware-ontwikkeling. Hierdie bladsy lys programme aan die Universiteit Stellenbosch wat ’n volledige Rekenaarwetenskap-kurrikulum insluit, asook die meeste programme wat sommige Rekenaarwetenskap-modules bevat. Die inligting word as algemene riglyn verskaf, maar kan verouderd wees; dit is belangrik om besonderhede in die Universiteit se jaarboek (kalender) te bevestig. Indien jy dit oorweeg om aansoek te doen, lees ook ons inligting vir voornemende studente.
BSc Rekenaarwetenskap (RW) program
18139 - Fokus 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 - Fokus Rekenaarstelsels
Die Rekenaarstelsels fokusarea kombineer Rekenaarwetenskap as hoofvak met geselekteerde Elektriese en Elektroniese Ingenieurswese modules. Raadpleeg asseblief Afdeling 7.4.2 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
18139 - Fokus Datawetenskap
Die Datawetenskap fokusarea kombineer Rekenaarwetenskap as hoofvak met Statistiek en Datawetenskap modules. Raadpleeg asseblief Afdeling 7.4.3 in die Natuurwetenskappe jaarboek vir die lys van verpligte en keusemodules van hierdie fokusarea.
BDatSci program
BDatSci met fokusarea Rekenaarwetenskap kombineer Rekenaarwetenskap met Statistiek en Datawetenskap modules. BDatSci is ’n vierjaar graad wat betsaan uit ’n aantal kern- verpligte modules in al vier die studiejare. keusemodules van hierdie fokusarea.
Eerste jaar RW modules
18139-113 Rekenaarwetenskap vir Aktuariële Studies
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.
| RW113 | 1ste Semester |
18139-114 Inleidende Rekenaarwetenskap 1
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).
| RW114 | 1ste Semester |
18139-144 Inleidende Rekenaarwetenskap 2
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).
| RW144 | 2de Semester |
Tweede jaar RW modules
59536-214 Objekgerigte Programmering
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.
| RWE214 | 1ste Semester |
18139-214 Datastrukture en Algoritmes
Die klassieke datastrukture en algoritmes in ʼn objekgerigte opset. Gevorderde tegnieke vir die analise van algoritmes.
| RW214 | 1ste Semester |
18139-244 Rekenaarargitektuur
Basiese rekenaarargitektuur. Programmering in masjientaal en saamsteltaal. Saamstellers, binders en laaiers. Basiese konsepte van bedryfstelsels; geheuebestuur, prosesbestuur en lêerstelsels.
| RW244 | 2de Semester |
12263-272 Wetenskaplike Berekening
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.
| SC272 | 1ste en 2de Semester |
Derde jaar RW modules
18139-313 Rekenaarnetwerke
Inleiding tot netwerke in die algemeen en die Internet in die besonder. Argitektuur en protokolle. Toewysing van hulpbronne en beheer van belading. Netwerksekuriteit. Toepassings.
| RW313 | 1ste Semester |
18139-314 Gelyklopendheid
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.
| RW314 | 1ste Semester |
18139-315 Masjienleer
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.
| RW315 | 1ste Semester |
18139-343 Databasisse en Websentriese Programmering
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.
| RW343 | 2de Semester |
18139-344 Programmatuurontwerp
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.
| RW344 | 2de Semester |
18139-345 Berekenbaarheid en Outomaatteorie
Inleiding tot outomaatteorie en formele tale, berekenbaarheid en kompleksiteit. Regulêre tale, konteksvrye tale en grammatikas. Turingmasjiene. P vs NP probleem en NP-volledigheid.
| RW344 | 2de Semester |
12263-372 Wetenskaplike Berekening
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.
| RW372 | 1ste en 2de Semester |
Vierde jaar RW modules vir BDatSci
18139-411 Rekenaarnetwerke (313*)
Inleiding tot netwerke in die algemeen en die Internet in die besonder. Argitektuur en protokolle. Toewysing van hulpbronne en beheer van belading. Netwerksekuriteit. Toepassings.
| RW411 | 1ste Semester |
59536-414 Masjienleer
’n Dimensievermindering-tegnieke; masjienleertegnieke gebaseer op maksimumaanneemlikheidberamings, maksimumposteriorberamings en verwagting-maksimeringberamings; modellering m.b.v. logistiese regressie, Gaussiese mengsels en verskuilde Markov-modelle.
| E414 | 1ste Semester |
18139-412 Gevorderde Algoritmes (712*)
Hierdie module sluit aan by Rekenaarwetenskap 214 en behandel gevorderde onderwerpe in die ontwerp en analise van algoritmes en datastrukture. ’n Keuse uit die volgende onderwerpe word gedek: algoritmeontwerptegnieke, lineêre programmering, benaderingsalgoritmes, willekeurige algoritmes, probalistiese algoritmes, parallelle algoritmes, getalteoretiese algoritmes, kriptoanalise, berekeningsmeetkunde, berekeningsbiologie, netwerkalgoritmes, en kompleksiteitsteorie.
| RW412 | 1ste Semester |
18139-441 Masjienleer (741*)
Hierdie module is ’n inleiding tot uitgesoekte onderwerpe in masjienleer.
| RW441 | 2de Semester |
18139-471 Datawetenskap Navorsingswerkstuk
Die navorsingswerkstuk bied studente ’n omvattende leerervaring wat kennis uit vorige modules integreer. Die student integreer kennis en ervarings wat in vorige modules opgedoen is en pas dit toe op ’n dataryke navorsingsonderwerp. Studente kry die geleentheid om wat hulle voorheen geleer het te sintetiseer en op nuwe, komplekse probleme toe te pas. Studente neem aan die volledige proses vir die oplos van ’n praktiese datawetenskapprobleem deel, van data-insameling en -prosessering, tot die toepassing van gepaste en geskikte analitiese metodes op die probleem, en die duidelike en omvattende kommunikasie van bevindinge.
| RW471 | 2de Semester |
18139-491 Algoritmes in ruimtewetenskap (791*)
Algoritmes en tegnieke in Ruimtewetenskap, met toepassings.
| RW491 | 2de Semester |
18139-495 Funksionele Programmering (795*)
Die module gee ’n inleiding tot die funksionele programmerings-paradigma.
| CS495 | Word nie aangebied nie |