Kmom01: Kom igång med objekt och Flask
Vi ska börjar kursen med grunderna om objekt och klasser. Vid sidan av ska vi arbeta med ett mini-ramverk, “Flask”. Vi kommer jobba mer med Flask-appen genom kursens gång, samt titta på mer tekniker och strukturer angående objektorienterad programmering.
Gör dbwebb update
och dbwebb init
innan ni börjar jobba med kursmomentet.
(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)
#Labbmiljön
(ca: 2-4 studietimmar)
Det finns en längre beskrivning om kursens labbmiljö. Läs den om du är osäker på vad som skall göras, eller om detta är din första dbwebb-kurs.
Den korta varianten är att du behöver installera labbmiljön, uppdatera dbwebb-cli samt klona och initiera kursrepot.
# Gå till din katalog för dbwebb-kurser dbwebb selfupdate dbwebb clone oopython cd oopython dbwebb init
#Läsanvisningar
(ca: 8-10 studietimmar)
#Kurslitteratur
Läs följande:
- Python 3 Object-oriented Programming
- Ch 1 - Object-oriented Design
- Introducing object-oriented — Specifying attributes and behaviors.
- Ch 2 - Objects in Python
- Creating Python classes
- Ch 1 - Object-oriented Design
#Artiklar
Läs följande:
Fräscha upp minnet med Python 3.x Doc. Kika runt lite och orientera dig.
Titta på Flasks hemsida. Försök få en snabb överblick av vad Flask är.
Följande artiklar är korta och bra att läsa:
1. Motivation for obejct-oriented.
#Video
Titta på följande:
Videoserien Lär dig objektorienterad Python är tätt kopplat till kursmaterialet. Kika på de videor som börjar med 1.
Titta på följande videos om Flask av “TheNewBoston”:
Titta på de första 7-minuterna av Object-oriented programming.
Tips från en tidigare student på en bra video What is object-oriented programming?.
#Lästips
Om du känner att du har tid och lust.
Python 3 Object-oriented Programming
- Ch 4 - Expecting the Unexpected.
Kika på Jinja2’s dokumentation.
#Övningar & Uppgifter
(ca: 8-10 studietimmar)
#Labbmiljö
Installera labbmiljön för kursen.
Installera labbmiljön som behövs för kursen.
Om detta är din första dbwebb-kurs så läser du också igenom hela manual-sidan för kommandot dbwebb
.
#Övningar
Genomför följande övning för att träna dig.
Läs på om “UML och klassdiagram”.
Läs igenom “Intro till guiden” och “Objekt och klasser” i guiden “Kom igång med objektorienterad programmering i Python”.
Läs igenom artikeln om enhetstester “Introduktion till enhetstester”.
Tips från coachen, gör lab1 innan ni fortsätter med resten av övningarna.
Introducera dig själv med pip och venv, “Python pakethantering med venv”.
Kom igång och gör din första webbapplikation i Python tillsammans med övningen “Flask och Jinja2”.
Gör din Flask applikation som ett CGI-skript och publicera på studentservern med
dbwebb publish
. Ni behöver inte göra sista delenLägg till CGI i Apache webbserver
för detta behöver bara fungera på studentservern, alltså inte lokalt.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
Gör uppgiften “Python med objekt och klasser” (lab 1)
Gör uppgiften “Grunden för ett Yahtzee spel”.
#Extra
Det finns inga extrauppgifter.
#Lämna in
Läs Lämna in och redovisa uppgift för att ta reda på hur ni lämna in era uppgifter när ni är klara.
#Revision history
- 2022-01-14: (C, aar, grm) Bytt uppgift och lagt till övningar.
- 2018-11-16: (B, aar) Uppdaterat länkar och redv. frågor.
- 2017-11-10: (PB1, mos) Utkast till v2.
- 2017-01-06: (A, mos) Lade till CGI på studentservern.