Föreläsningsanteckningar Kortfattat om programmeringsmetodik Ola Ågren Hur det går till att göra ett program
Föreläsningsanteckningar Dagens ämne: Programbyggnad n Hur skriver man program? n Varför gör man som man gör?
Föreläsningsanteckningar Vad behövs vid programmering? n Kunskaper om/Färdigheter i: problemområdet lösningsområdet material metoder
Föreläsningsanteckningar Problemområdet n Känn till problemet innan du försöker göra en lösning!
Föreläsningsanteckningar Lösningsområdet n grundläggande datatyper n grundläggande algoritmer n programspråk
Föreläsningsanteckningar Material n editorer n språktolkar Kompilatorer - översätt, sedan kör Interpretorer - översätt och kör rad för rad n felsökningsverktyg n programbibliotek
Föreläsningsanteckningar Metoder n problemanalys n problemlösningsmetodologi n arbetsmönster n organisationer n validering & utvärdering
Föreläsningsanteckningar Metaforer för programmering n Instruktionsmetaforen n Problemlösningsmetaforen n Adaptionsmetaforen
Föreläsningsanteckningar Instruktionsmetaforen n Programmering är att instruera datorn vad den skall göra Fördelar –Enkel att ta till sig –Enkel modell Nackdelar –Att lära sig programmera är INTE att lära sig programspråk –Det som går att uttrycka i vanligt språk är inte direkt översättningsbart
Föreläsningsanteckningar Problemlösningsmetaforen n Vad skall göras? Hur skall det göras? Lösningen är en relation från ett definierat tillstånd till ett annat. Fördelar –Lätt att se bortom programspråket –Återanvändningsbara programelement Nackdelar –Hur gå från lösning till kod? –Stirra sig blind på detaljer
Föreläsningsanteckningar Metodik problemlösningsmetaforen n uppgiftsformulering n algoritmkonstruktion n verifikation n kodning n testning och avlusning n validering n dokumentering n underhåll
Föreläsningsanteckningar Adaptionsmetaforen n När fungerar inte problemlösningsmetaforen Omgivning som ändrar sig Programmet påverkar ömgivningen Interaktiva system n Hur fungerar det Gradvis anpassa programmet till miljön n Nackdel När färdig?
Föreläsningsanteckningar Metoder n Botten upp (bottom up) Börja med de saker som finns tillgängliga Utöka dessa till man fått ett färdigt program n Toppen ner (top down) Skriv huvudslinga översiktligt Förfina de olika delstegen till programmet färdigt
Föreläsningsanteckningar Kopplingen till förra föreläsningen n Om man använder bottom up så kan abstrakta datatyper (ADT) ses som tillgängliga element i språket n Om man använder top down så är det bra att anpassa sig så att man kan använda ADT
Föreläsningsanteckningar Sammanfattning n Tänk innan du gör något! Ju senare man upptäcker ett fel desto dyrare att rätta till n Arbeta lungt och metodiskt Skjut inte upp allt till sista sekunden jämt Jobba inte X veckor/månader med den intressanta delen av ett program för att sedan rafsa ihop resten på en kväll