Introduktion til programmering. Afslutning

Størrelse: px
Starte visningen fra side:

Download "Introduktion til programmering. Afslutning"

Transkript

1 Introduktion til programmering Afslutning

2 Hovedideen

3 Peirce s tegnbegreb Repræsentamen, objekt og interpretant

4 Computerbaserede tegn Interfacetegn: angiver hvad man har gjort, kan gøre, og ikke kan gøre Modalitet: er tilfældet, er muligt, er umuligt

5 Databaser firstname lastname address city gender phone insurance hasfather hasmother hasdoctor Jeppe Boegh Lotte Boegh Andersen Andersen Thorsgade 20 Thorsgade 20 Stine Jacobsen Thorsgade dreng Baltica pige Baltica pige baltica

6 OO modellering class Person: def init (self,name,address, cpr): self.name = name self.address = address self.cpr = cpr def changename(self, newname): class Patient(Person): def init (self,name,address,cpr): Person. init (self,name,address, cpr) self.ward = ' self.hospital = ' def admit(self,ward, hospital): if self.ward == ': self.name = newname def changeaddress(self,newcpr): self.cpr = newcpr def printperson(self): print 'cpr = '+ self.cpr print 'name = '+ self.name self.ward = ward self.hospital = hospital else: print self.name + 'is already admitted' def discharge(self): if self.ward!= ': self.ward = ' print 'address = '+ self.address self.hospital = ' else: print self.name + 'is not admitted yet' def printpatient(self): self.printperson() print 'ward = '+ self.ward print 'hospital = '+ self.hospital

7 OO Modellering >>> from semiotik import * >>> patient = Patient('Karl','Vestergade 10',' ') >>> patient.admit('p5','skejby') >>> patient.printpatient() cpr = name = Karl address = Vestergade 10 ward = P5 hospital = Skejby >>> patient.admit('p6','skejby') Karl is already admitted >>> patient.discharge() >>> patient.admit('p6','skejby') >>> patient.printpatient() cpr = name = Karl address = Vestergade 10 ward = P6 hospital = Skejby

8 OO Modellering

9 Maskinsprog

10 Maskinel tegndannelse Et program kan referere til sig selv eller dele af den fysiske maskine

11 Databaser

12 Databaser formidler en bestemt fortolkning Verden består af enheder og relationer It s useful to view a database as a set of propositions concerning some enterprise of which the database is supposed to provide some kind of record (Hugh Darwen)

13 Databaser skal indgå i organisationens kommunikation Luhmann: en organisation eksisterer (kun) som kommunikation En kommunikation skal kunne avle den næste kommunikation

14 Meningsfulde relationer Hvis en tabel kan parafraseres ved en en eller flere simple sætninger med primærnøglen som subjekt og tabelnavnet som verbum og kolonnenavnene som sætningsled eller kolonne navnene som del af prædikatet kan vi afgøre hvad databasen repræsenterer i virkeligheden Ejer(personId, kæledyrsid) personid ejer kæledyrsid Person(cpr,navn,adresse,ægtefælle) Cpr hedder navn Cpr bor på adresse Cpr er gift med ægtefælle Hvis vi ikke kan omdanne tabellen til sætninger, kan vi ikke tale om dens indhold. Tabellen kan derfor ikke gå videre i organisationens kommunikation (Luhmann)

15 Python

16 Pythons udtryk repræsenterer objekter a = [1,2,3,4] b = a Indirekte reference.

17 Indirekte reference >>> navn peter >>> id(navn) navn Interpretant: Python peter Representamen: navn Objekt: : Representamen Objekt: peter Interpretant: Python

18 Værdier Det grundlæggende element i Python er værdier der tilhører bestemte typer Værdier er næsten altid objekter Eksempler på typer: Et tal eller en tekst (string) Nogle typer er indbyggede, andre er defineret af programmøren Tal og tekst er to grundlæggende indbyggede typer Vi refererer til værdier ved hjælp af navne (variable) Interpretant: Python fortolkeren Repræsentamen: navn Objekt: værdi/objekt

19 Værdier og typer >>> navn = 'peter >>> telefon = >>> navn 'peter >>> telefon >>> type(navn) <type 'str'> >>> type(telefon) <type 'int'> Type: tekst (string), markeret ved apostrofferne Type: heltal Vi kan checke hvilken type værdien er ved hjælp af type

20 Datatyper er tolkninger af bitmønstre og kan ændres Interpretant: regler for tekstbehandling >>> x = 12 >>> y = int(x) Repræsentamen: x Objekt: 12 Interpretant: regler for talbehandling Repræsentamen: y Objekt: 12

21 Alle udtryk har tilknyttet værdier 'boegh ['peter', 'boegh', 'andersen [['peter', 'boegh', 'andersen'], 59] Person [0] [1]

22 Funktionsnavne repræsenterer også objekter Funktionens navn def udskrivomvendt(tekst): return tekst[::-1] >>>x = udskrivomvendt('peter') >>> x 'retep Parametrene Beskrivelse af selve funktionen (callable object)

23 Algoritmer repræsenteres af sætninger i en programtekst Program: repræsentation af (eller eller flere) algoritmer Proces: udførelse af en algoritme

24 Repræsentationer og deres objekter Store dele af Python kan forstås gennem følgende simple model: En repræsentation/udtryk står for et objekt/en værdi Fortolkningen af et udtryk producerer det objekt som repræsentationen står for Kombinationen af en funktion/operation plus andre værdier producerer en nye værdi Et funktionsnavn står for et funktionsobjekt print intersection <function intersection at 0x011851B0> Repræsentation Simpelt udtryk Operationer Sammensatte udtryk Funktionsnavn Funktionskald Sætning Objekt, Værdi Liste, tekst, tupel, boolsk værdi, dictionary, heltal Operation Værdien af udtrykket funktionsobjekt Værdien af det der returneres tilstandsforandringer Eksempel [1,2,3], peter, (2,3,4), True [1:3], and, + str((12+34))[1] == 6, 1 > 2 == False intersection repræsenterer 0x011851B0 der igen repræsenterer et funktionsobjekt intersection([1,2,3],[2]) repræsenterer en liste

25 Menneskesprog og programmeringssprog

26 Samme sag kan udtrykkes i forskellige sprogformer 1 Dansk Så længe der er muslinger i spanden: Tag en musling op af spanden Hvis muslingen er lukket så: Ellers: Smid den i gryden Smid den i affaldsposen Kog muslingerne i 5 min Så længe der er muslinger i gryden Tag en musling op af gryden Hvis muslingen er åben så: Ellers: Læg den på fadet Smid den i skraldespanden

27 Samme sag kan udtrykkes i forskellige sprogformer 2 Python # Spanden indeholder muslinger. 0 betyder lukket, 1 betyder åben spand = [1,0,0,1,0,1,0,0] # gryde og affaldspose er tomme i starten gryde = [] affaldspose = [] # sålænge der er muslinger i spanden while spand <> []: # tag en musling op enmusling = spand[0] del spand[0] # hvis muslingen er lukket if enmusling == 0: #så smide den i gryden gryde.append(enmusling ) # ellers else: #smid den i affaldsposen affaldspose.append(enmusling ) Kommentarer til menneskelig fortolkning

28 Sammenligning Samme algoritme, forskellige programmer Menneskelig versus maskinel fortolker Computerprogrammer skal læses af både mennesker og maskiner Interpretanten er under forhandling ved menneskelige fortolkere, ikke ved maskinelle Man laver tonsvis af fejl i starten!! Naturlie sprog udvikler sig kontinuerligt Computersprog er stabile i perioder og udvikler sig i versioner (Python 2.3 Python 2.4) Abstraktion Muslinger er repræsenteret ved én egenskab: lukket eller åben

29 En væsentlig forskel Udtryk er repræsentationer Deres objekt er værdier De frembringer de værdier de repræsenterer Det gør de naturlige sprog ikke At sige en Peugeot 307 frembringer ingen bil Men at skrive 'Peter'[1:3] frembringer teksten 'et' Interpretant: en udførelse Repræsentamen: termer og udtryk Objekt: værdier, f.eks. tekster, tal, lister, tupler, dictionaries

30 Tolkningsregler er nødvendige Muslingeprogrammet kan tolkes som udsagn om hvordan man tillaver muslinger givet bestemte tolkningsregler spand = [1,0,0,1,0,1,0,0] #spand = en spand med muslinger gryde = [] #den gryde vi vil kode muslingerne i affaldspose = [] #den affaldspose vi smider de dårlige muslinger i while spand <> []: # spanden er ikke tom enmusling = spand[0] # tag en musling op del spand[0] if enmusling == 0: #muslingen er lukket else: gryde.append(enmusling ) #læg den i gryden affaldspose.append(enmusling ) #læg den i affaldspose

31 Tolkningsreglerne Tolkningsregler En liste tolkes som en kontainer EN tom liste tolkes som en tom kontainer 0,1 tolkes som muslinger i en bestemt tilstand Enmusling tolkes som den musling jeg har i hånden Slettelse af et element fra en liste tolkes som det at tage noget op af en kontainer Tilføjelse af et element til en liste tolkes som det at lægge noget ned i kontaineren.

32 Scope = Pythons regler for tolkning af navne Scope = samtalekontekst Namespace = interpretant der angiver hvad navne står for In Python: en slags dictionary hvor navne er knyttet til objekter { A :integerobjekt, B : funktionsobjekt, } Namespaces er knyttet til kontekster lige som i naturlige sprog

33 Hvad betyder et navn? Samtalekonteksten og tidsforløbet afgør hvad en repræsentation (et navn) repræsenterer. Det danske samfund: Anders Fogh betegner statsministeren Vi kan bruge Fogh som henvisning til statsministeren: Fogh statsministeren Familiesammenkomst (del af det danske samfund): Hvis intet andet er sagt gælder reglen stadig. Fogh har en del bøvl med sine ministre i øjeblikket Men hvis der kommer en replik Kan I huske Købmand Fogh Ja, ja Fogh har lige solgt sin forretning Så etableres referencen Fogh købmanden

34 I naturlige sprog Referencen afgøres af Egenskaber ved objektet (han/hunkøn, andre egenskaber) Hvornår objektet sidste blev omtalt og hvor vigtigt det er Om der er nævnt andre kvalificerede objekter imellem taletidspunktet og sidste omtale Eksempel Prøv at se den mand derovre Ja, han (manden derovre) er noget nervøs Men se så ham bagved Han (manden bagved) ser mere ud til at have kontrol over tingene.

35 Scope i Python Lokale navne bruges i funktioner De forsvinder når funktionen er kørt færdig Der er 4 samtalekontekster Indbyggede navne (open, range, etc) Modulet (globale): navne der er blevet tilskrevet (A = 9) en reference i modulet eller er blevet erklæret globale Lokale navne i omgivende funktioner Lokale navn i funktionen: navne der er blevet tilskrevet en reference i modulet

36 Samme sag kan udtrykkes i forskellige sprogformer Digitale medier er led i en kommunikationskæde der også involverer de naturlige sprog Der er forskel på hvad man kan udtrykke i digitale medier og naturlige sprog Digitale medier er typisk mere restriktive men tilbyder nye muligheder på grund af disse restriktioner.

37 Samme repræsentation tolkes forskelligt af forskellige fortolkere Maskinen tolker et program som instruktioner om at skifte tilstand Programmøren tolker et program som Instruktioner til maskinen om at skifte tilstand En beskrivelse af genstande og hændelser i problemområdet Brugeren tolker en programudførelse som en beskrivelse af genstande og hændelser i problemområdet

38 Programtekstens to tolkninger Interpretant: programudførelse Interpretant: madlavning Objekt: Funktionsobjekt er, lister, etc. representamen: programtekst Objekt: (domæne) muslinger

39 Indkapsling og fortolkningsskift Funktioner er også en metode til at skifte fortolkning Funktionens navn repræsenterer én del af verden f.eks. problemområdet Funktionens indre repræsenterer en anden del af verden f.eks. computeren. Repræsentation af begivenheder i computeren Repræsentation af begivenheder i problemområdet

40 Afsnit 1: maskinen #en verden af lister og tal def KoekkenUdstyr(): return ([],[],[]) def TagOpAf(enKontainer): EtElement = enkontainer[0] del enkontainer[0] return EtElement def LaegI(etElement,enKontainer): enkontainer.append(etelement) def FyldMed(enKontainer, etindhold): enkontainer.extend(etindhold) def Toem(enKontainer): del(enkontainer[:]) def DerErNogetI(enKontainer): return enkontainer <> [] def ErLukket(etElement): return etelement == 0 def KoekkenTilstand(spand, gryde, affaldspose): print ' spandens indhold: %s. Grydens indhold: %s. Affaldsposens indhold: %s '% (spand, gryde, affaldspose)

41 Afsnit 2: madlavning #en verden af muslinger og koekkenredskaber (spand, gryde,affaldspose) = KoekkenUdstyr() FyldMed(spand,[1,0,0,1,0,1,0,0]) Toem(gryde) Toem(affaldspose) KoekkenTilstand(spand, gryde, affaldspose) while DerErNogetI(spand): enmusling = TagOpAf(spand) if ErLukket(enmusling): LaegI(enmusling,gryde) else: LaegI(enmusling,affaldspose) KoekkenTilstand(spand, gryde, affaldspose)

42 Endnu tættere på domænefortolkning bucket = Container() pot = Container() wastebag = Container() you.fill(bucket,'with', Mussels()) while bucket.contains(mussel): you.take(it, 'from', bucket) if it.isclosed(): you.put(it,'into', pot) else: you.put(it,'into', wastebag)

43 Modulet database Sørger for overgangen mellem pythonverdnen og sql-verdnen I: SQL I: Python O: SQL-kommando Select from where R: findrecords('child',['cp r','firstname','lastname'],{'cpr':' '}) O: Python datastrukturer (lister og dictionaries)

44 Meta-repræsentationer og selv-reference Meta-repræsentationer: repræsentationer hvis objekter er andre repræsentationer Selv-reference: repræsentationer der repræsenterer sig selv

45 Meta-repræsentationer Tekster der repræsenterer tekster ved hjælp af tekster!!! Web-programmering

46 Modulet Webpages repræsenterer websider! # "# #! "# $!

47 Modulet OOogSql repræsenterer en database

48 Selv-reference: URL er repræsenterer deres egen interpretant En URL er en sammensat repræsentation Dens interpretant er fastlagt i HTTP-standarden De objekter den repræsenterer er: En fortolkningsregel En server En sti på serveren Et dokument interpretant server sti dokument

49 URL er som selv-refererende tegn Interpretant: HTTP repræsentamen: URL Objekt: interpretant, server, sti, dokument

50 Selv-reference URL en repræsenterer sin egen fortolkningsregel (http) Nødvendigt i et dynamisk foranderligt medium hvor regler skifter hele tiden.

51 Praktisk eksempel på selvreference Når I skal sætte Python til at lave dynamiske hjemmesider skal I sørge for to selv-referencer: Hvad er jeg for en slags dokument? print Content-type: text/html Hvilken version af HTML og hvilket sprog er jeg skrevet i? def printoverskrift(titel): print ' <?xml version="1.0" encoding="iso "?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1- strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">

52 Introspektion Python indeholder en række funktioner der giver direkte adgang til dens indvolde Objekt. dict : en dictionary der gemmer objektets attributter og værdier Dir(object): returnerer alle de attributter og metoder der er knyttet til objektet.

53 Introspection def introspect(self): text = 'Dictionary: ' text += '\n'+ str(self. dict ) text += '\n'+'attributes and functions: ' text += '\n'+ str(dir(self)) return text

54 Self en grundlæggende selvreference self henviser til det nydannede objekt Når man i klassedefinitionen vil henvise til objektets egne funktioner eller variable skal det ske via self def getname(self): return self.name

55 Rekursion: algoritmisk selvreference En rekursiv algoritme refererer til dele af sig selv

56 Problematisk rekursion Løsning af ægteskabelige problemer Tal sammen uden at skændes Forstå hinanden Forstå hinanden Tal sammen uden at skændes Løsning af økonomiske problemer Skaf penge: Invester i aktier Invester i aktier: Skaf penge Fører til en uendelig regres

57 Effektiv rekursion Fremgangsmåde Basis tilfældet: Involverer ikke rekursion men kun primitive operationer der umiddelbart kan udføres Det rekursive tilfælde: Involverer rekursion men for et simplere problem

58 Rekursiv sortering Sortering af liste if listens længde <= 1: returner listen else: Basistilfældet: primitiv operation Rekursivt kald af et mindre kompliceret problem returner det mindste element i listen + Sortering af listen der er fratrukket dette mindste element

59 Tolkning i termer af problemområdet Datastrukturer og organisationsanalyse

60 Tolkning af abstrakte datastrukturer Repræsentation Lister Stakke Køer Træer Rekursion Objekt Associationer Mål og midler Prioritering og afbrud Køer i supermarkedet Trafikpropper Helheder og dele Overordnet og underordnet Mål og midler Helhed og del

61 Organisationer som maskiner Bureaukratiske organisationer Træer Kommunikationen følger grenene på træerne Køer (Dora). Galt valg af tolkning Leder Mellemleder ordre rapport Mellemleder Arbejder rapport ordre Arbejder

62 Organisationer som flux Kommunikation skaber ny kommunikation. Organisationen og dens grænser omog genskabes ved kommunikation Connected, directed graph with loops

63 Kommunikationsstøtte Holde styr på faser og forpligtelser Winograd & Flores: understanding computers and cognition, genforhandle annulere erklære anmode love udføre påstå erklære acceptere Ordre indvende annulere Ordrebekræftelse Følgeseddel afvise Kvittering faktura annulere

64 Composite mønstret: et træ Der er en én-mange relation mellem en samling og dens dele En relation er et abstrakt begreb der kan implementeres på mange måder. SQL: som en relation Python: som en liste af objekter

65 Specialisering af mønstret til beskrivelse af organisation Vi har at gøre med et hierarki (et træ) Nye attributter Nye attributter Hierarkiet er at typen organisation Nye metoder Omdefinerede funktioner

66 Programmeringssprog Programmeringssprog udtrykker en tolkning af virkeligheden

67 Programmeringsparadigmer Et paradigme udtrykker et syn på problemområdet Interpretant paradigmets syn på verden Repræsentation program Objekt problemområde

68 Imperative Interpretant: Verden består af aktive processer og passive ting Tingene flyder mellem processerne og skifter tilstand Programmering Ontologi Udform en algoritme der omdanner ting En algoritme er en sekvens af tilstandsændringer Subjekt Objekt Temporalt struktureret Tekstgenre: narrativ

69 Objektorienterede Interpretant: Verden består af aktive objekter samt af kommunikation mellem disse objekter Objekterne har metoder tilknyttet >>> x = ['a','b','c'] >>> x.extend([1,2,3]) Programmering: lav en struktur af objekter hvis vekselvirkning resulterer i det ønskede resultat Simuler problemområdet Ontologi Note Subjekt/Objekt % Subjekt/Objekt Indeholder normalt en procedural komponent (C++, Python) Understøtter indkapsling og genbrug Tekstgenre: deskriptiv.

70 Funktionelle Interpretant Verden består af afhængigheder Inspireret af matematikken Programmering Ontologi Lav et hierarki af funktioner der kalder andre funktioner Funktion(funktion(funktion(data))) Input-output, a-temporal Python har et funktionelt subset (apply, map, reduce, listcomprehension)

71 Deklarative Interpretant Verden består af sande eller falske sætninger samt af logiske slutningsprocesser Ontologi Logisk positivisme Logisk, a-tamporal Tekstgenre: argumentativ

72 Prolog 1: påstande far(peter,jeppe). far(peter,lotte). mor(else,jeppe). mor(else,lotte). far(jeppe,estrid). mor(lotte,erik). mor(lotte,ida). han(peter). han(jeppe). han(erik). hun(else). hun(estrid). hun(ida). hun(lotte).

73 Prologg 2: slutningsregler farfar(aeldre,yngre) :- far(aeldre,mellem),far(mellem,yngre). farmor(aeldre,yngre) :- mor(aeldre,mellem),far(mellem,yngre). morfar(aeldre,yngre) :- far(aeldre,mellem),mor(mellem,yngre). mormor(aeldre,yngre) :- mor(aeldre,mellem),mor(mellem,yngre). soen(yngre,aeldre) :- han(yngre),far(aeldre,yngre). soen(yngre,aeldre) :- han(yngre),mor(aeldre,yngre). datter(yngre,aeldre) :- hun(yngre),far(aeldre,yngre). datter(yngre,aeldre) :- hun(yngre),mor(aeldre,yngre).

74 Prolog 3: slutningsregler bedstemor(aeldre,yngre) :- mormor(aeldre,yngre). bedstemor(aeldre,yngre) :- farmor(aeldre,yngre). bedstefar(aeldre,yngre) :- morfar(aeldre,yngre). bedstefar(aeldre,yngre) :- farfar(aeldre,yngre). barnebarn(yngre,aeldre) :- bedstemor(aeldre,yngre). barnebarn(yngre,aeldre) :- bedstefar(aeldre,yngre). soennesoen(yngre,aeldre) :- soen(yngre,mellem), soen(mellem,aeldre). datterdatter(yngre,aeldre) :- datter(yngre,mellem), datter(mellem,aeldre). soeskende(a,b) :- far(x,a), far(x,b), not(a = B). soeskende(a,b) :- mor(x,a), mor(x,b), not(a = B).

75 Prolog 4: forespørgsler 1?- barnebarn(x,peter). X = erik ; X = ida ; X = estrid ; No 2?- farfar(peter,x). X = estrid ; No 3?- morfar(peter,x). X = erik ; X = ida ; No 4?- soeskende(erik,x). X = ida ;

76 Summa summarum IT-systemer er fortolkninger af virkeligheden De anlægger et bestemt perspektiv Kode har altid tre fortolkninger: Hvad maskinen skal gøre når den eksekverer koden Hvad udvikleren har til hensigt koden skal repræsentere i problemområdet Den måde brugeren fortolker en udførelse på. Det gælder om at de tre fortolkninger ikke er i modstrid men det er svært

77 Systemudvikling

78 Foråret Anvendelsesområdet (interpretanten) Opgaver, genstande og personer der bruger systemet Problemområdet (objektet) Opgaver, genstande og personer som systemet repræsenterer

79 Foråret

80 Foråret To områder Problemområdet: hvad skal systemet repræsentere? Anvendelsesområdet: hvordan skal det bruges Det er nu forbudt at beskrive implementeringen! Systembeskrivelse: Introduktion til én metode med fokus på design af IT-systemer: Mathiassen, Munk-Madsen, Nielsen og Stage: Objektorienteret analyse & design, Marko, 2001 Introduktion til bredere metoder med relevans for design af IT-systemer Aktivitetsteori ANT Semiotik Grænseflade design: formidling og betjening Traditionelle grænseflader Nye grænseflader, pervasive computing Samarbejde med brugere og designvidenskab: Metaforer og mock-ups Prototyper

Uge 36 Intro Kap 0 og 2 i Computer science

Uge 36 Intro Kap 0 og 2 i Computer science Uge 36 Intro Kap 0 og 2 i Computer science Plan Personer og kompetencer Aula Kususplan Formål Eksamen Computerens historie Computeren som tegnbærer Algoritmer hvad består et program af Maskinarkitektur

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.

Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Introduktion til programmering Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Plan Programmeringsparadigmer Funktionel programmering i Python Pause Scope: referencekonteksten

Læs mere

Introduktion til programmering. Intro

Introduktion til programmering. Intro Introduktion til programmering Intro Plan Personer og kompetencer Studieportalen Kususplan Formål Eksamen Computerens historie Computeren som tegnbærer. Maskinarkitektur Python Personer og kompetencer

Læs mere

Introduktion til programmering. Uge 38 Python 2 Learning Python, kap 8-12.

Introduktion til programmering. Uge 38 Python 2 Learning Python, kap 8-12. Introduktion til programmering Uge 38 Python 2 Learning Python, kap 8-12. Plan Sidste gang Sætninger og udtryk Kontrolstrukturer Selektion If : Gentagelse While : For : Funktioner Dokumentation Anden obligatoriske

Læs mere

Programmeringscamp Opbygning og specialisering af klassehierarki. Simulering af en kasselinje

Programmeringscamp Opbygning og specialisering af klassehierarki. Simulering af en kasselinje Programmeringscamp Opgave 9 var helt tydeligt for svær det var imponerende at 7 faktisk afleverede! Vi bruger uge 48 til at gå lidt grundigere igennem objektorienteret programmering, specielt teknikken

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Introduktion til programmering. Uge 40 Python 2 Learning Python, kap 8-12.

Introduktion til programmering. Uge 40 Python 2 Learning Python, kap 8-12. Introduktion til programmering Uge 40 Python 2 Learning Python, kap 8-12. Plan Sidste gang Sætninger og udtryk Kontrolstrukturer Selektion If : Gentagelse While : For : Funktioner Stand-up programmering

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Introduktion til programmering. Uge 36 Intro Kap 0 og 2 i Computer science

Introduktion til programmering. Uge 36 Intro Kap 0 og 2 i Computer science Introduktion til programmering Uge 36 Intro Kap 0 og 2 i Computer science Plan Personer og kompetencer Studieportalen Kususplan Formål Eksamen Computerens historie Computeren som tegnbærer. Maskinarkitektur

Læs mere

Introduktion til programmering

Introduktion til programmering Introduktion til programmering Databaser Uge 37 Computer Science, kap 9. Hugh Darwen: what a database really is, G. Riccardi: Princples of database systems, kap 2., kompendium. Plan Oprette jer på IMV

Læs mere

Introduktion til programmering. Uge 37 Python I Learning Python, kap 4-7.

Introduktion til programmering. Uge 37 Python I Learning Python, kap 4-7. Introduktion til programmering Uge 37 Python I Learning Python, kap 4-7. Plan Sidste gang Hvad er et Python program Udtryk Værdier og Datatyper Filer Første obligatoriske øvelse Sidste gang Computerens

Læs mere

Klasser og Objekter i Python. Uge 11

Klasser og Objekter i Python. Uge 11 Klasser og Objekter i Python Uge 11 Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. Klassens objekter er instanser af klassen. En programudførelse

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16,

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Analyse, problemområde, anvendelsesområde

Analyse, problemområde, anvendelsesområde OOA&D, kap. 1-5 Fiktiv case Det supermarked I dagligt handler i, skal have et integreret kasse-, lagerstyrings- og EDI-system. Systemet skal gøre det muligt at sænke varebeholdningen uden at der kommer

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

Introduktion til programmering. Programmeringssprog Uge 41 Computer Science, kap 6. Learning Python: kap 13, 14.

Introduktion til programmering. Programmeringssprog Uge 41 Computer Science, kap 6. Learning Python: kap 13, 14. Introduktion til programmering Programmeringssprog Uge 41 Computer Science, kap 6. Learning Python: kap 13, 14. Opgaver Generelt OK opgaver, OK kommentarer Kun få har husket at kommentere HMTL-koden. Det

Læs mere

Introduktion. Philip Bille

Introduktion. Philip Bille Introduktion Philip Bille Plan Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer og datastrukturer Hvad er det? Algoritmisk problem: præcist defineret relation mellem

Læs mere

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Programmeringscamp. Implementer funktionerne én for én og test hele tiden. Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere

Læs mere

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database Øvelse 10. Dynamiske web-sider og cgi-modulet I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere til vintereksamen. klient Forespørgsel/

Læs mere

Bits DM534. Rolf Fagerberg, 2012

Bits DM534. Rolf Fagerberg, 2012 Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et

Læs mere

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen Indlejring og Nedarvning Downey, Elkner & Meyers: Chapt. 15-16 Andersen & Simonsen: kap. 8 Vi har tidligere set løkker af forskellig

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk

Orienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

Læs mere

Introduktion til programmering. Uge 41 Computer Science Netværk Kap 3-4.

Introduktion til programmering. Uge 41 Computer Science Netværk Kap 3-4. Introduktion til programmering Uge 41 Computer Science Netværk Kap 3-4. Sidste gang Sætninger og udtryk Funktioner Kontrolstrukturer Selektion Gentagelse Formålet genopfrisket Introducere nogle centrale

Læs mere

Kreativ programmering

Kreativ programmering Kreativ programmering Mads Remvig Lærer og digital læringsvejleder Beder skole - Aarhus Underviser i matematik, fysik/kemi, håndværk og design Frivillig i Coding Pirates i Århus Kodeklub Master i It, Kommunikation

Læs mere

2. Husk at give execute-tilladelser. I Filezilla højreklikker I på den overførte file, så vælger I fileattributes og sætter kryds i execute.

2. Husk at give execute-tilladelser. I Filezilla højreklikker I på den overførte file, så vælger I fileattributes og sætter kryds i execute. Øvelse 10. Dynamiske web-sider og cgi-modulet I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere til vintereksamen. I får udleveret et lille

Læs mere

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database Øvelse 12. Dynamiske web-sider og cgi-modulet Teori: CGI Øvelse: anvendelse af cgi-modulet. I denne opgave skal vi bygge de foregående opgaver sammen til en mini-udgave af det samlede system I skal aflevere

Læs mere

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7.

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7. Introduktion til programmering Uge 39 Python I Learning Python, kap 4-7. Plan Hvad er et Python program Udtryk Værdier og Datatyper Øvelse Lister og dictionarys Stand-up programmering Filer Øvelse Fortolkning/compilering

Læs mere

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5 Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:

Læs mere

Introduktion til programmering

Introduktion til programmering Introduktion til programmering Databaser Uge 45 Computer Science, kap 9. Hugh Darwen: what a database really is, G. Riccardi: Princples of database systems, kap 2., kompendium. Eksamen Eksamensfordringer

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

Objektorientering og databaser

Objektorientering og databaser Databaser, efterår 2002 Objektorientering og databaser Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

PHP Crash course. Databaser

PHP Crash course. Databaser PHP Crash course Databaser PHP Intro PHP er et server scripting sprog der kan bruges til at lave aktivt indhold på hjemme sider. Der er to betingelser som skal opfyldes for at serveren fortolker PHP koden.

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Databasesystemer. IT Universitetet i København 16. januar 2006

Databasesystemer. IT Universitetet i København 16. januar 2006 Databasesystemer IT Universitetet i København 16. januar 2006 Eksamenssættet består af 5 opgaver med 16 spørgsmål, fordelt på 6 sider (inklusiv denne side), samt et svarark, hvor visse spørgsmål skal besvares.

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Introduktion til SQL

Introduktion til SQL Introduktion til SQL Introduktion til SQL 1. udgave, 1. oplag 2013 Copyright 2013 Libris Media A/S Forfatter: Bobby Henningsen Forlagsredaktion: Peter Wiwe og Louise Peulicke Larsen Omslag: Louise Peulicke

Læs mere

4 Basal Objekt-orienteret Programmering I.

4 Basal Objekt-orienteret Programmering I. 4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.

Orienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer. Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

Introduktion til programmering

Introduktion til programmering Introduktion til programmering Databaser Uge 37 Computer Science, kap 9. Hugh Darwen: what a database really is, G. Riccardi: Princples of database systems, kap 2., kompendium. Sidste gang Computerens

Læs mere

Videregående Programmering for Diplom-E Noter

Videregående Programmering for Diplom-E Noter Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså

Læs mere

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13 1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker

Læs mere

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer

Orienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.

Læs mere

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. 16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.

Læs mere

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Introduktion Til Konkurrenceprogrammering

Introduktion Til Konkurrenceprogrammering Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............

Læs mere

Object-Relational Mapping

Object-Relational Mapping Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel

Læs mere

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning. Indhold Beregn rødder... 2 Beskrivelse af kærneproblemet... 2 Plan for brugerfladen for programmet... 3 Operationer på inddata... 4 Output - Beskrivelse af uddata... 4 Flowchart - programmets logiske opbygning/struktur...

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August-Januar 2016-2017 Institution Campus Vejle Uddannelse Fag og niveau Lærer(e) Hold EUX Informationsteknologi

Læs mere

It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen. Beregning på computer

It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen. Beregning på computer It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen Beregning på computer Begrebet data Universel computer Højere programmeringssprog Python Dialogdrift Fejl (syntaksf., udførelsesf.,

Læs mere

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B Undervisningsplan Termin 2015-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen 8HX215ema Oversigt over

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Programmering, algoritmik og matematik en nødvendig sammenblanding? Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.

Læs mere

Lærer: Peter Bøgh Andersen ( , Instruktor: Martin Brynskov. Sted: lokale 127, Adorno-bygningen, Helsingforsgade 8.

Lærer: Peter Bøgh Andersen ( ,  Instruktor: Martin Brynskov. Sted: lokale 127, Adorno-bygningen, Helsingforsgade 8. OOA&D, kap. 1-3 Systemudvikling 07 Lærer: Peter Bøgh Andersen (89429250, email pba@imv.au.dk) Instruktor: Martin Brynskov. Sted: lokale 127, Adorno-bygningen, Helsingforsgade 8. Tid: Forelæsninger og øvelser

Læs mere

Tidsregistrering. Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4. Informationsteknologi B. Roskilde Tekniske Gymnasium 25-11-2014

Tidsregistrering. Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4. Informationsteknologi B. Roskilde Tekniske Gymnasium 25-11-2014 2014 Tidsregistrering Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4 Informationsteknologi B Roskilde Tekniske Gymnasium 25-11-2014 Indholdsfortegnelse 1 Indledning... 3 2 User stories... 3 3

Læs mere

Introduktion til programmering

Introduktion til programmering Introduktion til programmering Databaser Uge 38 L. Ingemann: SQL databaser på nettet, kap 2-4. Kompendium L. Ingemann: SQL databaser på nettet, kap 6-20, Kompendium Sidste gang Databaser Relationelle databaser

Læs mere

Introduktion til programmering. Uge 40 Computer Science, kap (minus kap 8.6).

Introduktion til programmering. Uge 40 Computer Science, kap (minus kap 8.6). Introduktion til programmering Uge 40 Computer Science, kap 5 + 8 (minus kap 8.6). Kompendier Købes mellem 12 og 13 i 014 i Wienerbygningen Pris 70 kr. Sidste gang Funktioner som metode til at skrive anvendelsesorienterede

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Databasesystemer. IT Universitetet i København 7. juni 2005

Databasesystemer. IT Universitetet i København 7. juni 2005 Databasesystemer IT Universitetet i København 7. juni 2005 Eksamenssættet består af 5 opgaver med 13 spørgsmål, fordelt på 6 sider (inklusiv denne side). Vægten af hver opgave er angivet. Du har 4 timer

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin maj-juni 16/17 Institution Frederikshvan Handelsskole Uddannelse Fag og niveau Lærer(e) Hold EUX Informationsteknologi

Læs mere

En note om Programmering

En note om Programmering En note om Programmering Kurt Nørmark Institut for Datalogi Aalborg Universitet normark@cs.aau.dk Resumé Denne note er en introduktion til programmering. Formålet er at give dig et indblik i hvad programmering

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):

Læs mere

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML SQL kap 6-7 + 17-20 DDL og DML 1 De vigtigste SQL-sætninger Data Definition Language (DDL) create table: opretter en ny tabel create unique index: tilføjer et index til en tabel drop table : sletter en

Læs mere

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0 Hvad er en relationsdatabase? Odense, den 19 januar 2004 Version 10 Program for 6 kursusdag: Databaser 0900-0945 Hvad er en relationsdatabase? -1045 Opgave om normalisering 1100-1145 Eksempel på database

Læs mere

HTX, RTG. Rumlige Figurer. Matematik og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with

Læs mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

Analyse af aktiviteter. Uge 8

Analyse af aktiviteter. Uge 8 Analyse af aktiviteter Uge 8 Modeldrevet design Lav en model af problemområdet Definer funktioner på modellen der Fremfinder informationer i modellen Ændrer modellen Sugerør ind i modellen Definer en grænseflade

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Indhold. Senest opdateret:03. september 2013. Side 1 af 8

Indhold. Senest opdateret:03. september 2013. Side 1 af 8 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 API Modeller... 2 Webshop2 API Model v1... 3

Læs mere

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige

Læs mere

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7.

Introduktion til programmering. Uge 39 Python I Learning Python, kap 4-7. Introduktion til programmering Uge 39 Python I Learning Python, kap 4-7. Plan Hvad er et Python program Udtryk Værdier og Datatyper Stand-up programmering Filer Øvelse 3 Fortolkning/compilering Python

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................

Læs mere

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides 01017 Diskret Matematik E12 Alle bokse fra logikdelens slides Thomas Bolander 1 Udsagnslogik 1.1 Formler og sandhedstildelinger symbol står for ikke eller og ( A And) hvis... så... hvis og kun hvis...

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Juni 2016 Institution CampusVejle Uddannelse Fag og niveau Lærer(e) Hold Hhx Informationsteknologi C Peter

Læs mere

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4 Maskine Udlejning 15. oktober 2010 Jacob Weng, Jeppe Boese og Mads Anthony Roskilde Tekniske Gymnasium Udlejningsvirksomhed 3.4 Indholdsfortegnelse Problemformulering:... 2 Planlægning:... 2 Analyse af

Læs mere

IT sikkerhed Whitelist

IT sikkerhed Whitelist IT sikkerhed Whitelist IT sikkerhed Whitelist Skrevet af: Anchelika V. Skjødt og Lasse B. Troelsen Kom/IT A Klasse 3.5 Side 1 af 7. Spam facts Spam er et af de største problemer med internettet på nuværende

Læs mere

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

Digitale Videnssystemer: Notater

Digitale Videnssystemer: Notater Digitale Videnssystemer: Notater Sigfred Hyveled Nielsen IVA / Københavns Universitet 3. Semester Denne tekst er skrevet af Sigfred Nielsen, og stillet til rådighed under Creative Commons Navngivelse-IkkeKommerciel-DelPåSammeVilkår

Læs mere