732G11 Linköpings universitet 18 januari 2011
1 2 3
Förväntningar Vad förväntar ni er av kursen? Vad tror ni att ni kommer att få lära er? Hur svårt tror ni att det kommer att bli?
VT1 Grundkurs Imperativ (inte Objektorienterad) Allmänt 7,5p motsvarar 5 veckors heltidsarbete, utspritt nästan 30h per vecka under kursens gång. Högt tempo.
Nybörjarspanska Att läsa språk Ord och fraser hela meningar stycken. I slutet av kursen: små enkla berättelser. Precis som med språk krävs att ni behärskar olika områden. Glosor, grammatik och i någon mening även känsla. En mycket stor del av området lämnas till andra, mer specialicerade, kurser. Vissa är inte alls nybörjare. Öva. Öva. Öva. Öva.
Kursplan Kontaktinformation Schema - Rekommenderad arbetstakt Föreläsningar - slides och läsanvisningar Laborationsinstruktioner Kurshemsida
Föreläsningar Helt frivilliga, men starkt rekommenderade. Blandar ny info och små övningar. Läsanvisningar på kurshemsidan. Rekommenderar att läsa innan. Nytt upplägg från tidigare år. Följer bokens upplägg med vissa avsteg, men andra exempel så långt det går. Förståelse är målet. Fråga direkt om du inte förstår.
Dugga Examinationsmomentet individuella övningar kommer att genomföras i form av dugga, ordinarie och extratillfälle finns schemalagt. Duggan kommer att avgöra kursbetyg (förutsett G på laborationerna). Duggafrågorna kommer att testa både faktakunskap och förståelse. Frågorna kommer att baseras på föreläsningar, kursboken och laborationer. Något förändrad från tidigare år.
Laborationer Två grupper. Måste vara registrerad på kursen. Skilj på laborationsuppgifter och -tillfällen. Kom förberedda. Laborationstillfällen är ej obligatoriska, men laborationsuppgifterna är det. Inga deadlines för varje laboration, men en deadline för senaste inlämning av alla laborationer i slutet av kursen. Titta igenom laborationerna och gör er egen uppskattning av tidsåtgång och planerar arbetet. Behöver någon vara borta? Grundtipset är att alla laborationer ska både demonstreras och lämnas in, men er laborationsassistent kan välja att hoppa över något av dessa för vissa laborationer. Komplettering: rätta upp inom en vecka.
Fusk Fusk definieras som vilseledande vid examination. Mistanke om fusk anmäls till diciplinnämnden som beslutar om avstängning. Laborationerna ska utföras av laborationsgruppen. Det är även fusk att låta någon annan titta på sin lösning.
https://www.ida.liu.se/webreg/ Välj Laborationsgrupp Välj partner Skriv upp er Webreg Det kommer antagligen att bli några tre-grupper, den tredje personen måste läggas till av er labassistent.
Problem? Vem prata med? Frågor som rör det vi lär oss i kursen kan ställas till laborationsassistenterna, eller Johan. Övriga frågor, problem, administrativa saker osv kan man diskutera med Johan. Vill man gå ytterligare ett steg så finns även studierektor, Jalal Maleki.
Kursens motto Prova Använd papper och penna Ha tid - Ha roligt
Fokus på: Datorns innanmäte Representation av värden Skapa.
Jämförelse, student som räknar matte. Datorns innanmäte Processor - utför beräkningar och tar beslut (hjärnan) RAM-minne - tillfälligt lagringsutrymme (anteckningar på pappret) Hårddisk - Permanent lagring, data och (kursboken, sparade lösta uppgifter) In(matnings)-enheter - Läser in data (ögon, öron) Ut(matnings)-enheter - Presenterar data (mun)
Representation av värden Mer detaljerat i boken och nästa FÖ. Datorer arbetar med talbasen 2 (siffrorna 1 och 0) medan människor ofta föredrar talbasen 10 (siffrorna 0-9). Olika typer av värden kodas olika. Detta innebär att man generellt sätt inte kan ändra typ på värden utan att manuellt koda om dem.
Göra och köra Interpretator (tolk) - läser källkoden och utför den (själva tolken är den exekverbara filen). Kompilator (översättare) - läser källkoden och gör om den till ett dator (exekverbar fil).
Skapa Källkod Kompilator Objektkod Länkare Exekverbar fil. Java: Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin
Instruktioner Eilngt en uneörnskding på ett engskelt uivtnierset så seplar det inegn roll i viekln odrnnig bksotrnävea i ett ord står i, det enda som är vtikigt är att fsötra och ssita bavstoken såtr på rtät patls. Rseetn kan stå hlelur om blluer och man kan ädnå lsäa tetxen uatn porbelm. Dttea broer på att vi itne leäsr vjrae bkosatv för sig, uatn odern som hleeht. Men... en dator måste få exakta instruktioner!
Skriva Analysera din uppgift och försök hitta en lösning i ett språk du kan, t.ex. svenska! Översätt din lösning till kod, t.ex. Java. Försök inte lösa allt på en gång.
Program recept Laga middag För generellt!
Laga spaghetti med köttbullar Försök inte lösa allt på en gång! Program recept
Program recept Börja koka upp vatten i en kastrull Ha i salt i vattnet Värm upp olja i en stekpanna Tina 8 köttbullar i micron När micron är klar, börja stek köttbullarna När vattnet kokar, koka spaghettin i 10 min Lägg upp spaghetti och köttbullar på en tallrik Ringla Felix tomatketchup TM över
Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron == klar) hoppa till steg 10; 9 Annars hoppa till steg 8; 10 stek(olja, köttbullar); 11 servera(spaghetti, köttbullar, ketchup);
Det finstilta Java bygger väldigt mycket på objektorienterad mering vilket vi inte kommer att behandla. För att lösa detta kommer de allra nödvändigaste delarna att presenteras som mantran och kan helt enkelt klippa/klistras tills vidare. Alla dessa mantran betyder förstås någonting, vissa kommer att förklaras översiktligt.
Medelvarde.java Ett riktigt class Medelvarde { public static void main ( String [] args ) {... } } Medelvarde är ett namn på met, och måste överensstämma med filnamnet.
Skapa och välj en bra katalog Öppna/skapa Medelvarde.java Skriv koden Spara Skapa Medelvärde.java
Köra met Kompilera med javac Medelvarde.java Rätta fel och repetera tills du lyckas kompilera ditt. Kör med java Medelvarde
Utmatning till skärmen, en fil, nätverk... Alltså data som kommer från met. Brukar vara ganska lätthanterligt. Något ni kommer att använda ofta.
utmatning System. out. print (" Hej "); System. out. println ("på dig."); Utmatning Skriver ut meddelandet Hej på dig med en radbrytning efter.
utmatning Utmatning System. out. println (" hej " + "på dig."); Skriver ut meddelandet Hej på dig med en radbrytning efter.
Utmatning Ibland vill man skriva ut tecken som inte finns exempelvis nyradstecken eller tab-tecken. Escape-sekvenser (escape-koder) \n
Inmatning Att läsa från tangentbord, mus, en fil, nätverk... Alltså data som kommer till progtrammet. Ofta lite mer invecklat än utmatning. Mest därför att man kan fåka ut för sabotage från användaren.
Inmatning Vi vill kommunicera med användaren. För inmatning i Java tar vi hjälp av java.util.scanner (se API). Inmatning import java. util. Scanner ;... Scanner in = new Scanner ( System. in ); String textrad = in. nextline (); boolean harheltal = in. hasint ();
Exempel Ett litet som skriver ut hej.
Välj bra namn på filer, variabler och funktioner. Dåliga namn ger komplettering. Enhetlig indentering Inte för långa rader (80 tecken). camelcasenames
Vad är En s.k. IDE (Integrated Development Environment / Integrerad utvecklingsmiljö) Helt gratis. Till alla operativsystem. Finns i flera varianter får olika språk/tillämpningar. Sköter organisationen av filer, editering av filer, kompilering, exekvering och felsökning.
På universitetet (pc-pul) Redan installerat
Importera modulen prog/eclipse På universitetet (su-sal) module add... för att importera för denna inloggning module initadd... för att importera för kommande inloggningar Version spelar inte så stor roll så länge det fungerar, om ingen version anges så laddas standardversionen.
Måste ha Java. (JDK eller JRE) http://eclipse.org/ Klicka på Download Hemma (windows) Välj IDE for Java Developers. Välj inte EE-versionen. Packa upp till en lämplig katalog Kör filen eclipse.exe (kanske göra en genväg på skrivbordet?)
Starta Starta (på skolan kommandot eclipse, hemma dubbelklicka på genvägen på skrivbordet). vill nu att du ska välja workspace, välj en mapp som alltid är tillgänglig och som kan användas hela kursen (ex. din hemkatalog). Här kommer alla dina filer att sparas. Om du startade för första gången får du upp en välkomstskärm. Klicka på den böjda pilen till höger för att bli av med den. Du bör nu ha igång, med sisådär fyra delfönster.
Till vänster bör du se Package Explorer. Här ser du Dina olika projekt, och dess filer (tom första gången). I mitten ligger Kodfönstret. Till höger ligger Outline här syns en översikt över dina funktioner och globala variabler. Längst ner finns en mängd tabbar, bland andra Problems för felmeddelanden om din kod och Console där in-/utmatning till/från met sker när du kör det.
Anpassa Alla delfönster kan storleksändras och flyttas. Alla tabbar kan maximeras genom att dubbelklicka på dem. Nästan allt kan ställas in Window Preferences General Editors Text-editors Show Print Margin
Ny Klass För att skapa en ny fil (ny klass) klicka på den gröna ringen med ett vitt C i. Skriv in namnet och kryssa i rutan för att skapa main-metoden.
Kompilera/Köra Kompilerar automatiskt när man sparar. Kör genom att trycka på en gröna play-knappen. Avbryt körning genom att trycka på den röda stoppknappen ovanför Console-fönstret.
Tangentbordsgenvägar Kör senaste konfiguration: Ctrl + F11 (Verkar inte fungera i SU-salarna) Kommentera / avkommentera rad med: Ctrl + 7 Indentera med: Ctrl + Shift + f (Ctrl + i) Expandera med: Ctrl + Space Quick fix med: Ctrl + 1 (etta), använd inte ännu. Refactor rename: Ctrl + Alt + r
Autokomplettering Ctrl + Space kan inte bara ge förslag på möjliga fortsättningar på ord, utan kan även expandera vissa mallar syso if for och många fler...