Översikt
Vi jobbar vidare med objektorienterade konstruktioner och tittar bland annat på arv.
“Stå-upp”-vlogg
Section titled ““Stå-upp”-vlogg”Vlogg från 2024 om du vill få en extra introduktion till veckan.
Stödjande inspelningar
Section titled “Stödjande inspelningar”Inkapsling
Section titled “Inkapsling”Vill vi alltid att alla egenskaper på våra instansierade objekt ska vara tillgängliga utanför klassen?
45m | Presentation
Återanvändning av kod kan ske på många olika sätt. Här tittar vi på mekanismen “Arv”.
32m | Presentation
Validering och strukturerad felhantering
Section titled “Validering och strukturerad felhantering”Att validera exempelvis strängar, kontrollera att de är skrivna på ett visst format, är mycket vanligt. Vi tittar här på reguljära uttryck och ser om de kan hjälpa (eller stjälpa?) oss.
1h | Presentation
Läsanvisningar
Section titled “Läsanvisningar”Under läsanvisningar hittar du veckans kapitel som ska läsas i kurslitteraturen. Planera upp och dela upp läsningen under veckan.
Övningar
Section titled “Övningar”Under Övningsuppgifter hittar du övningsuppgifter som det är lämpligt att du arbetar med under veckan.
Seminarier + individuell handledning
Section titled “Seminarier + individuell handledning”Examinationsuppgift A3
Section titled “Examinationsuppgift A3”Efter denna veckas innehåll är du fullt förberedd för att genomföra examinationsuppgift A3. Ett bra mål för denna vecka är att klona ner uppgiften och börja bekanta dig med den.
Läs mer om “Examinationsuppgift A3 - Tjugoett” här
Utmaningar
Section titled “Utmaningar”Denna veckans utmaning är lite annorlunda och låter dig skriva en egen algoritm för att lösa ett problem. Därefter kan du jämföra din lösning med andra lösningar som lärare och studenter kommit fram till. Hur bra kommer din lösning att vara och vad kan du lära dig av att studera andra lösningar på samma problem?
Studiefrågor
Section titled “Studiefrågor”Här är ett antal frågor som du kan försöka besvara och diskutera tillsammans med din AI-assistent. Tveka inte att lyfta någon av frågorna till handledningen för att fortsätta diskussionen med lärare och studiekamrater.
- Jag håller på och lär mig javascript med objekt och klasser och jag vill bygga upp ett exempelprogram för att studera olika aspekter av objektorientering, jag kommer ge dig instruktioner så kan du föreslå kodlösningar och kommentera dem så kan jag lära mig från dig, ok?
- Jag vill börja med en tärningsklass Dice där jag skall rulla en 6-sidig tärning och skriva ut tärningens värde efter varje slag. Hur hade du gjort?
- Jag vill använda privata medlemmar för att kapsla in min implementation.
- Nu vill jag se hur man kan göra en klass GraphicalDice som ärver från Dice och skriver ut tärningen som utf-8 tecken.
- Nu vill jag skapa en klass för DiceHand och jag vill ha en metod där man kan lägga till tärningar till DiceHand och sedan rulla dem och skriva ut alla samtidigt.
- Lägg till metoder för att beräkna summan av tärningsslaget.
Här är en utskrift från hur det såg ut när jag diskuterade ovan frågor med min AI-assistent Ajj.
Här följer tips till hur du kan prioritera bland kursmaterialet för att komma igång med veckan.
- Försök komma igång med A3 redan denna veckan. Det är mycket att läsa och låt det ta ett par dagar att läsa, bearbeta och fundera på hur uppgiften kan angripas. Det är ingen brådska att komma igång att koda, låt problemlösningen ta sin tid och läsa igenom kravställningen.
- Jobba igenom de blå övningsuppgifterna så att du har koll på grundläggande konstruktioner i en klass och hur man jobbar med ett objekt. Då får du också grundläggande träning i hur man implemementerar klasser utifrån ett klassdiagram.