Biologiska databanker. Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Biologiska databanker

Storlek: px
Starta visningen från sidan:

Download "Biologiska databanker. Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Biologiska databanker"

Transkript

1 Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Biologiska databanker biologisk data i elektronisk format exempel: SWISS-PROT, EMBL, DDBJ, PDB, GENBANK, KEGG, ACEDB används dagligen i forskningen Databank Biologiska databanker Forskningsresultat Databankhanteringssystem Modell Fysiska databanken Frågor behandling av frågor/uppdateringar Access till lagrad data Svar 3 tgctacccgc gcccgggctt ctggggtgtt ccccaaccac ggcccagccc tgccacaccc 6 cccgcccccg gcctccgcag ctcggcatgg gcgcgggggt gctcgtcctg ggcgcctccg agcccggtaa cctgtcgtcg gccgcaccgc tccccgacgg cgcggccacc gcggcgcggc 8 tgctggtgcc cgcgtcgccg cccgcctcgt tgctgcctcc cgccagcgaa agccccgagc 4 cgctgtctca gcagtggaca gcgggcatgg gtctgctgat ggcgctcatc gtgctgctca 30 tcgtggcggg caatgtgctg gtgatcgtgg ccatcgccaa gacgccgcgg ctgcagacgc 36 tcaccaacct cttcatcatg tccctggcca gcgccgacct ggtcatgggg ctgctggtgg 4 tgccgttcgg ggccaccatc gtggtgtggg gccgctggga gtacggctcc ttcttctgcg 48 agctgtggac ctcagtggac gtgctgtgcg tgacggccag catcgagacc ctgtgtgtca 54 ttgccctgga ccgctacctc gccatcacct cgcccttccg ctaccagagc ctgctgacgc 60 gcgcgcgggc gcggggcctc gtgtgcaccg tgtgggccat ctcggccctg gtgtccttcc 66 tgcccatcct catgcactgg tggcgggcgg agagcgacga ggcgcgccgc tgctacaacg 7 accccaagtg ctgcgacttc gtcaccaacc gggcctacgc catcgcctcg tccgtagtct 78 ccttctacgt gcccctgtgc atcatggcct tcgtgtacct gcgggtgttc cgcgaggccc 84 agaagcaggt gaagaagatc gacagctgcg agcgccgttt cctcggcggc ccagcgcggc 90 cgccctcgcc ctcgccctcg cccgtccccg cgcccgcgcc gccgcccgga cccccgcgcc 96 ccgccgccgc cgccgccacc gccccgctgg ccaacgggcg tgcgggtaag cggcggccct 0 cgcgcctcgt ggccctacgc gagcagaagg cgctcaagac gctgggcatc atcatgggcg 08 tcttcacgct ctgctggctg cccttcttcc tggccaacgt ggtgaaggcc ttccaccgcg 4 agctggtgcc cgaccgcctc ttcgtcttct tcaactggct gggctacgcc aactcggcct 0 tcaaccccat catctactgc cgcagccccg acttccgcaa ggccttccag ggactgctct 6 gctgcgcgcg cagggctgcc cgccggcgcc acgcgaccca cggagaccgg ccgcgcgcct 3 cgggctgtct ggcccggccc ggacccccgc catcgcccgg ggccgcctcg gacgacgacg 38 acgacgatgt cgtcggggcc acgccgcccg cgcgcctgct ggagccctgg gccggctgca 44 acggcggggc ggcggcggac agcgactcga gcctggacga gccgtgccgc cccggcttcg 50 cctcggaatc caaggtgtag ggcccggcgc ggggcgcgga ctccgggcac ggcttcccag 56 gggaacgagg agatctgtgt ttacttaaga ccgatagcag gtgaactcga agcccacaat 6 cctcgtctga atcatccgag gcaaagagaa aagccacgga ccgttgcaca aaaaggaaag 68 tttgggaagg gatgggagag tggcttgctg atgttccttg ttg 4 Entity-relationship DEFINITION Homo sapiens adrenergic, beta--, receptor ORGANISM S, Collins, Daniel, Caron, Lefkowitz, Cloning of the cdna for the beta -adrenergic receptor S,, Lefkowitz, Caron Human beta - and beta -adrenergic receptors: structurally and functionally related receptors derived from distinct genes protein-id accession article-id PROTEIN m Reference n ARTICLE source definition title 5 author 6

2 Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Text (IR) Semistrukturerad data Datamodeller (DB) Regler + Fakta (KB) struktur precision Innehåll Text: filmodell, formell modell, konceptuella modeller (boolesk, vektor, probabilistisk) Databaser: Relationsdatabaser, Objektorienterade databaser Semistrukturerad data Kunskapsbaser 7 8 Text - Information Retrieval (IR) sökning baseras på ord konceptuella modeller: boolesk, vektor, probabilistisk, filmodell: flat fil, inverterad fil,... inverterad fil anslagningsfil dokumentfil WORD HITS LINK DOC# LINK DOCUMENTS adrenergic 3 cloning 53 receptor IR - Filmodell: inverterad fil 5 5 Doc Doc 9 0 IR - Filmodell: inverterad fil IR - formell beskrivning kontollerad vokabulär (eng. controlled vocabulary) stoplista stamning (eng. stemming) IR modell: (D,Q,F,R) D är en mängd av dokumentrepresentationer Q är en mängd av frågor F är ett ramverk för dokumentrepresentationer, frågor och deras samband R tilldelar ett dokument-fråga-par ett reellt tal (rankning)

3 IR - konceptuella modeller Klassikt IR dokumentrepresentation Booleska modellen Boolesk Probabilistisk Doc Doc adrenergic cloning receptor ( 0) (0 0) 3 4 Booleska modellen frågor : boolesk (and, or, t) Q: cloning and (adrenergic or receptor) Booleska modellen Q: cloning and (adrenergic or receptor) (cloning and adrenergic) or (cloning and receptor) frågor översätts till disjunktiv rmalform (DNF) DNF: disjunktion av konjunktioner av ord med eller utan t Regler: t t A A t(a and B) t A or t B t(a or B) t A and t B (A or B) and C (A and C) or (B and C) A and (B or C) (A and B) or (A and C) (A and B) or C (A or C) and (B or C) DNF kompletteras + översätts till samma representation som dokumenten (cloning and adrenergic) or (cloning and receptor) (cloning and adrenergic and receptor) or (cloning and adrenergic and t receptor) or (cloning and receptor and adrenergic) or (cloning and receptor and t adrenergic) ( ) or ( 0) or ( ) or (0 ) A or (B and C) (A or B) and (A or C) 5 ( ) or ( 0) or (0 ) 6 Booleska modellen adrenergic cloning receptor Doc Doc ( 0) (0 0) Q: cloning and (adrenergic or receptor) ( ) or ( 0) or (0 ) Resultat: Doc Q: cloning and t adrenergic (0 0) or (0 ) Resultat: Doc 7 Booleska modellen Fördelar baserad på en intuitiv och enkel formell modell (mängdteori och boolesk algebra) Nackdelar binära beslut - ett ord är relevant eller inte - ett dokument är relevant eller inte, ingen partiell matchning 8

4 Booleska modellen (förenklad) Doc adrenergic cloning receptor ( 0) cloning Doc (,,0) Doc (0,,0) Doc (0 0) Q (,,) Q3: adrenergic and receptor ( 0 ) or ( ) Resultat: tom receptor adrenergic sim(d,q) = d. q d x q 9 0 Introducerar vikter i dokumentvektorerna (t.ex. Doc3 (0, 0.5, 0)) Vikterna representerar hur viktigt en term är för beskrivningen av ett dokuments innehåll Vikterna är positiva reella tal Om en term inte förekommer i dokumentet, då är vikten = 0 receptor cloning adrenergic sim(d,q) = d. q d x q Doc (,,0) Doc3 (0,0.5,0) Q4 (0.5,0.5,0.5) Hur definierar man vikterna? tf-idf Hur definierar man vikterna? tf-idf dj (w,j,, wt,j) wi,j = vikten för term ki i dokument dj = fi,j x idfi term frequency freqi,j: hur ofta förekommer term ki i dokument dj? rmaliserad term frequency: fi,j = freqi,j / maxl freql,j 3 4

5 Hur definierar man vikterna? tf-idf document frequency : i hur många dokument förekommer term ki? N = totala antalet dokument ni = antal dokument i vilka ki förekommer inverse document frequency idfi: log (N / ni) Hur definierar man vikterna för en fråga? rekommendation: q= (w,q,, wt,j) wi,q = vikt för term ki i fråga q = ( fi,q) x idfi 5 6 Fördelar - termviktning förbättrar sökprestanda - partiell matchning - rankning enligt likhet Nackdel? - antagande att termerna förekommer oberoende av varandra 7 Probabilistiska modellen vikterna är binära (wi,j = 0 eller wi,j = ) R: mängden av relevanta dokument för q Rc: mängden av dokument som är inte relevanta för q P(R dj): sanlikheten att dj är relevant för q P(Rc dj): sanlikheten att dj inte är relevant för q sim(dj,q) = P(R dj) / P(Rc dj) 8 Probabilistiska modellen sim(dj,q) = P(R dj) / P(Rc dj) (Ba, oberoende av termerna, logaritmer, P(ki R) + P(t ki R) = ) SIM(dj,q) == SUMMA t wi,q x wi,j x i= (log(p(ki R) / (- P(ki R))) + log(p(ki Rc) / (- P(ki Rc)))) 9 Probabilistiska modellen Hur beräknar man P(ki R) och P(ki Rc)? - initialt: P(ki R) = 0.5 och P(ki Rc) = ni/n - Upprepa: hämta dokument och ordna dem enligt rankningen V: delmängd av dokumenten (t.ex. de r högst rankade) Vi: delmängd av V, elementen som innehåller ki P(ki R) = Vi / V och P(ki Rc) = (ni- Vi ) /(N- V ) 30

6 Probabilistiska modellen Fördelar: - rankning av dokument enligt sanlikheten att vara relevant Nackdelar: - initial uppskattning angående relevansen - vikterna är binära - antagande om att termerna förekommer IR - effektivitetsmått Precision = antal hittade dokument som är relevanta antal hittade dokument Recall = antal hittade dokument som är relevanta antal relevanta dokument oberoende av varandra? 3 3 IR - mått PERL Precision = RA / A Recall = RA / R Relevanta dokument R Relevanta dokument i svarsmängden RA Svarsmängden A 33 Practical Extraction and Reporting Language while ($line=<inputfile>) { if ($line=~ /^DEFINITION/ ) { ($head, $rest) = split( DEFINITION,$line); print OUTPUTFILE $rest; print OUTPUTFILE \n ; } } 34 Relationsdatabaser Databaser Relationsdatabaser: - modell: tabeller + relationsalgebran - frågespråk (SQL) Objektorienterade databaser: - modell: fortlevande object, meddelande, inkapsling, ärvning - frågespråk (t.ex. OQL) System: GDB (R), ACEDB (OO) 35 PROTEIN PROTEIN-ID DEFINITION Homo sapiens adrenergic, beta--, receptor ARTICLE- ARTICLE-ID Collins Daniel Caron Lefkowitz Lefkowitz Caron ARTICLE- ARTICLE-ID PROTEIN-ID ARTICLE-ID Cloning of the cdna for the beta -adrenergic receptor Human beta - and beta - adrenergic receptors: structurally and functionally related receptors derived from distinct genes 36

7 SQL select source from protein where accession = ; PROTEIN PROTEIN-ID DEFINITION Homo sapiens adrenergic, beta--, receptor SQL select title from protein, article-title, reference where protein.accession = and protein.protein-id = reference.protein-id and reference.article-id = article-title.article-id; PROTEIN PROTEIN-ID DEFINITION Homo sapiens adrenergic, beta--, receptor PROTEIN-ID ARTICLE-ID ARTICLE- ARTICLE-ID Cloning of the Human beta Objekt-Orienterade Databaser (OODB) Världen modelleras m.h.a. objekt. Ett objekt har ett tillstånd (värde) och ett beteende (operationer). fortlevande (eng. persistent) objekt - permanent lagring (ibland tillåts även kortvariga (eng. transient) objekt) Objekt Ett objekt har en objektidentifierare (OID) som inte är synlig för användaren. OIDn kan inte ändras objekt versus värde (ett värde har ingen OID) objektstrukturen kan vara godtyckligt komplex (atom, tuple, set, list, bag, array) Exempel - objekttillstånd o(id, tuple, <accession:, source :, definition: Homo sapiens adrenergic, reference: o>) o(id, set, {o3,o4}) Exempel - objekttillstånd o3(id3, tuple, <title: `Cloning of, author: o5 >) o4(id4, tuple, <title: `Human beta-, author: o6 >) o5(id5, list, [, Collins, Daniel, Caron, Lefkowitz, ]) o6(id6, list, [,, Lefkowitz, Caron]) OBS: Dessa exempel använder inte någon standardsyntax4 4

8 list Cloning of set Collins Daniel Caron Lefkowitz Homo sapiens adrenergic, beta--, receptor list DEFINITION Lefkowitz Caron Human beta- 43 Klasser define class protein type tuple ( accession: string; source : string; definition: string; reference: set(article); ); operations create-protein(string,string,string,set(article)): protein; get-accession: string; get-source: string; get-definition: string; get-references: set(article); add-reference(article): void; end protein; 44 Klasser Exempel program define class article type tuple ( title: string; author: list(string); ); operations create-article(string, list(string)): article; get-title string; get-authors: list(string); print-article-info string; end article; program variables: article, article, protein; begin article := create-article( Cloning., list(, Collins, Daniel, Caron, Lefkowitz, )); protein := create-protein(,, Homo sapiens adrenergic, set(article)); article := create-article( Human beta-., list(,, Lefkowitz, Caron]); protein.add-reference(article); end; Operationer inkapsling: operation = gränssnitt + kropp - gränssnitt: hur anropar man operationen? vad ger operationen som resultat? > synlig för användaren, används i program - kropp: hur implementeras operationen? > osynlig för användaren program baseras på skickandet av meddelande (eng. message passing) 47 Ärvning journal-article subtype-of article: journal-name journal-volume page-numbers journal-article ärver alla attribut och operationer från article och har även journal-name, journal-volume och pagenumbers som attribut -protein subtype-of protein (source = ) 48

9 Operator overloading Man kan använda samma operatornamn för olika implementationer exempel: print-article-info för article skriver ut information om titel och författare. print-article-info för journal-article skriver ut information om titel och författare men även om tidskriftens namn, volym och sidonummer. Frågespråk OQL select from where select distinct from where iteratorvariabler väguttryck (eng. path expressions) struct Frågor select o.source from o in protein where o.accession = ; Frågor select struct (accession: o.accession, source: o.source) from o in protein where in (select a.author from a in o.reference); set 5 5 Frågespråk OQL OQL tillåter även: vyar aggregering speciella operationer för list och array (first, last, nth) order-by group-by Semistrukturerad data data som är ej enbart text, men som inte är så välstrukturerad som data i databaser förekommer ofta i webbdatabanker och när man vill integrera databanker system: Genbank, OMIM 53 54

10 Semistrukturerad data - egenskaper oregelbunden struktur strukturen är implicit strukturen är partiell data guide och schema stora schema Semistrukturerad data - egenskaper man ska kunna igrera schemat vid frågor schema utvecklas snabbt objekt kan ändra tillhörighet av typ/klass skillnaden mellan schema och data försvinner Semistrukturerad data - model nätverk av der objektmodell (oid) fråga: vägsökning i nätverket ( path search ) Cloning of Collins Daniel Caron Homo sapiens adrenergic, beta--, receptor DEFINITION Lefkowitz Human beta Frågor Frågor select source where accession = ; select source where accession = ; select reference.title where accession = ; select #p.title where accession = ; Cloning of Human beta- 59 Cloning of Human beta- 60

11 Kunskapsbaser ofta baserad på en logik svarsmekanism baserad på en inferensmekanism kunskapsbaser kan ofta lagras i primärminne användbar vid ontologier Kunskapsbaser (F) source(, Human) (R) source(p?,human) => source(p?,mammal) (R) source(p?,mammal) => source(p?,vertebrate) Q:?- source(, Vertebrate) A: Q:?- source(x?, Mammal) A: x? = 6 6 Litteratur Information Retrieval * Baeza-Yates, R., Ribeiro-Neto, B., Modern Information Retrieval, Addison-Wesley, 999. Schwartz, R., Wall, L., Learning Perl, O Reilly & Associates, 994. Databaser * Elmasri, R., Navathe, S., Fundamentals of database systems, 3rd edition, Addison Wesley, 000. (* = ingår helt eller delvis i kurslitteraturen, se kurshemsidan) Litteratur Semistrukturerad data * Abiteboul, S., Querying semi-structured data, Proceedings of the Sixth International Conference on Database Theory, LNCS 86, pp -8, 997. Lambrix, P., Shahmehri, N., Querying documents using content, structure and properties, Journal of Intelligent Information Systems, 5(3):87-307, 000. (* = ingår helt eller delvis i kurslitteraturen, se kurshemsidan) 63 64

Biologiska databanker. Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Biologiska databanker

Biologiska databanker. Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Biologiska databanker Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) Biologiska databanker biologisk data i elektronisk format exempel: SWISS-PROT, EMBL, DDBJ, PDB, GENBANK, KEGG, ACEDB

Läs mer

GET THAT PROTEIN! Eller. TDDD74 Databaser för bioinformatik 1

GET THAT PROTEIN! Eller. TDDD74 Databaser för bioinformatik   1 GET THAT PROTEIN! Eller TDDD74 Databaser för bioinformatik http://www.ida.liu.se/~tddd74 1 Lärare Examinator: Olaf Hartig FÖ: Olaf, Patrick Lambrix LA: Valentina Ivanova projekt: Patrick (Valentina) databasadministration:

Läs mer

GET THAT PROTEIN! Databaser. Lärare. Databaser. Kurslitteratur. Bioinformatik. TDDD74 Databaser för bioinformatik

GET THAT PROTEIN! Databaser. Lärare. Databaser. Kurslitteratur. Bioinformatik. TDDD74 Databaser för bioinformatik GET THAT! Databaser Eller TDDD74 Databaser för bioinformatik http://www.ida.liu.se/~tddd74 Ett (av flera) sätt att lagra data i elektronisk format Används i det vardagliga livet: bank, bokning av hotell

Läs mer

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26 Kursens mål Databasteknik TDDB48 http://www.ida.liu.se/~tddb48 Förstå de koncept som ligger bakom databaser och databasorganisation Designa och bygga datamodeller (effektiva filstrukturer) Använda databasfrågespråk

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar. För

Läs mer

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

732G16: Databaser - Design och programmering

732G16: Databaser - Design och programmering 732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,

Läs mer

Linköpings Universitet Artificiell Intelligens II 729G11 HT QA- system. Anders Janson

Linköpings Universitet Artificiell Intelligens II 729G11 HT QA- system. Anders Janson Linköpings Universitet Artificiell Intelligens II 729G11 HT 2011 QA- system Anders Janson 861128-6918 andja338@student.liu.se Sammanfattning Inom denna uppsats tar jag upp Question Answering system, som

Läs mer

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

Databaser - Design och programmering

Databaser - Design och programmering Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt

Läs mer

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS 180226 Idag (ADT), OOP i Racket, labb 5 2 Allmän info Duggan. Laboration 4 deadline. Planering framöver Muddy cards (nästa timme) 3 Lite repetition ADT

Läs mer

Relationskalkyl (RK)

Relationskalkyl (RK) 1 Relationskalkyl (RK) Formellt frågespråk som är baserad på predikatkalkyl (logik) En formel i RK är icke-procedurell (deklarativ), dvs den specificerar vad som ska hämtas och inte hur Jämför med relationsalgebran

Läs mer

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Lathund till Nursing & Allied Health Source

Lathund till Nursing & Allied Health Source Lathund till Nursing & Allied Health Source Databasen Nursing & Allied Health Source riktar sig såväl till forskare och studenter på högskolor/universitet som till forskare aktiva inom klinisk verksamhet.

Läs mer

Lathund till Academic Search Complete

Lathund till Academic Search Complete Lathund till Academic Search Complete Academic Search Complete är en databas som bl.a. innehåller samhällsvetenskap, humaniora, pedagogik, omvårdnad och medicin. Databasen innehåller mer än 8 500 tidskrifter

Läs mer

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical

Läs mer

Lösningar till tentamen i EDAF75

Lösningar till tentamen i EDAF75 Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte

Läs mer

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser? Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb

Läs mer

Datamodeller och databaser, avancerad kurs

Datamodeller och databaser, avancerad kurs 1(6) Datamodeller och databaser, avancerad kurs Programkurs 6 hp Advanced Data Models and Databases TDDD43 Gäller från: Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum LINKÖPINGS

Läs mer

Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,

Läs mer

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Objektorienterad Programmering (OOP) Murach s: kap 12-16 Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Entity Framework Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Arbeta med Selected Works en lathund

Arbeta med Selected Works en lathund Arbeta med Selected Works en lathund Att redigera din egen Selected Works-sida Ta fram din sida och logga in via My Account längts ner på sidan. Klicka på Edit My Site för att redigera sidan. Gå nu vidare

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna

Läs mer

Objektorienterad Systemutveckling Period 3

Objektorienterad Systemutveckling Period 3 Objektorienterad Systemutveckling 2 2018 Period 3 kurskod C1OB2B Innehåll Kursintroduktion Kursmaterialet finns temporärt även på http://www.gidenstam.org/hb/oosu2 KURSINTRODUKTION Kursintroduktion Inblandade

Läs mer

Den som bara har en hammare tror att alla problem är spikar

Den som bara har en hammare tror att alla problem är spikar Introduktion Föreläsning (Weiss kap. -4) Många begrepp blir det Introduktion till kursen Exempel: Datastrukturen mängd Generiska Den som bara har en hammare tror att alla problem är spikar Vilken

Läs mer

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018 Objekt-orienterad Programmering och Design TDA552 Alex Gerdes, HT-2018 Kursteamet Dr. Alex Gerdes examinator och föreläsare (Dr. Niklas Broberg föreläsare) Handledare: Sólrún Halla Einarsdóttir Yazan Ghafir

Läs mer

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander F12 - Collections ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Collections (samlingar) En collection är ett objekt som fungerar som en samling av andra objekt En collection erbjuder

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Version X6 Fler tips

Version X6 Fler tips Version X6 Fler tips Jobba i ditt EndNote-bibliotek Hantera PDF:er För att använda dig av den automatiska Find fulltext-funktionen, markera den eller de referenser du vill söka fulltext för och välj References

Läs mer

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Tentamen DATABASTEKNIK - 1DL116, 1MB025 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande

Läs mer

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016 Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson

Läs mer

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15 OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 130823 kl. 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd

Läs mer

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av

Läs mer

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018 Objekt-orienterad programmering och design DIT953 Niklas Broberg, 2018 Kursteamet Niklas Broberg kursansvarig, föreläsare, examinator Johannes Åman Pohjola föreläsare Assistenter: Karin Wibergh Sarosh

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Artificiell Intelligens Lektion 4

Artificiell Intelligens Lektion 4 Frames Filmdomän Artificiell Intelligens Lektion 4 Frames (Lab4) Resolution & unifiering Frames system Lagrar hierarkisk information Attribut lagras i attributvärdesstrukturer Attribut kan ha egenskaper

Läs mer

Trädstrukturer och grafer

Trädstrukturer och grafer Översikt Trädstrukturer och grafer Trädstrukturer Grundbegrepp Binära träd Sökning i träd Grafer Sökning i grafer Programmering tillämpningar och datastrukturer Varför olika datastrukturer? Olika datastrukturer

Läs mer

Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem

Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Institutionen för datavetenskap Linköpings universitet TETAME TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Jourhavande lärare: Lena Strömbäck (Patrick Lambrix, 0703-492066) Poäng: Tentan

Läs mer

Databaser och Datamodellering Foreläsning IV

Databaser och Datamodellering Foreläsning IV Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt

Läs mer

Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Repetera och befästa kunskaperna. Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer

Läs mer

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck

TDDD12 och TDDD46 Databasteknik. Lena Strömbäck TDDD12 och TDDD46 Databasteknik Lena Strömbäck http://www.ida.liu.se/~tddd12 http://www.ida.liu.se/~tddd46 Vad är en databas? Ett sätt att lagra data på elektroniskt format. Används i dagliga livet, banker,

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Konstruktion av klasser med klasser

Konstruktion av klasser med klasser Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut

Läs mer

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar

Läs mer

Föreläsning 3. Stack

Föreläsning 3. Stack Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack

Läs mer

Language Integrated Query, LINQ, och databaser

Language Integrated Query, LINQ, och databaser Language Integrated Query, LINQ, och databaser 1 Imperativ eller deklarativ programmering Imperativ programmering Du som programmerare beskriver i detalj alla steg som måste utföras för att lösa en viss

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar

Läs mer

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14. Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

Lathund till ERIC. Ämnesord. Skillnaden mellan fritextsökning och ämnesordssökning

Lathund till ERIC. Ämnesord. Skillnaden mellan fritextsökning och ämnesordssökning Innehåll Lathund till ERIC... 2 Ämnesord... 2 Skillnaden mellan fritextsökning och ämnesordssökning... 2 Basic Search, fritextsökning... 3 Parenteser... 3 Frassökning... 3 Sökning med symboler... 3 Advanced

Läs mer

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Tentamen Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical introduction

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Arv. Objektorienterad och komponentbaserad programmering

Arv. Objektorienterad och komponentbaserad programmering Arv Objektorienterad och komponentbaserad programmering Arv Regel nr 1: Ett objektorienterat språk ska tillåta inkapsling av data Regel nr 2: Ett objektorienterat språk ska tillåta arv Regel nr 3: Ett

Läs mer

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0.. Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private

Läs mer

LÖSNINGSFÖRSLAG

LÖSNINGSFÖRSLAG LÖSNINGSFÖRSLAG - 100406 Uppgift 1. a) Objekten som tillhör en icke-muterbar klass är oförändliga, dvs de behåller under hela sin livstid det tillstånd som de fick när de skapades. Icke-muterbara objekt

Läs mer

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx Introduktion till Entity Framework och LINQ Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är Entity Framework? The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping

Läs mer

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen i Algoritmer & Datastrukturer i Java Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2008-05-27 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

Läs mer

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar.

Läs mer

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Unified Modelling Language Grafiskt modelleringsspråk för att beskriva olika aspekter av objektorienterade system. Vi kommer

Läs mer

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta

Läs mer

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Introduktion HT2 Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Arrayer med primitiva datatyper

Arrayer med primitiva datatyper Arrayer med primitiva datatyper Pellets_utan_array.java class Pellets_utan_array // Programmet inleds med deklarationer av variabler int pellets_1; int pellets_2; int pellets_3; int pellets_4; int pellets_5;

Läs mer

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num

Läs mer

Room E3607 Protein bioinformatics Protein Bioinformatics. Computer lab Tuesday, May 17, 2005 Sean Prigge Jonathan Pevsner Ingo Ruczinski

Room E3607 Protein bioinformatics Protein Bioinformatics. Computer lab Tuesday, May 17, 2005 Sean Prigge Jonathan Pevsner Ingo Ruczinski Room E3607 Protein bioinformatics 260.841 Protein Bioinformatics Computer lab Tuesday, May 17, 2005 Sean Prigge Jonathan Pevsner Ingo Ruczinski Outline of today s lab Topic Suggested time 1 Find a protein

Läs mer

Introduktion till Jasmine 1.2 ODQL

Introduktion till Jasmine 1.2 ODQL Introduktion till Jasmine 1.2 ODQL I detta avsnitt beskrivs ett antal praktiska handgrepp som behövs för att köra Jasmine ODQL. 1 ODQL miljön Man kan enklast köra ODQL mot Jasmine från ett vanligt Command

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML. Outline Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vad händer under HT2 Laborationsserie del två I Klasser

Läs mer

Lathund till Academic Search Complete

Lathund till Academic Search Complete Innehåll Lathund till Academic Search Complete... 2 Ämnesord... 2 Skillnaden mellan fritextsökning och ämnesordssökning... 2 Basic Search, fritextsökning... 2 Parenteser... 3 Frassökning... 3 Sökning med

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

Viktiga programmeringsbegrepp: Kontrakt

Viktiga programmeringsbegrepp: Kontrakt jonas.kvarnstrom@liu.se 2017 Viktiga programmeringsbegrepp: Kontrakt Vad lovar {klassen, metoden, fältet}? Kontrakt 2 Kontrakt: Överenskommelse som anger Vad som ska tillhandahållas Vad som förväntas i

Läs mer

Lathund till PsycINFO (OVID)

Lathund till PsycINFO (OVID) Lathund till PsycINFO (OVID) PsycINFO innehåller referenser till artiklar inom psykologi och angränsande ämnesområden, som medicin, psykiatri, sociologi m.m. Databasen indexerar tidskrifter från 1806 och

Läs mer

Symbolisk data. quote. (define a 1) (define b 2) (jacek johan david) (list a b)

Symbolisk data. quote. (define a 1) (define b 2) (jacek johan david) (list a b) Symbolisk data (1 2 3 4) (a b c d) (jacek johan david) ((jacek "jacek@cs.lth.se") (johan "johang@cs.lth.se") (david "dat99dpe@ludat.lth.se")) ((anna 13) (per 11) (klas 9) (eva 4)) (+ (* 23 4) (/ y x))

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Arv i Python UML-diagram Exempel Vanliga mönster när man designar en klass Namngivning

Läs mer

Föreläsningsanteckningar och övningar till logik mängdlära

Föreläsningsanteckningar och övningar till logik mängdlära Inledande matematisk analys tma970, 010, logik, mängdlära Föreläsningsanteckningar och övningar till logik mängdlära Dessa öreläsningsanteckningar kompletterar mycket kortattat kap 0 och appendix B i Persson/Böiers,

Läs mer

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se

Läs mer

Structured Query Language (SQL)

Structured Query Language (SQL) Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning

Läs mer

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering Databasutveckling Microsoft T-SQL - Fortsättning Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

Läs mer

Cinahl sökguide. Enkel sökning. Ämnesordsökning

Cinahl sökguide. Enkel sökning. Ämnesordsökning Medicinska fakultetens bibliotek, Lund. Monica Landén. 2014-02-20 Cinahl sökguide Enkel sökning Select a Field (optional) sökningen görs som keyword i titel, abstract och subject heading (ämnesord). Genom

Läs mer

JavaScript in SharePoint and not just for Apps. Wictor Wilén

JavaScript in SharePoint and not just for Apps. Wictor Wilén JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 Daniel Wetterbro 23 november 2009 Sammanfattning Denna vecka ska vi titta på I/O, samlingar och generics. Övningarna är graderade

Läs mer

Principles of subclasses. Objekt-orienterad programmering och design Alex Gerdes, 2018

Principles of subclasses. Objekt-orienterad programmering och design Alex Gerdes, 2018 Principles of subclasses Objekt-orienterad programmering och design Alex Gerdes, 2018 Implementation inheritance Subclassing, eller implementation inheritance (implementationsarv), ger oss två fördelar:

Läs mer

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2 Objektorienterad programmering E Algoritmer Linjär sökning Binär sökning Tidsuppskattningar Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk; dess syntax och semantik, bibliotek

Läs mer

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag 729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Generic type declarations. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Generic type declarations. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Generic type declarations Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Polymorfism Polymorfism är värdefullt ger hög grad av reuseability och extensibility. You know this by

Läs mer

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,

Läs mer

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina

Läs mer

VHDL 1. Programmerbara kretsar

VHDL 1. Programmerbara kretsar VHDL 1 Programmerbara kretsar CPLD FPGA VHDL Kombinatorik with-select-when when-else Sekvensnät process case if-then-else Programmerbara kretsar PLD = programmable logic device CPLD = complex PLD, i princip

Läs mer

Deklarativ programmering

Deklarativ programmering Deklarativ programmering TDP007 Konstruktion av datorspråk Föreläsning 7 Peter Dalenius Institutionen för datavetenskap 2014-03-03 Deklarativ programmering Program skrivet i ett deklarativt språk logikspråk,

Läs mer