Objektorienterade webbteknologier

Resurser för kursen och kursmaterial.

Guider och artiklar

Lektioner

Länkar till resurser för varje lektion.

Lektion 00 - Kursintroduktion

Introduktion till kursen mvc med kursformalia, innehåll och labbmiljö.

Slide | Video

Lektion 01 - Klasser och objekt i PHP

Introduktion till klasser och objekt i PHP, för att komma igång med grunderna i hur man skapar en klass och instansierar ett objekt. Koncept som objekt i sessioner, namespace och autoloader hanteras.

Slide | Video

Lektion 02 - Objektorientering, webbapplikationer och MVC

Del 1/2. Mikael pratar lite allmänt om kursen och sätter sedan in klasser/objekt med designmönstret MVC och Webb-ramverk in i kursens sammanhang och förbereder inför kodgenomgången.

Del 2/2. Mikael kodar en Dice och en DiceHand i kodabasen som finns till första uppgiften och diskuterar var och hur man bör strukturera sin kod. Kodningssessionen avslutas med ett embryo till en controller-klass Game.

Slide | Zoom del 1, del 2

Lektion 03 - Problemlösning och design av algoritmer för programmerare

Om modeller och representation av algoritmer samt generellt om problemlösning. Vi tittar på olika metoder för att lösa problem och strukturera algoritmer när vi bygger program och applikationer. Begrepp som hanteras är bland annat Polya problem solving, top-down, bottom-up, flowchart och pseudocode.

Slide | Video

Lektion 04 - Classes and Objects (PHP) - Inheritance, composition, interface, trait

Fortsättning med objekt och klasser i PHP. Vi studerar konstrukturer för arv, komposition, interface och trait. Vi pratar också om hur man skall tänka när man kodar objektorienterat och vad som är god kodsed och riktlinjer när man designar och implementerar sina klasser.

Slide |

Lektion 05 - MVC and Controller

Del 1/2. Mikael pratar lite allmänt om kursen och sätter sedan in klasser/objekt med designmönstret MVC och Webb-ramverk in i kursens sammanhang och förbereder inför kodgenomgången.

Del 2/2. Mikael kodar en Dice och en DiceHand i kodabasen som finns till första uppgiften och diskuterar var och hur man bör strukturera sin kod. Kodningssessionen avslutas med ett embryo till en controller-klass Game.

Slide | Zoom del 1, del 2

Lektion 06 - Introduktion till området "Software Testing"

Om "software testing" och ingenjörsprocessen att utföra testning.

Slide | Video

Lektion 07 - Introduktion till området "Software Unit Testing"

Om enhetstestning av programvara, termer och hur man gör det och om testbar kod.

Slide | Video

Lektion 08 - PHPUnit

Del 1/3. Mikael pratar allmänt om kursmomentet och vad som skall göras.

Del 2/3. Mikael visar övningen med phpunit och hur man kan jobba igenom den och pratar om dess olika delar.

Del 3/3. Mikael visar uppgiften med phpunit och berättar och visar hur man kommer igång med kodbasen till den.

Zoom del 1, del 2, del 3

Lektion 09 - Ramverk

Del 1/3 (tisdag). Mikael pratar allmänt om kursmomentet och vad som skall göras.

Del 2/3 (tisdag). Mikael visar övningen med att komma igång och installera olika ramverk och publicera på studentservern.

Del 3/3 (torsdag). Mikael jobba igenom den uppdaterade övningen (igen och lite snabbare) och visar hur man kommer igång och installerar olika ramverk och publicerar på studentservern.

Zoom del 1, del 2, del 3

Lektion 10 - ORM

Del 1/2 (tisdag). Som en del i en Zoom-session hölls en föreläsning om "Database ORM - Object Relational Mapping" och det ger en bra introduktion till vad detta kmom handlar om.

Del 2/2 (tisdag). Mikael pratar igenom vad kmomet handlar om och därefter jobbas övningen igenom som visar hur ett ORM fungerar i kod.

Zoom del 1 (slides), del 2

Lektion 11 - Software quality metrics and static code analysis

När det gäller snygg och ren kod försöker vi förstå om kodkvalitet kan mätas och visualiseras. Vilken typ av mätvärde, "metrics", kan användas och vad säger de om programvaran. Hur ska vi arbeta med valideringsverktyg för att förbättra den upplevda kvaliteten på vår programvara.

Slide | Video

Lektion XX - CI, statisk kodvalidering och kodkvalitet

Zoom sessions.

Lektion XX - Projekt och examination

Zoom session.