Programmering för testare (ITHS)

From Juneday education
Jump to: navigation, search

Contents

SNÄLLA LÄS DETTA Om studietakten och studieteknik

Lektioner ges med en heldag (måndagar) och en halvdag (fredagar) i veckan i 15 veckor. Utöver detta förväntas ni lägga minst lika mycket tid på studier och arbete med inlämningsuppgifter. Vi rekommenderar att ni ordnar studiegrupper där ni träffas i skolan och arbetar med övningar och inlämningsuppgifter tillsammans och samlar på er frågor kring moment som ni inte förstår eller klarar av. Det kommer finnas gott om tid för laborationer och övningsarbete på lektionstid men för att vara så effektiva som möjligt är det bra om ni samlar på er frågor som vi kan gå igenom gemensamt under laborationstillfällena. Det är således ingen bra idé att arbeta hemifrån under schemalagda arbetspass, eftersom man får handledning och genomgång av svårigheterna under laborationspassen.

Se schema för upplägget i stora drag.

Ni förväntas förbereda er inför varje schemalagd föreläsning genom att se filmerna och läsa texter samt följa länkar som ges för vidaresläsning. Det framgår i schemat vilka kapitel/sidor mm som gås igenom respektive teoripass.

De pass i schemat som benämns "Övningar" är lärarledda laborationspass då vi dels handleder och hjälper till men också då vi går igenom frågor som ni samlar på er under självstudier utanför schemat. Återigen, detta gör att det INTE är rekommenderat att utebli från övningspassen, eftersom det där tas upp spontan genomgång av koncept som ni upplever som svåra. Uteblir man från övningspassen så kan man räkna med att missa teorigenomgångar som drivs av önskemål från er.

Kort sagt, kursens upplägg bygger på att ni närvarar på samtliga schemalagda pass samt lägger ned lika mycket tid på studier och arbete utanför schemalagda pass. I gengäld så har ni möjlighet att förbereda er och repetera med hjälp av filmerna. Ni har också möjlighet att styra innehållet i eventuella extragenomgångar på övningspassen.

Om vi hjälps åt, ni genom att göra jobbet med förberedningar, skriva ned frågor och närvara på samtliga pass, och vi genom att vara hjälpsamma och stötta er när ni kör fast, så är vi övertygade om att ni kommer lära er väldigt mycket.

Utbildningen är på heltid så det förväntas 40 timmar studier per vecka. Det motsvarar ungefär 18-20 timmar Java i veckan, lektionerna inkluderat.

För att få ut så mycket som möjligt av övningspassen så måste ni vara förberedda genom att ha försökt själva, konsulterat varandra och skrivit ned vad det är ni inte förstår, så att vi kan sätta in så effektiv hjälp som möjligt.

Samarbetar vi om detta så kommer ni lära er väldigt mycket som sagt!

MVH Rikard Fröberg, en av lärarassistenterna tillika en av författarna till materialet

Hur ska man göra om man känner att man inte hänger med?

Det är viktigt att först förstå att man förmodligen inte är ensam om att inte förstå nya koncept. Det finns inga dumma frågor! Säg till och säg till så fort som möjligt, så vi kan sätta in riktade insatser.

Ämnet programmering påminner en del om ämnet matematik i det att man börjar från grunden och lägger fundamentala begrepp och principer. Sedan bygger man vidare på grunden successivt och lägger till koncept och tekniker allteftersom. Det är mycket vanligt att ett nytt koncept starkt bygger på det tidigare konceptet (som bygger på det tidigare osv till grunden). Detta har vi noga analyserat genom våra år som lärare och därför har vi lagt upp ordningen och progressionen på kursen enligt vad vi anser en naturlig följd.

Dock innebär det ovanstående att om man kör fast i (eller uteblir från ett avnsitt i mitten av kursen) så kommer man lätt upptäcka att allt därefter blir svårt, eftersom det hela tiden bygger vidare på tidigare avsnitt. Därför är det viktigt att säga till i tid och vara så precis som möjligt när man ber om hjälp!

Vi föreslår följande strategi om man kör fast; gå tillbaka till det tidigare kapitlet och bekräfta att du förstod det som gicks igenom där (annars upprepar du tills du hittar den punkt där du känner dig trygg med förståelsen). Repetera filmerna och övningarna och arbeta dig framåt tills du hittar den övning eller den film där du känner att du tappar tråden eller inte hänger med. Genom att vara så precis, så kan vi sätta in den hjälp vi ger så effektivt som möjligt, för att knuffa dig över tröskeln på den punkt där du kört fast! Vi måste ha din hjälp dock för att hitta denna punkt. Repetera, repetera, fråga varandra och skriv ned frågor tills du träffar läraren nästa gång.

En sämre strategi är att be om hjälp för att man inte förstår ämnet i största allmänhet. Det är då väldigt svårt för oss att veta vad det är som är svårt och när detta inträffade. Vi har skapat föreläsningsfilmer och filmer där vi visar hur vi kodar just för att det ska vara möjligt att repetera och förbereda sig! Samma gäller övningar och lösningsförslag. De finns där för att ni ska kunna repetera ett avsnitt och öva på det även mellan lektionstillfällena.

Ni har med filmerna, texterna, länkarna till vidareläsning och övningarna möjlighet att få varje föreläsning tre gånger eller flera! Ni kan se filmen och läsa på innan lektionen. Sedan se föreläsningsfilmerna igen en dag senare och bekräfta att ni förstår (och de flesta uppger att de förstår allt först efter ett par försök med teorin). Då man sett filmen själv och förberett lite frågor blir föreläsningen i klassrummet roligare och mer givande. När man då börjar med övningarna upptäcker många att de förstår föreläsningen fullt ut först när de skriver övningarna och reflekterar över själva praktiken - att programmera själv (skriva kod). När man sedan (om man är en flitig student) ser föreläsningen en tredje gång som repetition efter att ha övat själv (med handledning och mellan lektionerna, kanske i grupp med klasskamrater), så brukar många uppge att förståelsen ökar ytterligare.

Vi brukar som ni säkert hört jämföra med att lära sig spela exempelvis gitarr. Det räcker inte med att se en instruktionsvideo och titta på gitarrläraren, man måste själv göra gitarrläxan och traggla med skalor osv. Att lära sig läsa noter är också svårt för många i början. Det är nästan omöjligt om man inte samtidigt praktiserar att spela efter noterna (man hör ofta om man förstått rätt, eftersom man spelar fel annars).

Övningspassen är till för att vi ska kunna stötta er och ge den knuff som behövs för att komma vidare - det är helt naturligt att man kör fast! Det är också så att många övningar gradvis blir svårare just för att locka till en handlednignssituation där vi kan diskutera med er och få er att reflektera. Dessvärre så är antalet timmar för handledning ett begränsat antal så det gäller att vi hjälps åt för att kunna vara så effektiva som möjligt.

Gör man inte övningarna eller uteblir från övningspassen finns en risk att det blir en negativ spiral där man kommer längre och längre efter och det blir svårare och svårare för läraren att ge det stöd som handledningen är till för att erbjuda.

Dynamiken mellan elev och lärare bygger på ett samarbete och ömsesidig respekt. Lärarens roll är att ge en teoretisk faktabakgrund och ramar, svara på frågor (helst sådana som hör till föreläsningens ämne) och stötta i handledningen. Själva lärandet sker när ni förebereder er, lyssnar och ställer frågor men framför allt när ni praktiserar genom att göra övningar och reflektera över lärandet. Läraren hjälper också till under själva övningspassen och stöttar när man kör fast eller undrar över något. Men utöver detta så måste elev och lärare mötas halvvägs och försöka utvecklas tillsammans. Det är hemskt svårt att "lära någon något" som är så pass nytt och abstrakt som det som står i en bok om programmering (eller en bok om gitarrspel, harmoni eller komposition av musik). Vad man kan göra som lärare är att berätta om bakgrunden och den stora bilden av ett koncept och sedan hjälpa till och stötta när eleven försöker praktisera ämnet.

Teorin bakom programmering är ganska torr och regelstyrd. Det är abstrakt så till vida att det ofta saknas motsvarigheter till regler och koncept utanför programmeringens domän. Därför krävs att man skapar sig en intuitiv förståelse för vissa av reglerna genom att prova och praktisera, reflektera och repetera. Det är när man kör fast och kan sätta fingret på vad det är man inte förstår, som det är lättast att få hjälp. Det är hela tiden ett växelspel mellan teori som man nästan förstår™ och försök att praktisera teorin genom övningar. Ju mer man övar, desto mer lär sig hjärnan att känna igen mönster och situationer och en viss intuition växer fram med erfarenheten.

Jag talar av egen erfarenhet när jag säger att det är ofta när man sitter och provar ett nytt koncept inom programmering som man förstår vad det var man läste eller hörde någon berätta om. Genom att försöka själv och se om det fungerar så som man trodde, så upptäcker man snart såväl när man förstått (när det nästan alltid blir som man hoppades) som när man inte förstått (när det aldrig blir som man hoppades). När det känns tungt, så får man gå tillbaka till teorin och försöka identifiera vad det är man inte förstod (det är ibland fel i teorin/boken/genomgången/exemplet/övningen dessutom - och då måste man ju be om hjälp och en second opinion!). Här finns några olika saker man kan göra i väntan på att man får hjälp eller kan fråga läraren eller handledaren:

  • Se filmen med teorigenomgången och anteckna frågor ni har
  • Läs eventuell teoritext i kaptitlet med exempel, anteckna eventuella frågor, försökt skriva av och prova exemplen
  • Läs eventuella länkar till vidareläsning (ibland länkas det till en tutorial eller artikel om ämnet - alltid bra att höra en alternativ förklaring av ämnet!)
  • Fråga klasskamrater om de har förstått och om de i så fall kan förklara
  • Fråga eventuella vänner som kanske kan ämnet om de kan förklara
  • Sök information själv - kanske finns det någon bok eller kursmaterial på nätet? Bäst är om det finns material som har övningar med lösningsförslag så att ni kan försöka kontrollera om ni gått framåt

Tänk dock på, som nämndes i inledningen, att ni förmodligen inte är ensamma om att tycka att detta är svårt. Det är nytt och det tar väldigt mycket tid att bli bra på programmering. Be om hjälp när det känns svårt och försök att vara så specifik som möjligt, så kan läraren eller lärarna ge så specifik och bäst anpassad hjälp som möjligt.

/Rikard

Schema 2017

Nedan följer ett preliminärt schema som kommer ändras under första veckorna tills allt planerats klart.

v 34 - Onsdag 23 augusti

Förberedelser

Detta är första dagen, så ni kan ju inte ha förberett er ännu. Men i fortsättningsvis, så titta i schemat för att se vilka filmer ni bör se i förväg och försök gärna med övningarna till respektive kapitel som förberedelse. Läraren (ibland lärarna) kommer hjälpa till med övningarna under övningspassen men försök gärna själva i förväg!

Normalt sett så kommer vi be er se föreläsningsfilmer i förväg så att föreläsningen under lektionen blir lite av en repetition. Tanken är att ni ska få se föreläsningarna i förväg och sedan få en repetition under lektionen.

Filmerna för första dagen hinner ni nog inte se innan (eftersom ni inte visste att de fanns) men följande filmer finns för första dagen (länkarna går till en "channel" på Vimeo med flera filmer):

  1. Computer introduction (English) Computer introduction (Swedish)
  2. Programming introduction (English) Introduktion till programmering (Swedish)

Kapitel att läsa i wiki-boken:

  1. Computer introduction
  2. Programming introduction

OBS! Varje kapitel har ett övnings- eller frågekapitel efter. Se navigation längst ned på respektive sida.

Innehåll - grovskiss

v 34 - Torsdag 24 augusti

Förberedelser

Se nedanstående filmer och försök gärna installera de program som anges:

  1. Installing cygwin etc
  2. Introduction to bash (the command line interpreter)

Cygwin är för er som kör Windows så att ni får en terminal med kommandotolken Bash. Kör ni GNU/Linux eller Mac OS så har ni redan terminal med Bash!

Atom är den editor vi ska använda för att skriva text och program med.

Java måste installeras - vi ska ju skriva program i språket Java, kompilera våra Java-program med javac och köra våra Java-program med java.

Filmen om Bash introducerar kommandotolken som vi ska arbeta i för att programmera och så vidare.

Läs följande kapitel innan torsdag (om ni hinner)

  1. Setting up your environment
  2. Chapter:Bash-Installation (Read the text, you have probably already installed bash/cygwin - view this chapter as repetition)
  3. Chapter:Bash-introduction

Innehåll

  • 11.00 - 12.00 - Repetition gårdagen plus: vi går runt och hjälper er att installera och få upp er miljö (bash + atom + Java)
  • 13.00 - 14.00 - Föreläsning: Introduktion till Bash Vi bekantar oss med bash och kommandoraden
  • 14.10 - 16.00 - Övningar: Introduktion till Bash Samt att vi hjälper till och fixar problem om någon inte fått igång cygwin, atom eller java + javac (JDK)

v 35 måndag 28 augusti (Rikard)

Förberedelser

Se följande filmer:

  1. Bash structure and Bash textfiles
  2. Bash redirection

Läs följande kapitel:

  1. Chapter:Bash-structure
  2. Chapter:Bash-Text_files
  3. Chapter:Bash-Redirection

Innehåll

Innan vi kan börja programmera i Java så måste vi lära oss lite mer om bash och textfiler.

Resten av dagen - övningar på kapitlen:

  1. Chapter:Bash-structure
  2. Chapter:Bash-Text_files
  3. Chapter:Bash-Redirection

v 35 fredag 1 september (Nahid, eventuellt Henrik eller Rikard)

Förberedelser

Se filmer innan denna dag:

  1. Bash standard streams (English)
  2. Bash strömmar, introduktion (Svenska)

Läs:

  1. Chapter:Bash-Standard streams

Innehåll

v 36 måndag 4 september (Rikard)

Förberedelser

Se följande videor:

  1. Programming in Java (all videos in one channel) (eng) (swe)
  2. Our first Java program (eng) (swe)
  3. Om ni hinner: Variables and types (eng) (swe)

Innehåll

v 36 fredag 8 september (Nahid, halvdag, eventuellt Henrik och Rikard också)

Förberedelser

Se följande filmer innan denna dag:

  1. Expressions and operators Videos (eng) (swe)

Läs:

  1. Expressions and operators inklusive "Questions and Answers" på samma sida!

Innehåll

v 37 måndag 11 september (Rikard, heldag)

Förberedelser

Det här är en ganska tung dag - så förbered er väl!

Se filmer:

  1. Control flow videos (eng) (swe)
  2. Objects introduction (eng) (sv)
  3. Objects vs Classes - an introduction (eng) (sv)
  4. Creating objects I (eng) (sv)
  5. Creating objects II (eng) (sv)

Läs:

  1. Control flow
  2. Objects - Introduction
  3. Objects - Relation to classes
  4. Objects - Creating

Innehåll

v 37 fredag 15 september (Nahid, halvdag)

Förberedelser

Se filmer:

  1. Using objects (eng) (sv)
  2. Invoking methods in objects (eng) (sv)
  3. Getting information from objects (eng) (sv)
  4. Objects using other objects (eng) (sv)

Läs:

  1. Objects - Using

Innehåll

På begäran från skolan så skall närvaro tas varje lektion och föras in i ITHS-distans av läraren (Nahid). Detta gäller från och med denna dag.

Idag är alla föreläsningar från kapitlet Objects - Using

  • 9:00 - 9:05 Närvaro
  • 9:05 - 9:15 Föreläsning: Objects - Using (PDF) (repetition)
  • 9:15 - 9:20 Föreläsning: Objects - Invoking methods in objects (PDF)
  • 9:20 - 9:30 Föreläsning: Objects - Getting information from objects (PDF)
  • 9:30 - 10:00 (cirka) Föreläsning: Objects - Objects using other objects (PDF)
  • 10:15 - 12:00 Övningar: Objects - Using - Exercises

Övningarna täcker in hela kapitlet: Using, invoking methods, getting information, objects using other objects

v 38 måndag 18 september (Nahid, heldag)

Förberedelser

Se filmer:

  1. Introduction to the online documentation eng swe
  2. How to read about a class in Java's API documentation eng swe
  3. Documentation for ArraryList eng swe
  4. Documentation page for Properties eng swe
  5. Documentation page for System eng swe

Läs:

  1. Objects - Java API documentation
  2. Objects - Questions and Answers

Innehåll

Filmerna till idag är "live" dvs inga föreläsningsslide finns (ingen PDF).

  • 11.15 - 16.00 Vi föreslår att ni efter dessa övningar gör klart och repeterar alla övningar hittills (bash är inte med på tentan).

Idag kontrollerar vi också att alla är klara med alla övningar till och med denna dags kapitel!

Checkpoint: Ni ska nu ha gjort alla kapitels övningar:

  • Bash-kapitlen
  • Programming in Java
  • Our first Java program
  • Variables and types
  • Expressions and operators
  • Control flow
  • Alla kapitel om Objects

På fredag är det tenta (t o m objects) så det är nog klokt om ni jobbar med övningar och repetition av tidigare övningar här i klassrummet eftersom Nahid är där och kan hjälpa till.

v 38 fredag 22 september

Preliminärt datum för Tenta nr 1 av 2.

Förberedelser

  • Se alla filmer för de lektioner som varit hittills
  • Gör alla övningar för de lektioner som varit hittills
  • Läs exempeltentan som lagts upp på ITHS-distans (ni läser väl changelog?)
    • Exempeltentan är för hela kursen - Delarna till och med Objects är med i dagens tenta.

Innehåll

Tentamen kl 9.00 -- 12.00

v 39 måndag 25 september (Nahid, heldag)

Förberedelser

Här är vårt förslag på hur ni förbereder er!

Läs:

Se sedan följande video:

  • Classes - introduction - declaring classes - Packages (English) (Swedish) (pdf) (cirka 12 minuter video)

Läs sedan:

Se sedan följande videor:

Innehåll under dagen

  • 9.00 - 9.05 Närvaro
  • 9.05 - 9.25 Föreläsning: Att deklarera en ny klass i Java - "package declaration" pdf (cirka 12 minuter i videoversionen)
  • 9.25 - 10.00 Föreläsnign: Att deklarera en ny klass i Java - deklararera "instansvariabler" Chapter: Declaring (instance) variables pdf (cirka 15 minuter i videoversionen)

Övningar:

OM alla är klara med övningarna:

  • 15.15 - 16.00 Börja med fredagens föreläsning. Annars övningar resten av dagen.

v 39 fredag 29 september (Nahid, halvdag)

Förberedelser

Läs:

Se sedan:

Läs sedan:

Se sedan:

Innehåll


v 40 måndag 2 oktober (Nahid, heldag)

v 40 fredag 6 oktober (Nahid, halvdag)

Förberedelser

Läs:

Se:

Innehåll

v 41 måndag 9 oktober (Nahid, heldag) - Arv/Inheritance - intro

  • Nytt koncept! Inheritance!

Förberedelser

Läs:

Se:

Läs:

Se:

Läs:

Se:

Innehåll

v 41 fredag 13 oktober (Nahid, halvdag)

Förberedelser

Läs:

Se:

Läs:

Se:

Innehåll

v 42 måndag 16 oktober (Nahid, heldag) - Avslutning av Arv, introduktion Interface!

Förberedelser

Läs:

Se:

Läs:

Se:

Läs:

Se:

Läs:

Se:

Innehåll

v 42 fredag 20 oktober (Nahid, halvdag)

Förberedelser

Läs:

Se:

Innehåll

v 43 måndag (23 oktober Nahid, heldag)

Förberedelser

Läs:

Innehåll

v 43 onsdag 25 oktober (Nahid, halvdag) - Nytt koncept: Exceptions!

Förberedelser

Läs:

Se:

Läs:

Se:

  • Two main types of Exceptions (download presentation) (same PDF for all videos below)
  • Two main types of Exceptions part 1 (eng) (Length: 12:48) (sv) (Length: 8:39)
  • Two main types of Exceptions part 2 (eng) (Length: 11:38) (sv) (Length: 16:53)

Innehåll

Denna dag är en rätt lugn introduktion till Exceptions. Två föreläsningar och tillhörande lätta övningar (ingen kod, bara läsförståelse).

v 44 måndag 30 oktober (Nahid, heldag) Exceptions, fortsättning

Förberedelser

Läs:

Se:

Läs:

Se:

Innehåll

  • 09.00 - 09.05 Närvaro
  • 09.05 - 10.00 Föreläsning - Code examples (code and syntax) for exceptions:
  • 10.15 - 11.00 Övningar (exercises): Code examples (Code and syntax) for exceptions
  • 11.15 - 12.00 Questions and answers session - Code examples (Code and syntax for exceptions)
    • Discussion
      • A checked exception which might be thrown from a method makes the compiler force you to "handle or declare". How do you write code that handles a potential exception?
      • Are there any benefits from the compiler's forcing you to handle an exception? Does it make you think about situation which might occur?
      • What can you as a programmer do, if your code discovers that a file operation fails?
      • Should your program simply crash with a technical error message in the face of the user of the program?
      • Do you think exceptions are something which is important to know, when writing Java?
      • Do you think it is possible to write Java code without knowing how exceptions work?
  • 12.00 - 13.00 LUNCH
  • 13.00 - 14.00 Föreläsning - Writing your own Exception
  • 15.15 - 16.00 Övningar (exercises) - Writing your own Exception
    • Läs kapitlet!
    • Gör övningar: Exceptions - Creating your own - Exercises
      • Övningen går ut på att skriva en enkel bankapplikation. Att anropa deposit() eller withdraw() med ett negativt belopp, anses vara ett programmerarmisstag (en bug i någon annans kod) - så det är ett runtime exception. Att försöka ta ut pengar när det saknas pengar, är däremot inget programmerarmisstag, så det är ett checked exception.

v 44 fredag 3 november (Nahid, halvdag) Exceptions, sista delarna

Förberedelser

Läs:

Se:

Innehåll

  • 09.00 - 09.05 Närvaro
  • 09.05 - 10.00 Föreläsning: Some rules and syntax involving Exceptions (inga övningar/no exercises - just information)
    • Presentation: (Exceptions-V-Rules and syntax.pdf) (Bara 6 sidor) - regler, kommer inte på tentan men är bra att kunna ändå ™
    • Kapitlet har inga övningar men läs kapitlets text ändå
    • Läs alla kapitel om exceptions om du inte gjort det
    • Se alla filmer om exceptions om du inte gjort det
    • Gör klart alla övningar om exceptions om du ligger efter!

v 45 måndag 6 november - Presentation - grupparbete Guessing game

Förberedelser

Läs:

Innehåll

  • 9.00 - 9.05 Närvaro
  • 09.05 - 10.00 Presentaion av grupparbetet - vad går det ut på?
  • 10.15 - 11.00 Ni väljer grupper om fyra elever och börjar med att läsa uppgiften
  • 11.00 - 12.00 Ni skriver på lösningen - Nahid går runt och handleder
  • 12.00 - 13.00 LUNCH
  • 13.00 - 14.00 Fortsätt skriva lösningen - Nahid går runt och handleder
  • 14.15 - 15.00 ==||==
  • 15.15 - 16.00 ==||==

v 45 fredag 10 november - Repetition av övningar, rapportskrivning

Förberedelser

  • Var beredda på att visa era övningar från Objects-kapitlen

Innehåll

  • 09.00 - 09.05 Närvaro
  • 09.05 - 10.00 Genomgång övningar
    • Nahid tittar på era lösningar i Object-kapitlen
    • Nahid löser en av uppgifterna från övningarna i kapitlen om Objects
  • 10.15 - 11.00 Fortsätt skriva lösningen av guessing game - Nahid går runt och handleder
  • 11.00 - 12.00 Skriv rapport om uppgiften:
    • Vad var svårt med uppgiften?
    • Vilka kapitel i wikin behandlar det som var svårt?
    • Skriv en plan för hur du ska repetera de kapitlen, inklusive göra övningarna.

v 46 måndag 13 november - Workshop Guessing game och Presentation av Labb 2

Förberedelser

Innehåll

  • 9.00 - 9.05 Närvaro
  • 09.05 - 10.00 Workshop - Nahid löser Guessing game
  • 10.15 - 11.00 ==||==
  • 11.00 - 12.00 ==||==
  • 12.00 - 13.00 LUNCH
  • 13.00 - 14.00 Presentation av Labb 2 - Contact Book (eller Address Book som den också kallas)
    • Frivillig uppgift
    • Morot: Om ni hade G på första tentan men klarar uppgiften, kan ni få VG om ni får VG på andra tentan.
    • Morot: Om ni hade VG på första tentan, får ni 5 extra poäng på andra tentan.
    • Om ni inte gör eller klarar uppgiften, så måste ni ha VG på båda tentorna för att få VG på kursen.
    • Om ni inte gör eller klarar uppgiften, så måste ni ha G på båda tentorna för att få G på kursen.
    • Om ni inte gör eller klarar uppgiften, och har ett G och ett VG på tentorna, så får ni G på kursen.
  • 14.15 - 15.00 De som vill börjar på Contact Book, de som vill fortsätter med Guessing Game
  • 15.15 - 16.00 Samma som ovan. Oavsett om ni gör Contact Book, så måste ni göra alla övningar på alla kapitel för att ha en chans att klara tenta nr 2.

v 46 fredag 17 november SKOLAN STÄNGD

Förberedelser

Innehåll

Arbeta hemma med övningar på alla kapitel samt för dem som vill, arbeta på Address Book (Labb 2).

v 47 måndag 20 november Handledning - övningar och Address Book (Labb 2)

Förberedelser

  • Var beredda på att visa era övningar från Classes-kapitlen

Innehåll

  • 9.00 - 9.05 Närvaro
  • 09.05 - 10.00 Genomgång övningar
    • Nahid tittar på era lösningar i Classes-kapitlen
    • Nahid löser en eller ett par av uppgifterna från övningarna i kapitlen om Classes
  • 10.15 - 11.00 Handledning på övningar och Address Book (Labb 2)
  • 11.00 - 12.00 Handledning på övningar och Address Book (Labb 2)
  • 12.00 - 13.00 LUNCH
  • 13.00 - 14.00 Handledning på övningar och Address Book (Labb 2)
  • 14.15 - 15.00 Handledning på övningar och Address Book (Labb 2)
  • 15.15 - 16.00 Handledning på övningar och Address Book (Labb 2)

v 47 fredag 24 november (Rikard fyller 0x2E år) Övningar och Handledning

Förberedelser

  • Var beredda på att visa era övningar från Inheritance-kapitlen (arv)

Innehåll

  • 9.00 - 9.05 Närvaro
  • 09.05 - 10.00 Genomgång övningar
    • Nahid tittar på era lösningar i Inheritance-kapitlen
    • Nahid löser en eller ett par av uppgifterna från övningarna i kapitlen om Inheritance (arv)
  • 10.15 - 11.00 Handledning på övningar och Address Book (Labb 2)
  • 11.00 - 12.00 Handledning på övningar och Address Book (Labb 2)

v 48 måndag 27 OBS! Halvdag! - Övningar och handledning

Förberedelser

  • Var beredda på att visa era övningar från Interface-kapitlen

Innehåll

Dagen är förkortad till halvdag, så vi kör lite kortare raster.

  • 09.00 - 09.05 Närvaro
  • 09.05 - 10.00 Genomgång övningar
    • Nahid tittar på era lösningar i Interface-kapitlen
    • Nahid löser en eller ett par av uppgifterna från övningarna i kapitlen om Interface
  • 10.10 - 11.00 Handledning på övningar och Address Book (Labb 2)
  • 11.10 - 12.00 Ni väjler ämnen för repetition - önska kapitel att repetera

DEADLINE Address Book (Labb 2) Kl 23.55

v 48 fredag 1 december Ingen lektion - eget arbete

Repetera genom att

  • Se om filmerna för de kapitel som du behöver repetera
    • Om du hade svårt redan på första tentan så bör du repetera från början
  • Läs teorisidorna på wikin inklusive de länkar för vidareläsning (further reading) som du tycker verkar relevanta
  • Gör om övningarna (framför allt, gör klart alla övningar som du inte gjort under kursen)
  • Revidera laborationerna - läs kod, försök förstå koden i förhållande till laborationsuppgiftstexterna
  • Gå igenom gamla tentan och lösningsförslagen

v 49 måndag 4 december Eget arbete - ingen lektion

  • Repetera filmerna för de kapitel ni känner att ni behvöver repetera
  • Skriv upp eventuella frågor
  • Gör om övningarna på samma kapitel som ovan
  • Läs texten på wiki-sidan med teori för respektive kapitel
  • Läs de "Further reading"-länkar som ni tror fördjupar era kunskaper (finns i de flesta kapitel längst ned)

v 49 fredag 8 december OBS! Heldag! Repetition - Exceptions

Förberedelser

  • Var beredda på att visa era övningar om Exceptions

Innehåll

  • 9.00 - 9.05 Närvaro
  • 09.05 - 10.00 Genomgång övningar
    • Nahid tittar på era lösningar i Exception-kapitlen
    • Nahid löser en eller ett par av uppgifterna från övningarna i kapitlen om Exceptions
  • 10.15 - 11.00 ==||==
  • 11.00 - 12.00 ==||==
  • 12.00 - 13.00 LUNCH
  • 13.00 - 14.00 Repetition och handledning
  • 14.00 - 15.00 ==||==
  • 15.15 - 16.00 ==||==

v 50 måndag 11 december Tenta 2

  • 09.00 - 12.00 Tenta nr 2 - Java

Innehåll/ämnen - Maxpoäng 30:

  • Classes Poäng: 14
  • Inheritance Poäng: 6
  • Interfaces Poäng: 6
  • Exceptions Poäng: 4

OBS! Ni som hade VG på tenta 1 och klarat Address Book (Labb 2), får 5 extra poäng på denna tenta som bonus!


Schema för (2016) - visa genom att klicka på expand till höger

Gammalt Schema 2016

OBS! 2016!!! Below is the preliminary schedule for the course.

August 23 (Tuesday)

Videos (first lecture, so this time, see the videos aftwerwards!)

  1. Computer introduction (English) Computer introduction (Swedish)
  2. Programming introduction (English) Introduktion till programmering (Swedish)

Chapters to read

Computer introduction

Programming introduction

Don't forget to read the chapters and do the exercises!

August 25 (Thursday)

Videos to see before this day

  1. Installing cygwin etc
  2. Introduction to bash (the command line interpreter)

Chapters to read before this day

Setting up your environment

Chapter:Bash-Installation (Read the text, you have probably already installed bash/cygwin - view this chapter as repetition)

Chapter:Bash-introduction

August 30 (Tuesday, full day)

Videos to see before this day

  1. Bash structure and Bash textfiles
  2. Bash redirection

Chapters to read before this day

  1. Chapter:Bash-structure
  1. Chapter:Bash-Text_files
  1. Chapter:Bash-Redirection

We'll do some exercises together on the projector "Live" and we plan for you to spend the rest of the day doing the exercises with our assistance in the classroom.

September 1 (Thursday, half day)

Videos to see before this day

  1. Bash standard streams (English)
  2. Bash strömmar, introduktion (Svenska)

Chapters to read this before this day

  1. Chapter:Bash-Standard streams

We will solve some exercises live on the projector, the reset of the time you work with the exercises and we help you

September 6

Programming in Java

Our first Java program

Extra lecture: Variables and types

please see the videos and read (and do the exercises).

September 8

Expressions and operators

September 13

Expressions and operators

Control flow

Objects in Java

September 15

Catching up with exercises

Objects in Java

September 20

The_Java_API_online_documentation

Let's spend the full Tuesday, Sep 20, on catching up so that everybody are done with exercises up until (including) Objects.

It's great if you also have seen all videos up until (including) the chapter Objects.

September 22

Classes (first of three chapters on Classes)

Videos to see before Thursday Sep 22

Chapter to read before Thursday Sep 22

September 27

Ingen Java-undervisning pga test-mässa på Lindholmen.

Läxa i stället:

Ta reda på från mässan:

  • Om någon testar Java-kod
    • Vilka "ramverk" för Java-kod?
  • Om någon "Skriptar tester"
    • I vilket språk skrivs skripten?
    • Används något annat verktyg för automatiserade tester?
  • Om någon använder bash/GNU/Linux
  • Om någon berättar om någon intressant teknik inom programmering som ni vill sätta på önskelistan om vi får tid över i slutet av kursen

Ni ska redovisa resultatet för oss nästa ordinarie lektion i textform.

September 29

Videos to see before this day

  • Nothing new, but it doesn't hurt to start with the videos for Classes III ;-)

Stuff we'll do during the day

Vi går igenom "läxan" från Lindholms-grejen.

Ni som vill kan installera appen Kahoot! som vi kommer använda för Quiz/Självtester. Det går att delta i quiz via webbläsare också om ni inte har tillång till appen i mobilen.

Sedan arbetar vi med övningar relaterat:

Chapter: Classes II

Föreläsningar: (i mån av tid, motsvarande videor är bra att se om ni hinner): Chapter:_Classes_III

October 4

Videos to see before this day

Stuff we'll do this day

Föreläsningar

Om vi inte hann september 29 går vi igenom:

Chapter:_Classes_III

Övningar

Vi fortstätter med övningarna på Chapter: Classes III

October 6

Present assignment #01

Students can now start working on assignment #01

Vi jobbar på med övningar på classes I-III. De som är klara kan börja med inlämningsuppgiften.

October 11 (Tuesday)

Inheritance

  • What is inheritance
  • Every class extends Object
  • Overriding methods in Object

October 13 (Thursday)

Inheritance

  • It is possible to extend your own classes
  • Examples from Swing

October 18 (Tuesday)

Inheritance (fortsättning)

  • Some rules and syntax
  • Problems with inheritance

Eftermiddag: Övningar på inheritance, samt jobba ikapp om ni ligger efter.

October 20 (torsdag)

New chapter: Interfaces

  • Interface - what is
  • If we have time, some more sections!

October 25 tisdag - heldag

  • Resten av Interface på förmiddagen (beroende på hur långt vi kom i torsdags)
  • Deadline assignment #01 (23.55)

October 27 torsdag

October 31 (Monday - heldag)

Exceptions

  • What is an exception
  • Two types: Runtime and checked exceptions
  • Code examples Using/Catching

EM:

November 4 (Friday - halvdag)

Exceptions (continued)

  • Creating our own exceptions
  • Rules and syntax

Below this date, everything is preliminary!!!

Yes, it is.

November 7

Scheduled work on Assignment #02

November 11

Scheduled work on Assignment #02

November 14

November 18

November 21

November 25

Scheduled work on Assignment #03

November 28

Repetitionspass 3 + 3 timmar inför tentan

December 2

  • Repetitionspass 3 timmar inför tentan
  • (Eventuellt också: Present and discuss solutions to assignment #02)

December 5

  • Repetitionspass 3 + 3 timmar inför tentan

December 9

Exam (tentamen) 09-12

December 12

December 16

News and information

2016-10-06

Rescheduled

2016-08-23 - Video viewing schedule added

We will add what videos to see before each lecture, so that you know how to prepare for a lecture. In general, read the chapter or chapters listed in the lecture and see the videos for each lecture beforehand.

If you want, you can also start with the exercises, but we don't expect this. We will plan to answer questions on the videos during the lecture in the class room and also solve one or two exercises "live" on the projector together with you. The rest of the time would be great to spend on doing the exercises in the class room with our help and assistance. Sometimes we will give classic lectures around the topic in the videos and chapter, but it is much more efficient if you see the videos before and we spend time on questions and clarifications, and most importantly, doing practical work with the exercises.

Suggestions

  • git
  • unit test
  • selenium will be taught in the web course?
  • embedded and test
  • Arduino and C programming (workshop)