Lek$on 3: Kunskapsrepresenta$on. Robin Keskisärkkä

Storlek: px
Starta visningen från sidan:

Download "Lek$on 3: Kunskapsrepresenta$on. Robin Keskisärkkä"

Transkript

1 Lek$on 3: Kunskapsrepresenta$on Robin Keskisärkkä

2 Översikt Laborationerna så här långt Genomgång av laboration 3 Uppgift Förberedelser Kunskapsrepresentation Framesteori

3 Uppgi9 Implementera ett frames-system Frames-struktur Ärvning Procedural attachments Diskussionsuppgift För VG: Utöka ert system till att stödja multipelt arv

4 Förberedelser Läs igenom laborationsinstruktionerna Läs om kunskapsrepresentation i R&N (kap. 12) Förstå frames-strukturen Bestäm domän att representera

5 Kunskapsrepresenta$on Viktigt inom många områden Robotik, expertsystem, Semantic Web mm. Representationstyper Representationsformat Labb 3 fokuserar på frames-system

6 Frames-system Används för att spara information hierarkiskt Frame-instanser representerar koncept eller objekt Information sparas som attributvärden Attribut hämtas och lagras på olika sätt Ärvning/inte ärvning Ersätt/lägg till Attributvärden kan Vara enkla eller sammansatta värden (strängar, tuplar, listor, etc.) eller procedural attachments

7 Exempel Djur Fågel Kräldjur Amfibie Uggla Struts Krokodil Groda Padda Fjälluggla Molybdophanes Trevor Hedwig Fåglar kan flyga och därmed kan Hedwig flyga E9ersom strutsar inte kan flyga så kan inte Molybdophanes flyga Hedwig heter Hedwig

8 Huvudfunk$onalitet Lagra information om nya ramar och attribut store_frame store_attribute Lagra värden för ett visst attribut i en frame tell Fråga efter värden för ett visst attribut i en frame ask

9 KodskeleR Innehåller tre klasser Frame KnowledgeBase FrameSystem Användaren interagerar endast med systemet via fyra metoder som finns i FrameSystem

10 KodskeleR: Arkitektur FrameSystem store_frame store_attribute ask tell local inherit add replace KnowledgeBase add_attribute add_frame get_attribute_methods get_frame * Frame add_attribute_value replace_attribute_value get_attribute_value get_isa

11 Komma igång Hur samverkar klasserna? Vad gör de andra metoderna? Klurigheter I vilken ordning bör jag implementera mina metoder? Hur kontrollerar man att en metod fungerar när den är beroende av att andra redan finns implementerade? Hur hanterar man fel på bästa sätt?

12 Hur samverkar klasserna? Användaren kommunicerar bara med FrameSystem Kunskapsbasen lagrar både frames och attribut Utnyttjas av FrameSystem för att hämta frames och för att hantera atttribut på rätt sätt Information om hur ett attribut fungerar är inte samma sak som ett attributvärde Frame-instanser sparar information om ett visst koncept/objekt Innehåller metoder för att hämta och spara attributvärden Håller reda på föräldrarelationen (ISA)

13 Vad gör de andra metoderna? Både tell och ask kan utföras på två sätt. Vilken metod som väljs beror på attributet i fråga. Tell Ask replace Ersätt redan existerande värde add Lägg till ytterligare ett värde local Om inte värdet finns i denna frame så ge upp inherit Om inte värdet finns i denna frame så fråga föräldern Övriga metoder finns för att underlätta kommunikation mellan klasserna. Dessutom underlättar de felhanteringen.

14 Förslag på implementa$onsordning 1. Skapa och lagra några frames för er domän 2. Specificera några tillåtna attribut för er domän 3. Lagra värden på attribut (börja med replace sedan add) 4. Hämta värden på attribut (börja med local sedan inherit) 5. Implementera er procedural attachment 6. Lägg till felhantering Förutse vilka fel som kan uppstå. Returnera None vid fel men ha även med rimliga felutskrifter. Använd inte try-except

15 Hur kontrollerar man ar en metod fungerar? Användaren interagerar bara med frame-systemet... men ni som utvecklare kan komma åt både klassattribut och metoder! Exempel Kontrollera om store_frame fungerar: Skriv ut all frames som finns lagrade i KB Kontrollera om klassen Frame fungerar: Skapa en frame utanför systemet och kontrollera att klassen fungerar som väntat

16 Hur hanterar man fel på bästa sär? Förutspå fel Anta att användaren kommer att stava fel Anta att användaren kommer att göra saker i fel ordning Försök att hantera felen på så få ställen som möjligt Felutskrifter är bra för människor men inte maskiner. Returnera None om det blir fel så att andra saker som är beroende kan bli meddelade om att något gått snett. Syntaxfel behöver inte hanteras autocheck.py kan användas för att få se om man hanterat de allra vanligaste felen

17 Välja domän Bestäm er för en domän att representera i frame-systemet Domänen ska vara lämplig att representera hierarkiskt Några förslag på domäner: Böcker, växter, fordon, mat, djur, geografisk information Definiera lämpliga attribut Vilka kan ärvas och vilka kan inte ärvas? För vilka attribut tillåts flera värden? Rita upp er domän som ett klass- eller UML-diagram Fundera över en procedural attachment. Metoden ska bidra till framesystemet på något sätt!

18 Live-kodning Kolla in skelettet Kolla in autocheck.py Visa hur metoder kan sparas i variabler och köras

19

Lek$on 4: Kunskapsrepresenta$on. Robin Keskisärkkä och Jonas Rybing

Lek$on 4: Kunskapsrepresenta$on. Robin Keskisärkkä och Jonas Rybing Lek$on 4: Kunskapsrepresenta$on Robin Keskisärkkä och Jonas Rybing Översikt Laborationerna så här långt Genomgång av Laboration 4 Uppgift Förberedelser Kunskapsrepresentation Framesteori Uppgi= Implementera

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

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm Lektion 1 729G43 Artificiell intelligens Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm Dagens lektion Kort om laborationsserien Introduktion till laboration 1 Live-kodning Börja arbeta med laboration

Läs mer

Lektion 2: Sökagenter. Robin Keskisärkkä

Lektion 2: Sökagenter. Robin Keskisärkkä Lektion 2: Sökagenter Robin Keskisärkkä Lektionens innehåll Introduktion till laboration 2 Implementation av en sökalgoritm Livekodning Konfrontera ett liknande problem själva Extra: Heuristisk sökning

Läs mer

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008

DD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008 DD1311 meringsteknik för S1 Laborationer läsåret 2007-2008 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb

Läs mer

729G06 Föreläsning 1 Objektorienterad programmering

729G06 Föreläsning 1 Objektorienterad programmering Översikt Formalia Vad är objektorienterad programmering 729G06 Föreläsning 1 Objektorienterad programmering Definieria klasser Skapa och använda objekt Annika Silvervarg Ciltab, IDA, Linköpings universitet

Läs mer

Objektorientering Klasser

Objektorientering Klasser Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi

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

Lek$on 4: Planering. Robin Keskisärkkä

Lek$on 4: Planering. Robin Keskisärkkä Lek$on 4: Planering Robin Keskisärkkä Sy7e Få en känsla för möjligheter och begränsningar med planering Öva på att modellera planeringsproblem för en planerare Förberedelser Läs kapitel 11 i kursboken

Läs mer

Facit Tentamen TDDC (7)

Facit Tentamen TDDC (7) Facit Tentamen TDDC30 2014-03-18 1 (7) Teoretisk del 1. (3p) "Snabba frågor" a) Varför kan man tänkas vilja dölja metoder och variabler med private? (0.5p) Svar:För att skydda interna variabler från ändringar

Läs mer

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7) Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar

Läs mer

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09 Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.

Läs mer

Detaljbeskrivning av Player

Detaljbeskrivning av Player Detaljbeskrivning av Player Syftet med Playerklassen är att representera det skepp som spelaren styr. Spelarens skepp styrs till skillnad från övriga skepp av spelaren både när det kommer till vilken riktning

Läs mer

Att referera till objekt

Att referera till objekt Att referera till objekt En algoritm för generering av refererande uttryck 729G43: Artificiell intelligens Examinator: Arne Jönsson 2 Innehållsförteckning 1. Inledning... 4 1.1 Bakgrund... 4 1.2 Syfte...

Läs mer

Föreläsning 16 Arv. Jan Lönnberg 3.11.2011. T-106.1212 Grundkurs i programmering

Föreläsning 16 Arv. Jan Lönnberg 3.11.2011. T-106.1212 Grundkurs i programmering Föreläsning 16 Arv Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 3.11.2011 Varför? I ett studieregister har vi både studenter och lärare.

Läs mer

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Titta på hur service:ar fungerar och hur vi programmerar dem. Vad lektionen omfattar WCF Service WCF Services Vad är en WCF service? En WCF Service är ett program

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

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

TDDD78 Objektorientering i Java, del 2

TDDD78 Objektorientering i Java, del 2 TDDD78 Objektorientering i Java, del 2 Objektvariabler är pekare vad är det? Hur används pekare för att sätta samman objekt (composition)? Hur används hierarkier för att modellera nära relaterade typer?

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? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se

Läs mer

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat

Läs mer

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a. Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Databaser design och programmering. Fö 2: Design processen, ER-modellering Databaser design och programmering Fö 2: Design processen, ER-modellering 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

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

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

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

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7) 1 (7) Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen Sal (1) Tid Kurskod Provkod Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F10:1 OOP Objekt-orienterad programmering Föreläsning 10 Mer om arv och klasshierarkier Interface Hierarkier - många nivåer OOP F10:2 Djur Rovdjur Hovdjur Fåglar Fiskar Björn Kattdjur Ko Lamm Hjort

Läs mer

Teoretisk del. Facit Tentamen TDDC (6)

Teoretisk del. Facit Tentamen TDDC (6) Facit Tentamen TDDC30 2013-06-05 1 (6) Teoretisk del 1. (3p) "Snabba frågor" Alla svar motiveras väl. a) Vad skiljer en statisk metod från en icke-statisk? (0.5p) Svar:En statisk metod är associerad till

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 Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

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

DD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009

DD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009 DD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer

Läs mer

TDDC74 Lab 02 Listor, sammansatta strukturer

TDDC74 Lab 02 Listor, sammansatta strukturer TDDC74 Lab 02 Listor, sammansatta strukturer 1 Översikt I denna laboration kommer ni att lära er mer om: Mer komplexa rekursiva mönster, procedurer och processer. Hur man kan hantera listor och andra enklare

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Tentamen ID1004 Objektorienterad programmering April 7, 2015 Ordinarie tentamen för ID1004 Objektorienterad programmering, 7 april 2015 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av en obligatorisk del och

Läs mer

Inlämningsuppgift MiniPlotter

Inlämningsuppgift MiniPlotter LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner

Läs mer

Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen

Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen 1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk

Läs mer

OOP Tenta

OOP Tenta Stockholms universitet sid 1 OOP OOP Tenta 2012-01-14 10.00 15.00 Avser kurserna DSK1:OOP och GES:OOP Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Dagens Agenda. Klient- och Serveroperativsystem Installation av Windows Server Genomgång av Windows Server Roller och Funktioner Domänhantering DNS

Dagens Agenda. Klient- och Serveroperativsystem Installation av Windows Server Genomgång av Windows Server Roller och Funktioner Domänhantering DNS Dagens Agenda Klient- och Serveroperativsystem Installation av Windows Server Genomgång av Windows Server Roller och Funktioner Domänhantering DNS Observera Anteckna! Praktisk genomgång, inga direkta presentationer

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte ordnade i någon

Läs mer

Grunderna för relationsmodellen!

Grunderna för relationsmodellen! Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller

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

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

ID1004 Laboration 4, November 2012

ID1004 Laboration 4, November 2012 06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt

Läs mer

Abstrakta datatyper Laboration 2 GruDat, DD1344

Abstrakta datatyper Laboration 2 GruDat, DD1344 Abstrakta datatyper Laboration 2 GruDat, DD1344 Örjan Ekeberg (fritt från en idé av Henrik Eriksson) 27 oktober 2008 Målsättning Målet med denna laboration är att ge en inblick i hur man kan använda abstrakta

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Armin Nezirevic Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Vad utmärker ett bra användargränssnitt? Kort kursinfo

Läs mer

Andra relationella språk

Andra relationella språk Andra relationella språk Kapitel 5 Andra relationella språk sid Tupelrelationskalkyl 1 Domänrelationskalkyl 6 Query-by-Example (QBE) 8 Andra relationella språk, tupelrelationskalkyl 5-1 Tupelrelationskalkyl

Läs mer

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00 1 ( 7) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier

Läs mer

Laboration 1 - Grunderna för OOP i Java

Laboration 1 - Grunderna för OOP i Java Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben

Läs mer

Vad behövs för att skapa en tillståndsrymd?

Vad behövs för att skapa en tillståndsrymd? OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 3 Objektorienterad programmering i Java I Uppgifter: 1 Beräknad tid: ca 3-6 timmar Att läsa: sidan 150,151, 170-174, 200, 201 (arv) sidan 178-179, 360 (abstrakta klasser, metoder) + utdelat

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

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

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund Föreläsningsmaterial (Arv) Skrivet av Andreas Lund Inledning Arv är ett begrepp som är tätt förknippat med objektorientering. Principerna bakom arv är grundade i högst vardagliga relationer mellan olika

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd

Läs mer

Konceptuell modellering

Konceptuell modellering Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Grundbegrepp:

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Kort kursinfo Lab info Föreläsning - Vad utmärker ett bra användargränssnitt?

Läs mer

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... } Föreläsning 3 Arv Kategorisering Stora program leder till många klasser (tänk liknelsen med en affär med många varor). Att dela in saker i kategorier är en vanlig strategi för att hantera stora komplexa

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017 Fly me to the moon Laboration om relationer, TDDC75 Diskreta strukturer Mikael Asplund 5 september 2017 1 Inledning Denna laboration i diskret matematik a r ta nkt att ge en inblick i hur programmering

Läs mer

Motivation. Programmeringsuppgift: En första ansats: Lagra info om anställda Håll reda på varje anställds närmaste chef. som också är en anställd!

Motivation. Programmeringsuppgift: En första ansats: Lagra info om anställda Håll reda på varje anställds närmaste chef. som också är en anställd! Pekare (till objekt) Objektvariabler är pekare vad är det? (Viktiga begrepp inte bara inom objektorientering!) Hur används pekare för att sätta samman objekt (composition)? TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se

Läs mer

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det). LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, Tomas Johansson, 491000 Resultatet anslås senast 08-05-16 i A-huset. Tillåtna

Läs mer

Tjänsteprototypning. och tjänsterepresentationer. Johan Blomkvist IDA-HCS-IxS

Tjänsteprototypning. och tjänsterepresentationer. Johan Blomkvist IDA-HCS-IxS Tjänsteprototypning och tjänsterepresentationer Johan Blomkvist IDA-HCS-IxS Twitter: @hellibop Dagens föreläsning Tjänsteperspektiv Konceptualiseringar av tjänsteprototyper Tjänsteprototypning 2 Prototyp

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Övning 3. Datateknik A, Java I, 5 poäng

Övning 3. Datateknik A, Java I, 5 poäng Datateknik A, Syfte: Att prova på att skriva egna klasser och skapa objekt av dessa klasser. Att skriva klasser med överlagrade metoder och konstruktor, samt att i en klass använda statiska medlemmar.

Läs mer

Vill du vara med från starten, rulla då ner till slutet av dokumentet. Nya inlägg alltid först.

Vill du vara med från starten, rulla då ner till slutet av dokumentet. Nya inlägg alltid först. Uppdaterad Vill du vara med från starten, rulla då ner till slutet av dokumentet. Nya inlägg alltid först. Måndag v 43 Masken Pelle Jöns Nyfikna på maskar Tisdag v 42 Starten v 42 Syfte Masken Pelle Jöns

Läs mer

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15. Skolan för Datavetenskap och kommunikation Idag: DD1311 Programmeringsteknik med PBL Granskning Felhantering GUI Föreläsning 15 På torsdag: Mer om GUI På grupptimmen: genomgång av granskningsprotokollet

Läs mer

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Webprogrammering och databaser Personal: Examinator Jalal Maleki, jalma@ida.liu.se

Läs mer

Objektorienterad programmering

Objektorienterad programmering 1(5) Objektorienterad programmering och Java Programkurs 7 hp Object Oriented Programming and Java TDDE30 Gäller från: 2018 VT Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum

Läs mer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte

Läs mer

Spel som interaktiva berättelser. Mer teoretiserande!

Spel som interaktiva berättelser. Mer teoretiserande! Spel som interaktiva berättelser Mer teoretiserande! Design Ett sätt att betrakta författandet av icke-linjära, interaktiva berättelser är som design. Def: Design är den process där en designer skapar

Läs mer

Klasser och objekt. Henrik Johansson. August 20, 2008

Klasser och objekt. Henrik Johansson. August 20, 2008 Föreläsning 5 Klasser och objekt Henrik Johansson August 20, 2008 Ett objekt är en modell av ett fysisikt eller ett tänkt ting. Objektet och det som vi kan göra med det beskrivs av en mall, en klass. Ett

Läs mer

Språket Python - Del 2 Grundkurs i programmering med Python

Språket Python - Del 2 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt

Läs mer

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser Hur används hierarkier för att modellera nära relaterade typer? Nu:

Läs mer

Moraliska relationer till naturen

Moraliska relationer till naturen Moraliska relationer till naturen Bakgrund Stark tro på: Att rika naturupplevelser leder till positiva attityder som i sin tur kan leda till miljövänliga attityder till naturen. Svårt att finna vetenskaplig

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

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

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,

Läs mer

Besiktningsprotokollet

Besiktningsprotokollet Besiktningsprotokollet Föreläsning 10 Besiktningsprotokollet 1 2 Informativa utskrifter Programmet ska tala om för användaren vad programmet gör i varje steg och vilken inmatning som förväntas. Ett dåligt

Läs mer

Innehållet i Snomed CT en översikt

Innehållet i Snomed CT en översikt Innehållet i Snomed CT en översikt Innehåll Inledning... 4 Beskrivning av Snomed CT:s hierarkier... 6 Kliniskt fynd... 6 Åtgärd... 6 Observerbar företeelse... 7 Omständighet som rör visst sammanhang...

Läs mer

729G04 Programmering och diskret matematik. Föreläsning 7

729G04 Programmering och diskret matematik. Föreläsning 7 729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg Allmänna Tips Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut

Läs mer