Kmom01: Kom igång med objekt och Flask

By . Latest revision .

Vi ska börjar kursen med grunderna om objekt och klasser. Vid sidan av ska vi arbeta med ett mini-ramverk, “Flask”, där vi skriver redovisningstexten och en kort presentation om oss själva. Vi kommer jobba mer med Flask-appen genom kursens gång, samt titta på mer tekniker och strukturer angående objektorienterad programmering.

En enkel me-sida med Flask.

En enkel me-sida med Flask.

(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:

  1. 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

#Artiklar

Läs följande:

  1. Fräscha upp minnet med Python 3.x Doc. Kika runt lite och orientera dig.

  2. 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.

  1. The object-oriented paradigm.

  2. Naming conventions.

  3. Messaging.

  4. Abstraction and identity.

#Video

Titta på följande:

  1. Videoserien Lär dig objektorienterad Python är tätt kopplat till kursmaterialet. Kika på de videor som börjar med 1.

  2. Titta på följande videos om Flask av “TheNewBoston”:

  3. Titta på de första 7-minuterna av Object-oriented programming.

  4. Tips på en bra video från en tidigare student What is object-oriented programming?.

#Lästips

Om du känner att du har tid och lust.

  1. Python 3 Object-oriented Programming

    • Ch 4 - Expecting the Unexpected.
  2. Bekanta dig med debugger-verktyget PDB.

  3. Kika på Jinja2’s dokumentation.

#Övningar & Uppgifter

(ca: 8-10 studietimmar)

#Labbmiljö

Installera labbmiljön för kursen.

  1. Installera labbmiljön som behövs för kursen.

  2. Installera kommandot dbwebb samt kursrepot 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.

  1. Kom igång och gör din första webbapplikation i Python tillsammans med övningen “Flask och Jinja2”.

  2. Gör din Flask applikation som ett CGI-skript och publicera på studentservern med dbwebb publish. Detta behöver bara fungera på studentservern, alltså inte lokalt.

  3. Läs igenom “Intro till guiden” och “Objekt och klasser” i guiden “Kom igång med objektorienterad programmering i Python”.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften “Python med objekt och klasser” (lab 1)

  2. Gör uppgiften “En me-sida med Python och Flask”.

#Extra

Det finns inga extrauppgifter.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Var det några problem med att venv och installera Flask?
  • Är du bekant med objekt och klasser sedan tidigare?
  • Vad är en klass/objekt?
  • Vad är skillnaden på instans- och statiska attribut/metoder?
  • Vilka programmeringsparadigmer känner du till?
  • Har du någon erfarenhet av Bootstrap sedan tidigare?
  • Gick det bra att komma i gång med kursmomentet, var det lagom, för litet, för stort?

#Revision history

  • 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.

Document source.