Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

Relevanta dokument
Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

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

Mer till P-uppgiften: Dokumentation. Nyheter. Algoritm för sökning. Mer hjälp. DD1311 Programmeringsteknik med PBL

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 13

Kursanalys DA2003 sommar 2017

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Kursanalys DA2003 höst 2017

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16

Funktioner. Linda Mannila

DD1314 Programmeringsteknik

Kursanalys DD1312 hösten 2008

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

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

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

PROGRAMMERINGSTEKNIK FÖRELÄSNING 5

Föreläsning 10. Besiktningsprotokollet

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Ordlistor, filhantering och ut på webben. Linda Mannila

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

Kursanalys DD100N hösten 2018

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Besiktningsprotokollet

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Grundläggande datalogi - Övning 1

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

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

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

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Laboration: Whitebox- och blackboxtesting

TDP Regler

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Planering av ett större program, del 2 - for och listor. Linda Mannila

TDP002 - Imperativ programmering

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Föreläsning 6 Programmeringsteknik och Matlab DD1312

Datalogi för E Övning 3

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Selektion och iteration

TDP002 - Imperativ programmering

Sekvensdatatyper, ASCII och chiffer. Linda Mannila

Mer grafik. Jan Erik Moström

Föreläsning 13 Datalogi 1 DA2001

Hur man programmerar. Exempel på problemlösning i Python

Datalogi, grundkurs 1

Föreläsning 1 & 2 INTRODUKTION

Övning 6. Komprimering, kryptering, dokumentering & testning

Tentamen i Introduktion till programmering

v. 42 Python HT17 En introduktion Oscar Bergqvist

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Sätt att skriva ut binärträd

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

OOP Omtenta

TDDI TDDI22 Tentaregler

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

v. 43 Python HT17 En introduktion Oscar Bergqvist

Programmering och algoritmiskt tänkande. Tema 3, föreläsning 1 Jody Foo

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

Kursplan för kurs på grundnivå

Programdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Uppgifter teknik HT17 (uppdaterad v. 40)

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

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass

729G04 Programmering och diskret matematik

Föreläsnings 9 - Exceptions, I/O

Relativa, kriteriebaserade och målrelaterade betyg. Målrelaterade kriterier. Relationen betygskriterier lärandemål

Dagens föreläsning (F15)

Föreläsning 1 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

kl Tentaupplägg

Föreläsning 7: Filer

Övning 1 - Abstrakta datatyper

Föreläsning 1 Programmeringsteknik och C DD1316. Kurswebbsidan. Mål

Algoritmer och datastrukturer H I HÅKAN S T R Ö M B E R G N I C K L A S B R A N D E F E L T

Grundläggande datalogi - Övning 2

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

Några saker till och lite om snabbare sortering

kl Tentaupplägg

TDP Regler

Föreläsning 13. Träd

Text och strängindexerade fält Grundkurs i programmering med Python

Tenta i Grundläggande programmering DD klockan

Felhantering TDDD78, TDDE30, 729A

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Den klassiska programmodellen. Introduktion till programmering D0009E. Föreläsning 11: Filer och undantag. Filsystem. Interaktiva program.

UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02

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

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

Transkript:

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

Dagens föreläsning Betygskriterier P-redovisning Komplettering Vad händer om man inte hinner klart? Plussa

för betyg E ska du visa att du kan: följa reglerna i programspråkets syntax, tillämpa och redogöra för regler för god programmeringsstil (såsom användarvänlighet, kommentarer, felhantering, strukturering, flexibilitet), upptäcka och korrigera programmeringsfel, modifiera givna program, överföra data mellan fil och program, identifiera behovet av och använda styrstrukturer (villkorssatser och slingor), dela upp ett större problem i hanterliga delar och konstruera funktioner för dessa, använda de datastrukturer som finns inbyggda i programspråket, samt välja datastrukturer som passar för det aktuella problemet, använda och konstruera egna klasser, granska andras program

för betyg D ska du dessutom visa att du kan: följa en given tidsplan för arbetet, skriva ett perfekt program som i alla avseenden uppfyller givna krav på användarvänlighet, begriplighet och strukturering

för betyg C ska du dessutom visa att du kan: infoga felhantering för att få ett program som inte kraschar för felaktiga indata

för betyg B ska du dessutom visa att du kan: konstruera och implementera en svårare algoritm

för betyg A ska du dessutom visa att du kan: sätta dig in i och använda en större modul (t ex tkinter, pygame, urllib) för att utveckla ditt program

GRANSKNING Ditt program måste granskas. Du måste granska ett program. Den som granskar ska fylla i granskningsprotokollet, se länk under P-uppgiften Granskaren ska vara med vid redovisningen. Alla ska granska exakt ett program (inte fler)

BOKA TID Du måste boka en redovisningstid, se länk under Bokning. Skriv också upp vem som granskar ditt program (men hen måste också boka en egen redovisningstid).

REDOVISNING Assen kollar leg Granskaren får berätta Assen provkör Assen tittar på koden Assen frågar Assen fyller i protokollet Assen kollar att programmet inte är kopierat Du får betyg (E,D,C,B,A eller komplettering)

BONUS Du samlar ihop bonuspoäng från Labbarna 1-6 (max 24 bp) Provet (max 4 bp) Specen (max 4 bp) Prototypen (max 4 bp) Webbdelen (max 4+4+4+2 bp) Om du får 35 bp eller mer höjs ditt slutbetyg ett steg, från E->D osv...men om du får F höjs inte betyget till E

KOMPLETTERING Om ditt program inte uppfyller kraven kan du få komplettera: Antingen senare samma dag Eller boka ny tid Granskaren behöver inte vara med vid kompletteringen (om inte granskaren också ska komplettera sin granskning).

INTE KLAR I TID? Efter kursens slut anordnas uppsamlingstillfällen (som omtentor) 2-9 juni labbvecka Länkar/mer info kommer på KTH Social Om du inte blir godkänd på P-uppgiften i tid (med minst E) missar du chansen att plussa.

PLUSSA Om du blir godkänd i tid med minst E...... så har du möjlighet att plussa för högre betyg på uppsamlingstillfällen fram t o m 30 januari 2017 Du behöver inte göra ny spec/prototyp/granskning när du plussar.

OBS! Det finns ett moment kvar efter P- uppgiften: LAB4: Webbdelen (html/css/javascript/php)

FELHANTERING, T EX Felaktig inmatning: Filer: Tecken istället för tal För stort/för litet tal Infil saknas Felaktiga data i filen Lista/dictionary: Index saknas Nyckel saknas

EXCEPTION - REPETITION När något blir fel i ett Python-program uppstår ett särfall, t ex NameError: >>> print sko Traceback (most recent call last): File "<pyshell#17>", line 1, in -toplevelprint sko NameError: name 'sko' is not defined Man kan ta hand om särfall genom att införa try-except-else-satser för de delar i programmet som kan krascha.

SÄRFALL - EXEMPEL try: tal = input("vad ska inverteras? ") invers = 1.0/tal except (ZeroDivisionError): print "Noll kan inte inverteras" except (NameError): print "Du borde ha skrivit ett tal!" else: print "Inversen blev", invers

EXEMPEL I SLINGA def laspengar(): """ Läser in tills man ger ett heltal""" pengar = None while not pengar: try: svar = raw_input( Ange belopp: ") pengar = int(svar) except(valueerror), e: print "Felaktigt belopp, försök igen" return pengar

FELHANTERING I TKINTER I messagebox finns "popupfönster" som lämpar sig för felhantering: showinfo showwarning showerror askquestion askyesnocancel Alla tar två parametrar: title och message Vissa har returvärde (askyesnocancel)

EXEMPEL: SHOWERROR from tkinter import * rot = Tk() messagebox.showerror(title="fel", \ message="du har just gjort fel.") rot.mainloop()

GETATTR För att hämta värdet på ett namngivet atribut: värde = getattr(objekt, attributnamn) Exempel: djur = Husdjur() w = getattr(djur, "namn")

SETATTR För att ändra värdet på ett namngivet atribut: setattr(objekt, attributnamn, värde) Exempel: djur = Husdjur() setattr(djur, "namn", "Leo")