Aktivitet ett: Kommunicera! Aktiviteter i praktiken. Parprogrammering. Aktiviteter. Parprogrammeringens sju myter. Parprogrammeringens sju myter
|
|
- Håkan Sandström
- för 7 år sedan
- Visningar:
Transkript
1 Aktiviteter i praktiken Extreme Programming Aktivitet ett: Kommunicera! Sven and Olle are two farmers way up in the northernmost part of Scandinavia, where people are few and far between and words are even fewer and further between. They meet one day by the side of the road. Sven, who has recently moved to the northern expanse from the capital to take up farming, breaks the silence. - Say Olle, one of my cows has colic. Didn't one of your cows have colic? - Yup. - What did you do about it? - I gave her gasoline to drink. A week later they meet again. Sven cautiously breaks the silence. - Say Olle, I thought you said you gave your cow gasoline for the colic. - Yup. - I gave my cow gasoline and she died! - So did mine. In our haste to get technology and services to market, we all too often miss asking the necessary follow-up questions. Martin Karlsson marka@itn.liu.se K Martin Karlsson - XP 2 Aktiviteter Parprogrammering Två programmerare jobbar sida vid sida En programmerare, föraren, har kontrollen över tangentbordet och implementerar aktivt. Den andre programmeraren, observatören, observerar kontinuerligt det som föraren kodar för att identifiera taktiska defekter Vid behov kan de två programmerarna brainstorma runt hinder de möter på vägen och eftersom de ibland byter roller, arbetar de jämlikt tillsammans Martin Karlsson - XP Martin Karlsson - XP 4 Parprogrammeringens sju myter Arbetsbördan kommer att dubbleras då två personer gör samma arbete som en person kan göra Jag får aldrig jobba ensam. Usch och fy! Det fungerar bara med rätt programmeringspartner Parprogrammering är bra för träning, men när du vet vad du gör, så är det bara slöseri med tid Parprogrammeringens sju myter Jag får aldrig känna att det jag gör är mitt. Jag måste dela det med min programmeringspartner. Kompilatorn kan kvalitetskontrollera bättre än min observatör Jag får bara tillräckligt med arbete genomfört när jag arbetar ensam. Parprogrammering gör att det inte blir något gjort Martin Karlsson - XP Martin Karlsson - XP 6 1
2 Parprogrammeringens synergieffekter Pair pressure Pair negotiation Pair courage Pair reviews Pair debugging Pair learning Pair trust Arbetsplatsen Två personer ska kunna sitta bekvämt bredvid varandra framför en lagom stor skärm När roller byts innebär det att man flyttar tangentbord och mus en liten bit åt sidan Caves and Commons (Kent Beck, 2001) Egna utrymmen vid sidan om, parutrymmen i mitten De kralligaste maskinerna i mitten Martin Karlsson - XP Martin Karlsson - XP 8 Kommunikation mellan par Effektiv kommunikation inom och mellan par är viktig Programmerarna i teamet behöver se varandra Det är bra om man råkar höra vad de andra paren diskuterar, fast det får inte störa. Dock verkar de flesta par tycka att man lätt kan stänga ute all kommunikation som inte är viktig, när man är mitt uppe i parprogrammerandet. Interaktion mellan par är viktig för teamkänslan Partnerbyte Byt ofta, men informellt Parprogrammera med den person som passar bäst för ändamålet Parprogrammera inte bara med den som ni tycker är trevligast/snyggast/luktar bäst När och hur byter man? Short, daily, stand-up meetings Just say yes Martin Karlsson - XP Martin Karlsson - XP 10 Gruppstorlek Optimalt med personer för maximalt utbyte och god uppbyggnad av personliga förhållanden Dessutom är det max för att man ska få en god uppfattning om vad all kod i alla delar av systemet gör och hur den är uppbyggd Övrigt Alla programmerare har olika preferenser vad gäller utvecklingsmiljö. Första veckorna man parprogrammerar bör man prova olika miljöer för att se hur bra det passar för två istället för en En liten, men dock viktig sak. Observatören får inte peta på skärmen med fingret. Använd en penna istället! Martin Karlsson - XP Martin Karlsson - XP 12 2
3 Sju tips för effektiv parprogrammering Ta raster Var ödmjuk Var självsäker / Var mottaglig Kommunicera Lyssna Var en lagspelare Finslipa balansen mellan att kompromissa och att stå på sig Men fungerar det? Parprogrammerare spenderar ungefär 15% mer tid än individuella programmerare på samma uppgift. Dock är denna extra tid inte statistiskt signifikant Parprogrammerare får 15% färre fel i koden än individuella programmerare. Denna högre kvalitet är statistiskt signifikant 95% av parprogrammerare säger att de trivs bättre med arbetet, är mer självsäkra och litar på att den kod de har producerat fungerar. I det långa loppet tjänar man alltså både moral och pengar, eftersom det tar mycket lång tid att rätta buggar Martin Karlsson - XP Martin Karlsson - XP 14 Testdriven utveckling Testdriven utveckling lockar programmerarna att skriva kod som är automatiskt testbar, exempelvis returnera ett värde från en metod istället för att skriva ut värdet i metoden. Fördelar Produktion av pålitliga system Kvalitetsökning av testsatsningen Minskning av testansträngningen Och därmed tidsvinst Testdriven utveckling Historiskt är debugging en klar flaskhals inom programkonstruktion Ju längre en defekt finns i systemet desto svårare och kostsamt är det att ta bort den Testdriven utveckling ger direkt feedback på felaktigheter i kod Därmed kan man hitta defekter och dess orsaker med lätthet Martin Karlsson - XP Martin Karlsson - XP 16 Hur fungerar det? Testdriven utveckling använder sig av en testfall som samlas i en testbänk Genom att kontinuerligt köra dessa automatiska testfall kan man lätt se om en förändring påverkar systemet negativt Den automatiska testbänken gör därmed att ny funktionalitet lätt integreras i koden Men hur gör man? Man skriver testfall innan man implementerar metoden, Man behöver inte skriva testfall för alla metoder, bara de som är produktionsspecifika. Tanken är dessutom inte att bara skriva testfall före implementation. Ytterligare testfall kan givetvis läggas till i efterhand. Integrationstest brukar skapas efter implementation. Testdriven utveckling formar eller förändrar våra designval till att förenkla kod och skapa ökad flexibilitet i systemet Martin Karlsson - XP Martin Karlsson - XP 18 3
4 Forskning på testdriven utveckling Forskning på testdriven utveckling Jeff Langr (ObjectMentor) jämför två implementationer av identisk kod. En framtagen med testdriven utveckling och en utan. Koden hade 20 testfall och 6 metodere, medel antal rader kod per metod var 25. Små metoder kan öka underhållbarhet, kommunicerbarhet och flexibilitet av kod Resultat Passerade testfall TDU 9% 41% 50% Ej TDU 43% 30% 27% Inte bara hade TDU bättre teststatistik, men även metoder med färre rader kod. Samma funktionalitet, men bättre design Martin Karlsson - XP Martin Karlsson - XP 20 XP och testdriven utveckling Två varianter Forma design utefter ett story-kort eller brainstormingsession Börja all implementation med att skriva ett automatiskt testfall som uppfyller kraven för metoden, utan någon design Det andra fallet kräver kunskaper inom omfaktorisering (). Programmerarna inser att de inte når fram till den bästa designen vid första försöket. Testdriven utveckling Skriv test Aktiviteter Kompilera testet. Första gången ska det fallera, eftersom du inte har skrivit koden som testet ska anropa och testa Implementera precis tillräckligt för att testet ska gå igenom Kasta koden Kör testet och kolla om det fallerar Färdig Martin Karlsson - XP Martin Karlsson - XP 22 Testcykeln i XP 1. Skriv ett test 2. Kompilera testet. Det ska fallera, eftersom du inte har skrivit koden som testet ska anropa och testa 3. Implementera precis tillräckligt för att kompileringen ska gå igenom 4. Kör testet och kolla om det fallerar 5. Om det fallerar, kasta all kod och implementera precis tillräckligt igen för att testet ska gå igenom 6. Kör testet och kolla så att det inte fallerar 7. Omfaktorisera för förtydligande och borttagning av duplicit kod Testcykeln i XP Hur lång tid tar cykeln? Mellan 1 och 5 minuter. 10 minuter max. Om det tar längre tid då? Skapa mindre testfall Går det inte slött att koda på det här viset? Faktiskt inte. Om man skulle planera sin design innan så tar ju det också tid, och om fallet inte används sedan så har man designat i onödan Martin Karlsson - XP Martin Karlsson - XP 24 4
5 Verktyg för testdriven utveckling Testbänken brukar vara uppbyggd av ett ramverk för testning. Det finns kommersiella och det finns självklart open source-ramverk. För Java är Kent Beck och Erich Gammas junit den vanligaste. Men det finns olika varianter på den s.k. xunitgrunden på följande länk: Spikes Test av hur komplex en uppgift kan vara Leta - ladda hem - ändra - testa - kasta Behövs inom nya områden eller områden man är osäker på i allmänhet Ger mer exakta tidsuppskattningar Ej bortkastad tid, bara kod Två typer Arkitektonisk spike Konstruktionsspike Martin Karlsson - XP Martin Karlsson - XP 26 In anything at all, perfection is finally attained, not when there is no longer anything to add, but when there is no longer anything to take away - Saint-Exupéry Förbereder dig för förändring eftersom att ändra kod blir en daglig syssla, en vana Möjliggör förändring eftersom koden blir enkel och lättförståelig Låter dig dessutom lära dig olika aspekter av programmering snabbare än normalt, eftersom det krävs att du ändrar din kod kontinuerligt utan att förändra dess funktionalitet Martin Karlsson - XP Martin Karlsson - XP 28 Grundprincipen är att om du ser något i koden som är svårförståeligt och/eller komplicerat, refaktorisera! Du ska inte göra det om koden inte fungerar och behöver skrivas om (eller om den helt enkelt är under uppbyggnad) Sluta refaktorisera när koden är bra, inte när den är perfekt Så... hur gör man? Smelly code Duplicerad kod Långa metoder Lång parameterlista Stora klasser Utspridda ändringar Om ändringar måste införas på flera ställen Switch/Case-satser, villkorskomplexitet Ger upphov till farliga ändringar... förenkla Onödig generalitet Primitiva tvångstankar Javas inbyggda typer är *mycket* bättre än klassobjekt! Offrar tydlighet och skydd Kommentarer Är kommentarerna där som deodorant för dålig kod? Martin Karlsson - XP Martin Karlsson - XP 30 5
6 Aktiviteter (revisited) Andra vanliga refaktoriseringar Encapsulate data En variabel görs private och enda sättet att ändra den är genom en publicfunktion Extract method En metod skrivs i en klass, men använder väldigt lite av den, därmed flyttas den till någon klass där den passar bättre Extract class Flera metoder och data hör inte ihop med de andra, de bryts ut och skapar en egen klass, en subklass eller en superklass Inline method En metods kod är precis lika tydlig som metodens namn. Byt ut anropet till koden mot dess kod Martin Karlsson - XP Martin Karlsson - XP 32 6
XP-projekt: En fördjupning
XP-projekt: En fördjupning Extreme Programming Martin Karlsson marka@itn.liu.se K7522 011 36 34 63 Fem värden Kommunikation Var öppna Var ärliga Ta konflikter Diskutera Tag beslut Tag ansvar Kräver feedback,
Läs merMjukvarudesign. Designprocessen. Teknisk design. Konceptuell design
RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign
Läs merNote to programmers. Embrace Change! Extreme Programming? Fyra basaktiviteter. 12 Practices / sedvanor. Vad är Extreme Programming
Embrace Change! Note to programmers Extreme programming Even programmers can be whole people in the real world. Extreme Programming is an opportunity to test yourself, to be yourself, to realize that maybe
Läs merTestdriven utveckling. Magnus Jonsson Siemens Medical Solutions
Testdriven utveckling Magnus Jonsson Siemens Medical Solutions 2 Soarian Stort projekt, ca 400 personer i projektet Distribuerad utveckling i USA, Indien och Sverige Web baserat lösning med admin client
Läs merConfiguration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar
Skapa testfall Testing Köra testen Hitta fel Inspections and reviews Verifiera resultatet Formal methods Static analysis Completeness Verifiering Kvalitet Maintainability Validering Traceability Fault
Läs merMentalträning GUSK PA, säsongen 2012
Innehållsförteckning Numero Uno - Att vara DÄR- NU och HÄR- NU... 2 Numero Doz - Hur jag matar min mentala mage med en ljudportion... 3 Numero TRES - Its inch by inch! That s all there is... 4 Mentalträning
Läs mer12 principer of agile practice (rörlig)
X-treme programming 12 principer of agile practice (rörlig) Ge nöjd kund genom tidig och kontinuerliga leveranser Den viktigaste punkten som betyder att min vill ha kontinuerlig feedback Välkomna sena
Läs merClasses 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 merStatic vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016
Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =
Läs merKritik av Extrem Programmering
Kritik av Extrem Programmering Markus Borggren d01mbo@efd.lth.se Martin Persson d01mp@efd.lth.se D01, Lunds Tekniska Högskola 15 februari, 2004 Abstract I denna djupstudie kommer vi att försöka, på ett
Läs merMake a speech. How to make the perfect speech. söndag 6 oktober 13
Make a speech How to make the perfect speech FOPPA FOPPA Finding FOPPA Finding Organizing FOPPA Finding Organizing Phrasing FOPPA Finding Organizing Phrasing Preparing FOPPA Finding Organizing Phrasing
Läs merClasses 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 merhttp://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/
Name: Year 9 w. 4-7 The leading comic book publisher, Marvel Comics, is starting a new comic, which it hopes will become as popular as its classics Spiderman, Superman and The Incredible Hulk. Your job
Läs merMetoder (funktioner) Murach s: kap Winstrand Development
(funktioner) Murach s: kap 6 2013-01-23 1 Winstrand Development Metoder I C# kan vi dela in koden i block en kodsekvens ska köras likadant på flera ställen i applikationen. Detta block kallas för en metod
Läs merStatic vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018
Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon
Läs merIntegrerat ingenjörsprojekt
Integrerat ingenjörsprojekt TNIU21 Kursmål Studenten skall efter genomgången kurs kunna arbeta efter en projektmodell i en autentisk situation medverka aktivt och väl fungerande i en projektgrupp utveckla
Läs merTentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs merISBN: Tommy Ohlsson Stockholm 2013
ISBN: 978-91-980510-7-0 Tommy Ohlsson Stockholm 2013 Foto: Tommy Ohlsson totwin@telia.com www.totwin.wordpress.com Översättning till engelska: Christopher Zetterberg Utgiven av: Ultima Esperanza Books
Läs merTestdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski
Testdriven utveckling Januari 2009, KTH Alexander Tarnowski Teorin bakom testdriven utveckling Bakgrund Testdriven utveckling började nämnas kring 1999-2000 av Kent Beck I praktiken implementationen av
Läs mersamhälle Susanna Öhman
Risker i ett heteronormativt samhälle Susanna Öhman 1 Bakgrund Riskhantering och riskforskning har baserats på ett antagande om att befolkningen är homogen Befolkningen har alltid varit heterogen när det
Läs merJUnit. Ska kompletteras med kodexempel på JUnit. DD2385 Programutvecklingsteknik Några bilder till föreläsning 12 21/5 2012
DD2385 Programutvecklingsteknik Några bilder till föreläsning 12 21/5 2012 Innehåll Testning med JUnit Refactoring Några designprinciper JUnit Ramverk i Java för testning av Java-klasser Utvecklat av Gamma
Läs merF2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH
F2 XP Extrem Programmering översikt EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH Vad är XP? En metod för hur man utvecklar programvara i grupp i nära samspel
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merNågra grundläggande begrepp
Några grundläggande begrepp Validering bygger vi rätt system? Uppfyller kravspecifikationen de verkliga behoven? Verifiering bygger vi systemet rätt? Uppfyller det färdiga systemet kravspecifikationen?
Läs merProvlektion Just Stuff B Textbook Just Stuff B Workbook
Provlektion Just Stuff B Textbook Just Stuff B Workbook Genomförande I provlektionen får ni arbeta med ett avsnitt ur kapitlet Hobbies - The Rehearsal. Det handlar om några elever som skall sätta upp Romeo
Läs meronsdag den 21 november 2012 PRONOMEN
PRONOMEN DEMONSTRATIVA PRONOMEN Är ord som pekar ut eller visar på någon eller något. Ex. Vill du ha den här bilen? Nej, jag vill ha den där. Finns 4 demonstrativa pronomen på engelska. DEMONSTRATIVA PRONOMEN
Läs merF2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH
F2 XP Extrem Programmering översikt EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH Syfte & Mål Ge en helhet av vad XP är Mål & syfte med XP - varför ser metoden
Läs merKanban. Marcus Hammarberg. torsdag den 15 september 2011 (v.)
Kanban Marcus Hammarberg Kanban? Vad sjutton är Kanban för något? Jag brukar beställa yakiniku... http://blog.huddle.net/wp-content/uploads/2009/08/team-building-exercises-improving-teamwork.jpg Kanban
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merWittgenstein for dummies Eller hur vi gör det obegripliga begripligt. Västerås 15 februari 2017
Wittgenstein for dummies Eller hur vi gör det obegripliga begripligt Västerås 15 februari 2017 En värld är varje människa, befolkad av blinda varelser i dunkelt uppror mot jaget konungen som härskar över
Läs merBOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström
BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström Frågeställningar Kan asylprocessen förstås som en integrationsprocess? Hur fungerar i sådana fall denna process? Skiljer sig asylprocessen
Läs merWriting with context. Att skriva med sammanhang
Writing with context Att skriva med sammanhang What makes a piece of writing easy and interesting to read? Discuss in pairs and write down one word (in English or Swedish) to express your opinion http://korta.nu/sust(answer
Läs merEquips people for better business
Equips people for better business The Corn Philosophy When I was young, I used to spend time with my grandparents on their farm. One day my granddad asked me to fix the fence. Instead I went swimming with
Läs merTherese Hansson & Magnus Jonsson. Motivationsfaktorer - Test inom Agila utvecklingsprojekt
Motivationsfaktorer - Test inom Agila utvecklingsprojekt Magnus Jonsson & Therese Hansson Flerårig erfarenhet från ett globalt utvecklingsprojekt där vi införde Agile & Scrum metodik i hela organisationen
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merTeknikprogrammet Klass TE14A, Norrköping. Jacob Almrot. Självstyrda bilar. Datum: 2015-03-09
Teknikprogrammet Klass TE14A, Norrköping. Jacob Almrot Självstyrda bilar Datum: 2015-03-09 Abstract This report is about when you could buy a self-driving car and what they would look like. I also mention
Läs merTDDD78, TDDE30, 729A Typhierarkier del 2 Vad krävs? Hur fungerar det?
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 2 Vad krävs? Hur fungerar det? Hur får en subtyp fungera egentligen? Krav på hierarkier 1 3 Får subtypen LinkedList sakna metoder från
Läs merAGILA METODER. (för oss som inte kodar) Nina Berlin
AGILA METODER (för oss som inte kodar) Nina Berlin Agila värderingar 1. Individer och interaktioner framför processer och verktyg 2. Fungerande programvara framför omfattande dokumentation 3. Kundsamarbete
Läs merF4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH
F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH 1 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart
Läs merKopiering 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 merObjektorienterad 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 merEnglish. Things to remember
English Things to remember Essay Kolla instruktionerna noggrant! Gå tillbaka och läs igenom igen och kolla att allt är med. + Håll dig till ämnet! Vem riktar ni er till? Var ska den publiceras? Vad är
Läs merF4 Testning och Parprogrammering i XP. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH
F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH 1 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merGame of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.
Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare
Läs merThe Optimisation Wheel
The Optimisation Wheel These are the people I meet every day 2 4 This shit is hot! CRO 5 3 fällor du kan gå i Don t copy your competitors. They don t know what there re doing either Peep Laja - ConversionXL
Läs merProgrammering av NXT Lego- robot Labbrapport för programmering av en Lego- robot
KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning
Läs merSolowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum: 2015-03-09
Solowheel Namn: Jesper Edqvist Klass: TE14A Datum: 2015-03-09 Abstract We got an assignment that we should do an essay about something we wanted to dig deeper into. In my case I dug deeper into what a
Läs merListen to me, please!
Till pedagogen är särskilt riktat mot det centrala innehållet Lyssna och läsa i ämnet engelska i Lgr11. Syftet med materialet är att: Eleverna ska ha roligt tillsammans i situationer där eleven är ledare.
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merChapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
Läs merObjektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merAgil projektmetodik Varför och vad är det?
Agil projektmetodik Varför och vad är det? Boris Magnusson Datavetenskap LTH 2016-02-08 Lite större projekt Sträcker sig över tid Involverar många deltagare som behöver arbeta parallellt Planeras - delas
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merHealth café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families
Health café Resources Meeting places Live library Storytellers Self help groups Heart s house Volunteers Health coaches Learning café Recovery Health café project Focus on support to people with chronic
Läs merDiscovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers 12-24. Misi.se 2011 1
Discovering!!!!! ÅÄÖ EPISODE 6 Norrlänningar and numbers 12-24 Misi.se 2011 1 Dialogue SJs X2000* från Stockholm är försenat. Beräknad ankoms?d är nu 16:00. Försenat! Igen? Vad är klockan? Jag vet inte.
Läs merObjektorienterad Programkonstruktion, DD1346. Tentamen , kl
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 Tentamen 2016 03 18, kl. 14.00 17.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del I
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början
Läs merIntroduktion till Adobe Acrobat Connect Pro
Introduktion till Adobe Acrobat Connect Pro I denna guide beskrivs hur man använder Adobe Acrobat Connect Pro samt användning av headset och webbkamera. Skapad: 2009-07-03 Version: 1.1 1 Innehåll Hur startar
Läs merAlla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Läs merAtt stödja starka elever genom kreativ matte.
Att stödja starka elever genom kreativ matte. Ett samverkansprojekt mellan Örebro universitet och Örebro kommun på gymnasienivå Fil. dr Maike Schindler, universitetslektor i matematikdidaktik maike.schindler@oru.se
Läs merStatistik över heltal
Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande
Läs merObjektorienterad Programkonstruktion. Föreläsning jan 2017
Objektorienterad Programkonstruktion Föreläsning 15 30 jan 2017 Felsökning Med moderna programmeringsverktyg är rena syntaxfel oftast lätta att åtgärda Fel som kan vara svårare att åtgärda är t.ex: thread
Läs merObjektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer
Läs merAnvändning av Erasmus+ deltagarrapporter för uppföljning
Användning av Erasmus+ deltagarrapporter för uppföljning Internationaliseringsdagarna 2016 2016-11-02 Anders Clarhäll Participant Report Form Identification of the Participant and General Information (Motivation)
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merSupport Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merPlaneringsspelets mysterier, del 1
Peter Lindberg Computer Programmer, Oops AB mailto:peter@oops.se http://oops.se/ 28 februari 2002 Planeringsspelets mysterier, del 1 Om jag ska spela ett sällskapsspel för första gången så vill jag att
Läs merLinköpings universitet 1
Vanliga faser TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Analys Vad är problemet? Uppgift Vad är det för arbetsuppgifter och hur utförs de? Användarbehov Vad behöver användaren/användarna?
Läs merTUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
Läs merWorkplan Food. Spring term 2016 Year 7. Name:
Workplan Food Spring term 2016 Year 7 Name: During the time we work with this workplan you will also be getting some tests in English. You cannot practice for these tests. Compulsory o Read My Canadian
Läs merRobotar i NXc. En laboration med Mindstormrobotar. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN
KUNGLIGA TEKNISKA HÖGSKOLAN Robotar i NXc En laboration med Mindstormrobotar Anton Gyllenhammar 7/30/12 antongy@kth.se II1310 Introduktionskurs i datateknik Sammanfattning Denna rapport beskriver NXc-
Läs merLaboration i datateknik
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Programmering av LEGO-robot Rickard Eriksson 2012-09-06 rieri@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport är till följd
Läs merNågra principer för effektiv enhetstestning
Peter Lindberg Computer Programmer, Oops AB mailto:peter@oops.se http://oops.se/ Några principer för effektiv enhetstestning Enhetstester ( unit tests ) är en central del av extremprogrammering (XP). Man
Läs merUnit course plan English class 8C
Hanna Rüngen Wallner Unit course plan English class 8C Spring term 2018-01-11 w.2-8 forgery safe robbery burglar crime scene Mål och syfte med arbetsområdet Utveckla sin förmåga att: - kommunicera i tal
Läs merPsykosocial enkät. 191 svar av 354 möjliga: 54% 2014: 172 av 333 = 52% 2011: 68%
Psykosocial enkät material inför skyddsronden (6 maj) enkel enkät 24 feb. 10 mars 2:e gången elektronisk modifierade frågor resultat eder anställningskategori, ej eder avdelning 191 svar av 354 möjliga:
Läs merPraktikum i programmering
Praktikum i programmering Föreläsning 1 Lärare: Fredrik Degerlund E post: fredrik.degerlund@abo.fi Rum A5051 (denna korridor) Kursens innehåll Att lära sig att programmera moduler som ingår i ett större
Läs merLinköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod
Systemutveckling TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Systemutveckling kallas processen att ta emot en beställning på ett datorsystem, skriva en strukturerad kravspecifikation på systemet,
Läs merFÖRELÄSNING 8 DSV2PVT
Föreläsning 8 DSV2:PVT Kvalitet i mjukvara 1 FÖRELÄSNING 8 DSV2PVT Kvalitet i mjukvara, utvecklingsmodeller Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap (DSV) IT-Universitetet
Läs merMetoder. Inledande programmering med C# (1DV402)
Metoder Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i detta verk av
Läs merHur utforma en strategi för användande av sociala medier? Skapa nytta och nå fram i bruset
Hur utforma en strategi för användande av sociala medier? Skapa nytta och nå fram i bruset Och nu då? När sociala medier, som vi känner dem, blivit en självklarhet. Whats next? Fyra konkreta råd
Läs merObjektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016
Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class
Läs merEngelska åk 5 höstterminen 2013
gelska åk 5 höstterminen 2013 Under hösten kommer vi att jobba utifrån olika temaområden i engelska. Några områden handlar om länder, intressen och partyinbjudningar. Vi utgår från ett läromedel i engelska
Läs merTravel General. General - Essentials. General - Conversation. Asking for help. Asking if a person speaks English
- Essentials Can you help me, please? Asking for help Do you speak? Asking if a person speaks Do you speak _[language]_? Asking if a person speaks a certain language I don't speak_[language]_. Clarifying
Läs merImperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Läs merChapter 1 : Who do you think you are?
Arbetslag: Gamma Klass: 9A Veckor: 34-39 År: 2019 Chapter 1 : Who do you think you are?. Syfte Förstå och tolka innehållet i talad engelska och i olika slags texter. Formulera sig och kommunicera i tal
Läs merNågra inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0
Läs merGrundkurs i programmering - intro
Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå
Läs merINSTRUKTION FÖR HUR MAN SKAPAR ETT
INSTRUKTION FÖR HUR MAN SKAPAR ETT ANVÄNDARKONTO PÅ FK-FOCUS FORUM Datum: 2012-11-26 Sida 1 av 15 Upprättad av: Henry Fredrikson Inledning Nedan beskrivs hur man skapar ett användarkonto på FK-Focus Forum.
Läs mer729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
Läs merLabb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
Läs merKommunikationskoncept för den Internationella studentrekryteringen
Kommunikationskoncept för den Internationella studentrekryteringen 2014-12-02 Jenny Rohdin/Kommunikationsenheten 1. Bakgrund En av GU:s primära målgrupper när det gäller kommunikation och varumärkesarbete
Läs merVisuell GUI Testning
Visuell GUI Testning Vad är ett Graphical User Interface (GUI)? Icke-animerat GUI Animerat GUI Nuläget System- och acceptanstestning är dyrt! Manuellt Långsamt Enformigt Svårt att replikera exakt Nödvändigt
Läs merTDDC30. 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 merConsumer attitudes regarding durability and labelling
Consumer attitudes regarding durability and labelling 27 april 2017 Gardemoen Louise Ungerth Konsumentföreningen Stockholm/ The Stockholm Consumer Cooperative Society louise.u@konsumentforeningenstockholm.se
Läs merSlutrapport för Pacman
Slutrapport för Pacman Datum: 2011-05-30 Författare: cb222bj Christoffer Bengtsson 1 Abstrakt Jag har under våren arbetat med ett projekt i kursen Individuellt Mjukvaruutvecklingsprojekt. Målet med mitt
Läs merUML. 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 merBlivande och nyblivna föräldrars uppfattningar om munhygien och tandvård före och efter immigration till Sverige
Blivande och nyblivna föräldrars uppfattningar om munhygien och tandvård före och efter immigration till Sverige Masteruppsats (ej examinerad) av Kasra Katibeh F.d. student vid Folkhälsovetenskapliga programmet,
Läs mer