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=" 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

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

Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12. Introduktion til programmering Uge 38.1 Python 2 Learning Python, kap 8-12. Opsummering Store dele af Python kan forstås gennem følgende simple model: En repræsentation/udtryk står for et objekt/en værdi

Læs mere

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

Ø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 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

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

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

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

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

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Lær Python - Dag 4, modul 1 Objektorienteret programmering

Lær Python - Dag 4, modul 1 Objektorienteret programmering Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi

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. Sidste gang Algoritmer Definition Opbygning Pseudokode Rekursion Analyse Datastrukturer Kompleksitet

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

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

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

Lær Python dag 1 - modul 1

Lær Python dag 1 - modul 1 Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen

Læs mere

Lær Python - Dag 4, modul 2 Objektorienteret programmering

Lær Python - Dag 4, modul 2 Objektorienteret programmering Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.

Læs mere

Import af rekursivt (parent-child) hierarki i Palo

Import af rekursivt (parent-child) hierarki i Palo Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

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

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

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

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

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

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed

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

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser It og informationssøgning Forelæsning 7 25. oktober 2006 Jakob Grue Simonsen Klasser Downey, Elkner & Meyers: Chapt. 12-14 Andersen & Simonsen: kap. 7 Vi har tidligere set, at Python tilbyder en række

Læs mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

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

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

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

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

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

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning It og informationssøgning Forelæsning 2 13. september 2006 Nils Andersen Underprogrammer og betingelser Standardfunktioner, typeomsætning Funktionskald Moduler, lange navne Brugerdefinerede funktioner

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

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

Aarhus Universitet, Science and Technology, Computer Science. Mock Exam. Wednesday 27 June 2018, 9:00-11:00

Aarhus Universitet, Science and Technology, Computer Science. Mock Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/15 Aarhus Universitet, Science and Technology, Computer Science Mock Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

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

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

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

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

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

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

It og informationssøgning Forelæsning december 2006 Nils Andersen. Indkøring, afprøvning og dokumentation af programmer

It og informationssøgning Forelæsning december 2006 Nils Andersen. Indkøring, afprøvning og dokumentation af programmer It og informationssøgning Forelæsning 14 13. december 2006 Nils Andersen Indkøring, afprøvning og dokumentation af programmer Indkøring Syntaksfejl Køretidsfejl Semantiske fejl Dokumentation Sammenfatning

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

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

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

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

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden. Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af

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

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

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1. Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:

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

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

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

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

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

It og informationssøgning Forelæsning november 2006 Jakob Grue Simonsen. Hypertekst og Python. Andersen & Simonsen: kap. 12

It og informationssøgning Forelæsning november 2006 Jakob Grue Simonsen. Hypertekst og Python. Andersen & Simonsen: kap. 12 It og informationssøgning Forelæsning 11 29. november 2006 Jakob Grue Simonsen Hypertekst og Python Andersen & Simonsen: kap. 12 I dag gennemgås materiale af uhyre praktisk (og kun i lidet omfang generel)

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

#AlleKanKode. Lektion 2 - Konstanter og Variabler

#AlleKanKode. Lektion 2 - Konstanter og Variabler #AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

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

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

Multiparadigme Programmering

Multiparadigme Programmering Multi Programmering Repetition: De grundliggende r Systematisk karateristik. Paradigmesupplering. Symmetrisk multi programmering Leda eksempler på logikprogrammering kombineret med imperativ og funktionsorienteret

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Aug 2018 / Maj 2019 Institution Vejen Business College Uddannelse Fag og niveau Lærer(e) Hold EUX Informationsteknologi

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

Skriftlig opgave. Designtanker i database-nære systemer

Skriftlig opgave. Designtanker i database-nære systemer Skriftlig opgave til eksamen for faget»databaser«designtanker i database-nære systemer Martin Ancher Holm Juni 2010 1 Intro Denne skriftlige opgave indeholder kort de daglige tanker jeg har omkring design

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

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

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

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

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

DATABASE - MIN MUSIKSAMLING

DATABASE - MIN MUSIKSAMLING DATABASE - MIN MUSIKSAMLING I dette forløb skulle vi lære om databaser, som bruger sproget SQL. SQL står for Structured Query Language. Det bruges til at vise og manipulere data, gemt i en database. I

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Termin Juni 2019 Institution Uddannelse Fag og niveau Lærer Hold Erhvervsgymnasiet Grindsted HHx Informatik C Jan Søndergaard (JS) (til jul), grundforløbshold HHxgf18a John Hansen

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

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

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