1 / 13

Projektforslag på modul 2 ved Keld Helsgaun

Projektforslag på modul 2 ved Keld Helsgaun. Gå bag kulisserne. Fagligt indhold. Projekt- og kursusarbejdet skal give de studerende indsigt i følgende emnekredse:. Teknologi:. (edb-teknologi). Datamaskinens opbygning Basisprogrammel Programmeringssprog

Download Presentation

Projektforslag på modul 2 ved Keld Helsgaun

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Projektforslag på modul 2ved Keld Helsgaun

  2. Gå bag kulisserne Fagligt indhold Projekt- og kursusarbejdet skal give de studerende indsigt i følgende emnekredse: Teknologi: (edb-teknologi) • Datamaskinens opbygning • Basisprogrammel • Programmeringssprog • Datamatbaserede værktøjer • Teoretiske modeller for datamaskiner og beregninger • Maskinnære sprog • Paradigmer for højniveausprog • Syntaks og semantik for programmeringssprog Sprog: (formaliserede sprog)

  3. NESL - et sprog til parallelprogrammering • udviklet ved Carnegie Mellon (USA) • tilbyder parallelle operationer på data • programmer i sproget er lette at forstå og bevise (velegnet som undervisningssprog) • Eksempel (Quicksort): • function Quicksort(S) = • if (#S <= 1) then S • else • let a = S[rand(#S)]; • S1 = {e in S | e < a}; • S2 = {e in S | e = a}; • S3 = {e in S | e > a}; • R = {Quicksort(v): v in [S1,S3]}; • in R[0] ++ S2 ++ R[1] $

  4. Projektideer • NESL-programmer er flytbare, idet de oversættes til en mellemkode kaldet VCODE. • Mulige projekter: • En oversætter til NESL • En VCODE-fortolker • Animering af programkørsel • Evaluering af NESL

  5. Grænseflader imellem sprog- anvendelse af Javas ”native interface” • Javas ”native interface” benyttes, når • (1)Java ikke understøtter platformsafhængige faciliteter, • (2) eksisterende programmel skrevet i andre sprog end Java, ønskes benyttet i et Java- program, • (3) størst mulig effektivitet er ønskelig. • Projektide: effektiv quicksortering i Java-programmer.

  6. Billedkomprimering • Motivation: minimering af transporttiden ved overførsel af billeder på datanetværk. • Metode (fraktal billedkomprimering): et billede lagres som en samling af simple transformationer. Kunsten er at bestemme samlingen af transformationer. • Projekttide: udvikling af en programpakke til fraktal billedanalyse.

  7. Ekspertsystemer • Et ekspertsystem er et program, der anvender sig af specifik viden inden for et givet område for derved at opnå en kompetence, der kan sidestilles med en eksperts. • En ekspertsystemskal er programmel, der kan benyttes til at udvikle ekspertsystemer. • Projektide: implementering og afprøvning af en ekspertsystemskal.

  8. Bruger Ekspertsystemskal Brugergrænseflade Videnbase-editor Forklaringsdel Inferensmaskine Videnbase Ekspertsystem Arkitekturen af et ekspertsystem

  9. Automatisk bevisførelse • Megen viden kan formuleres i den såkaldte første-ordens prædikatlogik. • Eks. menneske(Socrates) • "x: menneske(x) fi dødelig(x) • Heraf kan sluttes dødelig(Sokrates) • Projektide: Udvikling af et program til automatisk bevisførelse.

  10. Databaseteknologi • I mangle anvendelser ønskes søgning på flere nøgler samtidigt. • Eks. Find alle personer i en database, der hedder Jensen, og som er mellem 20 og 25 år. • I eksemplet her er der både tale om flernøgle-søgning og om intervalsøgning. • Effektiv søgning kræver specielle datastrukturer.

  11. Projektide • Udvikling af et databasesystem til fler-nøglesøgning, f.eks. baseret på en af nedenstående datastrukturer: • BD-træer • KD-træer • Quad-træer • BP-træer • Flerdimensionel hashing • Fraktionelle kaskader

  12. Funktionsorienteret programmering • I et funktionsorienteret sprog udgør funktioner de centrale byggeklodser. • En funktion kan have funktioner som argumenter, og værdien af en funktion kan være en ny funktion. • Et meget anvendt funktionsorienteret sprog er Lisp. • Projektide: udvikling af en oversætter og fortolker i Java for sproget Lisp.

  13. X EQU 1000 ORIG 3000 MAXIMUM STJ EXIT INT ENT3 0,1 JMP CHANGEMEM LOOP CMPA X,3 JGE *+3 CHANGEMEM ENT2 0,3 LDA X,3 DEC3 1 JSP LOOP EXIT JMP * Simulering af en maskine • Projektideer: Udvikling af en simulator for Javas virtuelle maskine • Udvikling af en simulator for MIX

More Related