![]() ![]() ![]() ![]() |
![]() |
![]() G. Datamatikeruddannelsen som eksempel på en kort videregående uddannelse
G.1 Generelle kommentarerDatamatikeruddannelsen1 er en kort videregående professionsorienteret uddannelse, der i løbet af de to et kvart år, uddannelsen er normeret til, sigter mod at uddanne softwareudviklere. Ved softwareudvikling spiller matematik en rolle på mange niveauer, og således også i datamatikeruddannelsen. Der er følgeligt mange områder i datamatikeruddannelsen, hvor matematiske kompetencer anvendes og udvikles. Et programmeringssprog er et formelt sprog med en veldefineret syntaks og til dels semantik, og alene derfor er det uundgåeligt, at matematik dukker op i forskellige sammenhænge, og enkelte matematiske emner er da også eksplicit nævnt i fagbilaget til bekendtgørelsen for datamatikeruddannelsen. G.2 Matematiske kompetencer i datamatikeruddannelsenG.2.1 TankegangskompetenceKarakteristik På datamatikeruddannelsen består dennne kompetence i at være klar over hvilke slags spørgsmål, som er karakteristiske for matematik, i selv at kunne stille sådanne spørgsmål, og i at have blik for hvilke typer af svar, som kan forventes. Kommentar Denne kompetence er ikke central i datamatikeruddannelsen, men i situationer, hvor genstandsområdet for konkrete programmeringsopgaver er af matematisk natur (for eksempel programmering af en funktion, der kan foretage primtalsfaktorisering af et heltal eller programmering af eksponential- og/eller logaritmefunktioner), kan kompetencen med fordel opøves. I sådanne konkrete situationer er det i øvrigt lettere at motivere udforskningen af egenskaber ved de pågældende matematiske begreber. Eksemplificering Hvad angår det at kunne stille spørgsmål og have blik for hvilke typer af svar, som kan forventes, kan det for eksempel dreje sig om programmering af en funktion, der kan afgøre, om et tal er et primtal. Det egentlige mål med øvelsen er konstruktion af en funktion med en ikke-triviel løkke; primtals-domænet er blot et (traditionelt) eksempel. Eksempel 1: boolean isPrime (n)//metoden skal afgøre, om n er et primtal De matematiske spørgsmål, man her kan stille - og som relaterer sig til antallet af iterationer og dermed algoritmens effektivitet - er fx:
Spørgsmål af den karakter sætter gang i en tankeproces omkring egenskaber ved tal i relation til primtalsbegrebet, og gennem processen udvikler eleven (forhåbentlig) en analytisk evne, som er essentiel og langt mere vidtgående end det konkrete matematiske domæne (i dette tilfælde primtal). Eksempel 2: Kompeksitetsovervejelser vedrørende eksempelvis søgelængder, sorteringsalgoritmer osv. Herved kræves forståelse for størrelsesordener og de dramatiske konsekvenser af deres forskelligheder (lineære, binære/ logaritmiske, eksponentielle osv.). De matematiske spørgsmål, man her kan stille, er fx:
Karakteristik På datamatikeruddannelsen består dennne kompetence i at kunne løse både "åbne" og "lukkede" matematiske problemer, primært af "anvendt" karakter. Kommentar I forhold til grundkarakteristikken i kapitel 4 trænes datamatikeren ikke i at kunne detektere, formulere, afgrænse og præcisere matematiske problemer. Derimod stilles en datamatiker over for en række matematiske problemstillinger, som skal løses; dette sker typisk for at blive fortrolig med og få dybere indsigt i et bestemt datamatisk fagområde. Eksemplificering Problemfelterne kan fx være
Mere konkret kan det dreje sig om problemer som de følgende, der er repræsentative for en række tilsvarende problemer specielt inden for algoritmik, men også inden for datakommunikation m.m.
Karakteristik På datamatikeruddannelsen består dennne kompetence i at kunne analysere grundlaget for og egenskaberne ved foreliggende modeller og at kunne bedømme deres rækkevidde og holdbarhed. Hertil hører at kunne "afmatematisere" (træk ved) foreliggende matematiske modeller, dvs. at kunne afkode og fortolke modelelementer og -resultater i forhold til det felt eller den situation som er modelleret. På den anden side består kompetencen i at kunne udføre aktiv modelbygning i en given sammenhæng, dvs. at bringe matematik i spil og anvendelse til behandling af anliggender uden for matematikken selv. Kommentar Generelt omhandler softwareudvikling at transformere et behov udtrykt i menneskesprog til et edb-program udtrykt i matematisk sprog (operationer i det binære talsystem). Denne transformation er abstrakt og omhandler opbygning af modeller, der via mapning bliver mere og mere matematiske. I forhold til datamatikeruddannelsen er modelleringskompetence således en central matematisk kompetence. Nogle har forsøgt at gøre systemudvikling til en rent matematisk disciplin ("ingeniørvinklen"), hvor de indledende dele af modelleringsprocessen ikke spiller nogen væsentlig rolle, men det har vist sig, at dette ikke er muligt. Årsagen er, at der er mennesker involveret, såvel i processen, men også direkte i resultatet, idet ændringer i organisation, adfærd og kultur generelt også er en del af produktet. Eksemplificering Følgende eksempel kan illustrere det at kunne analysere grundlaget for og egenskaberne ved foreliggende modeller, og at kunne bedømme deres rækkevidde og holdbarhed:
Udarbejdelse af et databasedesign er et eksempel (blandt mange) på aktiv modelbygning, som i forhold til dette prototypiske eksempel kan karakteriseres som bestående af elementerne
Fra investeringsteorien, der er et af de områder, datamatikere ofte arbejder i, optræder spørgsmål som:
Besvarelse af disse spørgsmål løses ved hjælp af eksisterende matematiske modeller i skikkelse af formler (eksempelvis nutidsværdiberegninger). Eleverne skal kunne vælge mellem de mange tilgængelige formler, hvilket indebærer, at de skal afkode og fortolke de indgående elementer i forhold til den konkrete situation. Modelleringskompetence udvikles således her i tæt samspil med symbol- og formalismekompetence. G.2.4 RæsonnementskompetenceKarakteristik På datamatikeruddannelsen består dennne kompetence på den ene side i at kunne følge og bedømme et matematisk ræsonnement, dvs. en kæde af argumenter fremsat af andre på skrift eller i tale til støtte for en påstand, herunder at forstå den logiske betydning af et modeksempel. På den anden side består kompetencen i at kunne udtænke og gennemføre informelle og formelle ræsonnementer (på basis af intuition), herunder omforme heuristiske ræsonnementer til egentlige (gyldige) beviser. Kommentar Her er der heller ikke tale om en kernekompetence for datamatikere, men der er dog eksempler inden for visse områder af datamatikken (områder som traditionelt behandles relativt overfladisk på datamatikeruddannelsen). Eksemplificering Hvad angår det at kunne følge og bedømme et matematisk ræsonnement, kan det fx komme til udtryk i forbindelse med analyse af en algoritmes effektivitet som følger: Eksempel 1: Binær søgning nævnt ovenfor: bestemmelse af tidskompleksiteten. Uformelt ræsonnement: der sker en halvering hver gang. Lidt mere formelt ræsonnement: forsøge at opstille (og løse) en ligning, der, på grundlag af det uformelle ræsonnement, forbinder antallet af objekter der skal søges i blandt (n), med antallet af skridt (x) søgningen omfatter: 2x=n Üþ x log2n Et andet eksempel er anvendelse af standardiserede bevisteknikker som fx induktionsbeviser, som spiller en central rolle i flere forskellige sammenhænge inden for datamatikken. Eksempel 2: Induktionsbevis på simple eksempler, som bevis for 1+2+...+ n=1/2n(n+1) Et tredie eksempel er inden for matematisk logik (propositions- og prædikatkalkule). Eksempel 3: Logiske udtryk i programmering
Hvad angår det at kunne udtænke og gennemføre informelle og formelle ræsonnementer (på basis af intuition), herunder omforme heuristiske ræsonnementer til egentlige (gyldige) beviser, kan det fx dreje sig om analyse af inddata (eksempel 4) eller udledning af matematiske resultater, som at finde et lukket udtryk for summen 1+2+...+ n (eksempel 5). Eksempel 4: Tilstandsdiagrammer: Tilstands-/overgangsdiagram for simpel lommeregner (kun heltal, samt de fire regneoperatorer har samme prioritet). Et færdigt resultat vises i .figur G.1, men inden da skal man igennem uformelle overvejelser, som begrunder overgangene, samt påvise, at diagrammet er udtømmende (beskriver alle indtastningsmuligheder på den simple lommeregner). Figur G.1 Eksempel 5: Uformelt ræsonnement på følgende:
G.2.5 Repræsentationskompetence Karakteristik Denne kompetence består dels i at kunne forstå (dvs. afkode, fortolke og skelne mellem) og betjene sig af forskellige slags repræsentationer af matematiske objekter, fænomener, problemer eller situationer (herunder symbolske, specielt algebraiske, visuelle, geometriske, grafiske, diagrammatiske, tabelmæssige eller verbale repræsentationer, men også konkrete repræsentationer ved materielle objekter), dels i at kunne forstå de indbyrdes forbindelser mellem forskellige repræsentationsformer for det samme sagsforhold og have kendskab til deres styrker og svagheder, herunder informationstab og -tilvækst, dels i at kunne vælge blandt og oversætte imellem forskellige repræsentationsformer for et givet sagsforhold, alt efter situation og formål. Kommentar Karakterstikken her er uafgrænset i forhold til grundkarakteristikken i kapitel 4, hvilket kan tages som udtryk for, at repræsentationskompetence har en central placering i datamatikeruddannelsen. Valg af (matematisk) repræsentationsform, vurdering af alternativer og konvertering imellem forskellige repræsentationsformer er således meget centralt for datamatikere. Eksemplificering Vedrørende det at kunne forstå og betjene sig af forskellige slags repræsentationer af matematiske objekter, fænomener, problemer eller situationer kan peges på følgende forhold, som er repræsentative for en række tilsvarende eksempler. De har alle en matematisk kerne (typisk involverende logik, mængdelære og diskret matematik), selv om de optræder i datamatisk iklædning: Sondringen mellem specifikation (hvad) og implementation (hvordan) af abstrakte datatyper: Her forventes det, at eleven kender en række fundamentale abstrakte typer (stak, kø, prioritetskø, liste, mængde, multimængde, map) samt alternative implementationer af disse (array, kædet liste, cirkulær liste, bunke, søgetræ, hashtabel). Regneudtryk, udtrykstræer og præcedensregler: Her forventes det, at eleven kender syntaks og semantik for forskellige typer af udtryk, herunder pre.x, infix- og postfix-udtryk, samt teknikker til beskrivelse heraf i form af udtrykstræer og præcedensgrammatikker og evaluering ved hjælp af trægennemløb (pre-, in- og postorder-gennemløb). Talsystemer og konvertering mellem disse: Her forventes det, at eleven kender til principet for positionstalsystemer og specielt er fortrolig med 2-, 8-, 10- og 16-talsystemet, som er de fremtrædende talsystemer inden for datamatikken. Specielt skal eleven kunne konvertere frem og tilbage mellem disse talsystemer. Det at kunne forstå de indbyrdes forbindelser mellem forskellige repræsentationsformer for det samme sagsforhold og have kendskab til deres styrker og svagheder, herunder informationstab og -tilvækst drejer sig især om relationen mellem specifikation og implementation af såvel algoritmer som datastrukturer - også de af en matematisk natur - for eksempel Specifikation og implementation af datatyper og beregninger: Her forventes det, at eleven kender teknikker til abstrakt (det vil sige implementationsuafhængig) specifikation af datatyper og beregninger fx i termer af funktionelle specifikationer ved hjælp af såkaldte præ- og postbetingelser. Typehierarkier: Her forventes det, at eleven kender til principper for afkobling af programkomponenter ved at programmere op mod abstrakte datatyper (interfaces eller abstrakte klasser), hvor samme abstrakte type kan dække over vilkårligt mange, og op til den fælles abstrakte type, vilkårligt forskellige konkrete datatyper. I den forbindelse (specielt i forbindelse med simulering af "genericity") kan der opstå behov for såkaldt "downcast" for at genskabe information om objektets konkrete datatype. Formelle sprogklasser og automater: Her forventes det, at eleven kender til forskellige klasser af formelle sprog (specielt regulære og kontekstfri sprog) samt tilhørende grammatikker og automater, der kan henholdsvis generere og genkende disse sprog. Specielt forventes eleven at være fortrolig med forskellen på de forskellige sprogklasser og de tilhørende automater (reguære og kontekstfri sprog versus endelige automater og "push-down" automater). Hvad angår det at kunne vælge blandt og oversætte imellem forskellige repræsentationsformer for et givet sagsforhold, alt efter situation og formål, drejer det sig især om evnen til at kunne beskrive systemer på forskellige abstraktionsniveauer og efter forskellige perspektiver. Der er utallige eksempler på dette inden for datamatik, men her skal blot nævnes tre områder, hvor denne del af repræsentationskompetencen er essentiel: Systembeskrivelse: Her forventes det, at eleven kender teknikker til beskrivelse af statiske såvel som dynamiske aspekter af systemer, samt beskrivelser på typeniveau såvel som instansniveau, og endelig grafiske såvel som tekstuelle beskrivelser af de samme sagsforhold (fx klasse og objektmodeller, sekvensdiagrammer, tilstandsmaskiner, partielle ordninger af hændelser osv.). E/R-model versus relationel datamodel: Her forventes det, at eleven kender til datamodellering ved hjælp af E/R-modellen, samt er fortrolig med teknikker til omformning af en E/R-model til en relationel datamodel, der kan danne grundlaget for realisering i et konventionelt relationelt databasesystem. Den lagdelte computer: Her forventes det, at eleven kender til principper for hierarkisk organisering af en computers hardware og software i et antal (abstrakte) virtuelle maskiner, hvor relationen mellem de enkelte niveauer er realiseret ved hjælp af oversættelse og/eller fortolkning. G.2.6 Symbol- og formalismekompetenceKarakteristik På datamatikeruddannelsen består dennne kompetence i at kunne afkode symbolog formelsprog, i at kunne oversætte frem og tilbage mellem symbolholdigt matematisk sprog og naturligt sprog, og i at kunne behandle og betjene sig af symbolholdige udsagn og udtryk, herunder formler. Dels i at have indsigt i karakteren af og "spillereglerne" for formelle matematiske systemer (typisk aksiomatiske teorier). Kommentar En datamatiker adskiller sig væsentligt fra en datalogisk/matematisk uddannet kandidat derved, at datamatikeren som hovedregel benytter matematiske læresætninger/ resultater og kun i mindre omfang beviser disse sætningers gyldighed. Datamatikeren får derved behov for at have udviklet kompetence i forhold til at sætte sig ind i resultater, som vedkommende ikke nødvendigvis kan bevise, men som vedkommende har tiltro til er rigtige eller sandsynlige. Som før nævnt omhandler generelt softwareudvikling at transformere et behov udtrykt i menneskesprog til et edb-program udtrykt i matematisk sprog (det binære talsystem). Denne transformation er abstrakt og omhandler opbygning af modeller, der via mapning bliver mere og mere matematiske, jf. kommentaren til modelleringskompetence. Hermed anvendes symbolsprog og formalisme mere og mere, jo længere man er fremme i udviklingprocessen. Således udfordres datamatikeren ofte på en vanskeligt adskillelig måde på sin besiddelse af modelleringskompetence, repræsentationskompetence, samt symbolog formalismekompetence, hvilket også kommer til udtryk i nedenstående eksemplificering. Eksemplificering I realiseringsfasen af et softwareudviklingsprojekt udtrykker man sig meget i matematisk symbolsprog og formalisme (et programmeringssprog). Som programmør er det nødvendigt at kunne afkode et program og forstå, hvad det udfører, for at kunne foretage fejlretning og eventuelt videreudvikling. Her foretages såvel "afkodning af symbolsprog" som det at "oversætte frem og tilbage mellem symbolholdigt matematisk sprog og naturligt sprog" i vid udstrækning. Også i analyse- og designfaserne af en udviklingsproces udøves symbol- og formalismekompetencen, om end den "verden", der arbejdes i, bliver mindre matematisk, jo længere væk man kommer fra edbmaskinen. Konkret kan det eksempelvis handle om
Det at behandle og betjene sig af formler er der allerede givet et par eksempler
på i forbindelse med Eksemplificeringen af modelleringskompetencen. Her kan vi tilføje kompleksitets-, performance- og kapacitetsberegninger forudseelse af eventuelle flaskehalse i et computernetværk, samt utallige problemstillinger fra investeringsteori og regnskabsanalyse som eksempler på områder inden for datamatikeruddannelsen, hvor formler er i spil i stor udstrækning. Indsigt i karakteren af og "spillereglerne" for formelle matematiske systemer kommer fx i spil i forbindelse med
Karakteristik På datamatikeruddannelsen består dennne kompetence i at kunne sætte sig ind i og fortolke andres matematikholdige skriftlige, mundtlige eller visuelle udsagn og "tekster", dels i at kunne udtrykke sig på forskellige måder og på forskellige niveauer af teoretisk eller teknisk præcision om matematikholdige anliggender, skriftligt, mundtligt eller visuelt over for forskellige kategorier af modtagere. Kommentar Typiske "modtagere" er medstuderende, lærere, brugere af it-systemer, beslutningstagere i virksomheder/det offentlige vedr. it-systemudvikling eller itanskaffelser m.v. Eksemplificering Næsten alle de eksempler, som tidligere er givet til illustration af de øvrige kompetencer, kan også tjene til at eksemplificere kommunikationskompetence i og med matematik, hvorfor et enkelt eksempel nævnt her må række:
Kommunikationskompetencen tydeliggøres derefter yderligere, når der skal udarbejdes en brugervejledning til dette program/system. Eksempelvis i beskrivelsen af inddata og uddata fra programmet, samt selve programmets logik. Alt dette (m.m.) skal datamatikeren kunne formidle skriftligt, mundtligt og visuelt til mange forskellige målgrupper og med forskellige niveauer af teoretisk og teknisk præcision. Målgrupper er beslutningstagere, brugere, systemudviklere, programmører, driftsafdeling, systemprogrammører osv. G.2.8 HjælpemiddelkompetenceKarakteristik På datamatikeruddannelsen består dennne kompetence i dels i at have kendskab til eksistensen og egenskaberne ved diverse former for relevante redskaber til brug for matematisk virksomhed, og have indblik i deres muligheder og begrænsninger i forskellige slags situationer, dels i at være i stand til, på reflekteret vis, at betjene sig af sådanne hjælpemidler. Kommentar På datamatikeruddannelsen bruges - ikke overraskende - en lang række itredskaber, som jo i sig selv kan være et matematisk hjælpemiddel. Flere af disse it-redskaber har indbyggede matematiske hjælpemidler, hver især med mange muligheder og begrænsninger i forhold til forskellige anvendelsesområder/ problemstillinger. Eksemplificering Også her kunne en lang række af de tidligere nævnte eksempler genbruges med en påpegning af, hvilke hjælpemidler der forventeligt vil være i spil ved arbejdet med de forskellige opgaver. Udover at pege på den oplagte brug af lommeregner, regneark, pc osv. vil vi nøjes med et eksempel, hvor udvikling af matematikforståelse og betjeningen af et stykke software går hånd i hånd:
|
![]() |
||||||||||
![]() ![]() ![]() Til sidens top |