måndag 20 augusti 2012

Databasbaserad publicering hösten 2012


Välkomna till höstens kurs i databasbaserad publicering. Som vanligt kommer den mesta informationen att finnas här på Things I Teach, men inlämingar sker på It's learing. Något som skiljer från php-kursen i våras är att vi är flera lärare på kursen. Utöver mig Bo Peterson (bo.peterson@mah.se) kommer ni att träffa Magnus Westmar (magnus@dpn.se) samt Mirel Bikic (mirel.bikic@me.com) som lärare.

Schemat finns här.

Labbar: Här finns indelning i laborationsgrupper. Det är samma grupper som i våras. Hör av er om ni önskar byta grupp.

Kurslitteratur: Föreläsningar och laborationer kommer att vara tätt kopplade till boken Build Your Own Database Driven Web Site using PHP and MySQL, 4th Edition, Sitepoint 2009 av Kevin Yank. (samma bok som användes i kursen Programmering för webben.) Kursen tar vid där kursen porgrammering för webben slutade, med fokus på databaser.

Desstom kommer böckerna
Padron-McCarthy, T och Risch, T: Databasteknik, Studentlitteratur 2005 och
Howard Goldberg, Kevin: XML:Visual QuickStart Guide, Peachpit Press Publications 2008
att användas.

Mycket av innehållet i boken Databasteknik hittar ni under "Webbkursen" på webbplatsen http://www.databasteknik.se

Läs gärna igenom kursplanen

Veckoplan för de första veckorna i kursen ser ut så här:

Vecka Kursmoment Läs Kommentar
36 1. Introduktion till kursen och databaser
Här finns föreläsningsanteckningar
Ingen laboration första veckan, däremot en obligatorisk förberedelse inför kommande veckas laboration.


Build your own...: Kap 2
37 2. PHP och MySQL
Inga föreläsningsanteckningar denna vecka. Vi kommer att repetera PHP samt gå igenom kapitel 4, hur PHP kan kommunicera med MySQL.
Här finns laborationshandledning samt instruktioner för dreamweaverinställningar (uppdaterad 2012-09-12)
Läs kapitel 4 i Build your own...
38 3. E/R-modellen
Här finns föreläsningsanteckningar.
Här finns förberedelseuppgift till laboration.
Här finns laborationshandledning.
Läs om "Introduktion till databaser och databashanterare", "Datamodellering med ER-modellen" och "Relationsdatabaser" på http://www.databasteknik.se
39 4. Många-till-många-relationer, SQL
Här finns föreläsningsanteckningar.
Här finns laborationshandledning.
40 5. SQL
Här finns föreläsningsanteckningar.
Här finns laborationshandledning.
Här finns filen populateall.txt med sql-kod för att lägga in data i tabeller.
41 XML med gästlärare Magnus Westmar
Här finns föreläsningsanteckningar.
Här finns laborationshandledning lab 5.
42 XML med gästlärare Magnus Westmar
Här finns föreläsningsanteckningar.
Här finns laborationshandledning lab 6.
43 XML med gästlärare Magnus Westmar
Här finns föreläsningsanteckningar.
Här finns laborationshandledning lab 7.
44 XML med gästlärare Magnus Westmar
Här finns föreläsningsanteckningar.
Här finns laborationshandledning lab 8.
45 Normalisering samt säkerhet
Här finns föreläsningsanteckningar del 1 och föreläsningsanteckningar del 2.
Här finns laborationshandledning.
Här finns några bilder till laborationen.
Vecka 46 Introduktion till projekt
OBS ingen laboration denna vecka!
Här finns tips inför projektet.
Här finns projektbeskrivningen.
Vecka 47 Arbete med projekt. Ingen föreläsning men projkethandledning på schemalagd laborationstid.
Vecka 48 Arbete med projekt
Vecka 49 Arbete med projekt
Vecka 50 Projektredovisning fredag 14/12
Vecka 3 Reservtillfälle, projektredovisning

torsdag 12 januari 2012

Välkomna till programmering för webben våren 2012

Kursen är upplagd med en föreläsning följd av laboration varje vecka, där syftet med laborationen är att träna de moment som gicks igenom på föreläsningen. I slutet av kursen kommer även ett projekt att genomföras.

Kursplan för kursen finns på http://www.edu.mah.se/da130a/syllabus

Kursmaterial kommer att finnas i denna blog, men inlämningar av uppgifter görs som vanligt på It's learning.

Schema finns här

Här hittar ni indelning i laborationsgrupper

Föreläsningar och laborationer kommer att vara tätt kopplade till boken Build Your Own Database Driven Web Site using PHP and MySQL, 4th Edition, Sitepoint 2009 av Kevin Yank. Boken behandlar både PHP och MySQL. Denna kurs kommer i stort sett endast att behandla PHP. MySQL, dvs kopplingar till databaser, kommer endast att gås igenom ytligt. Fördjupat innehåll om databaser kommer senare i kursen Databasbaserad publicering.

Boken kan beställas direkt från förlaget på följande länk:

http://www.sitepoint.com/books/phpmysql4/

Vill man komma billigare undan kan man på samma länk beställa boken endast som pdf. Boken går även att beställa på Bokus på följande länk:

http://www.bokus.com/fs_id/11/b/9780980576818.html?pt=tipsa_mail

Lärare på kursen:
Bo Peterson, bo.peterson@mah.se
John Niubo, john.niubo@mah.se
Marcin Kossowski, m09p3436@student.mah.se

Vecka
Kursmoment
Läs i boken
Kommentar
3
1. Introduktion till programmering, introduktion till PHP
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här
  • Instruktioner hur man ställer in Plats i Dreamweaver finns här
Kap 3, s. 73-77
Läs gärna kapitel 1, hur man installerar PHP på egen dator. Kapitel 2 hoppas över.
4
2. Variabler, operatorer, kommentarer, arrayer
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här
Kap 3, s. 78-81
5
3. Formulär
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här
Kap 3, s. 81-94
Repetera gärna html-formulär på w3shools och tizag
6
4. Strängmanipulering, kontrollstrukturer
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här


7
5. Kontrollstrukturer
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här
  • Extramaterial om include finns här


8
6. Funktioner och includefiler
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här

Läs kap 6, s. 171-186 samt extramaterialet include.pdf
9
Endast självstudier
Lösningar till självstudieuppgifterna:

Uppgifterna är frivilliga men rekommenderas starkt. De behöver inte lämnas in men om ni kör fast hjälper vi er, och om ni vill ha synpunkter på era lösningar är det bara att skicka dem till oss så kollar vi om det ser bra ut. 
10
7. Filhantering
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här


11
8. Mer filhantering. Läsa in filer med PHP. Ladda upp filer med PHP.
  • Föreläsningsanteckningar finns här
  • De kodexempel som gjordes under föreläsningen finns här
  • Laborationshandledning finns här
  • Några filer som behövs till labben finns här

Kap 12, s. 357-369.
12
9. Cookies och sessions
  • Föreläsningsanteckningar finns här
  • Laborationshandledning finns här
  • En bild som behövs till labben finns här

Kap 9, s. 261-278.
13
10. Skicka mail, skapa bilder, skapa pdf
  • Föreläsningsanteckningar finns här
  • Exemplen som gicks igenom på föreläsningen finns här. Den innehåller filen FPDF.php som finns att hitta på fpdf.org, ett gratisbibliotek för att skapa pdgf med hjälp av php. 
  • Laborationshandledning finns här.
  • OBS att det har skett ett serverbyte sedan lab 9. Se följande dokument för instruktioner om hur man ändrar inställningar. 
  • En självstudieuppgift finns här
Obs att laborationen är flyttad till nästa vecka för båda grupperna. 


14
10. Skicka mail, skapa bilder, skapa pdf, fortsättning
  • Föreläsning inställd pga sjukdom
  • Laborationshandledning finns under vecka 13 ovan. 
  • OBS att det har skett ett serverbyte sedan lab 9. Se följande dokument för instruktioner om hur man ändrar inställningar. 


15
11. Introduktion till databaser
  • Ingen föreläsning (annandag påsk), teorin kommer att gås igenom i samband med laborationerna. Underlag finns här
  • Laborationshandledning finns här
  • Följande fil behövs till labben: create.php


16
12. Använda API
OBS följande förberedelse ska göras innan labben:
  1. Gå in på flickr.com och öppna ett konto om du inte redan har ett
  2. Ladda upp minst 10 egna foton på flickr. 
  3. Läs igenom avsnittet API authentication i instruktionerna i länken ovan och skaffa en egen API key. Spara den på ett ställe så att du kommer åt den under labben. 
  4. Ta reda på ditt flickr user id. Om du inte hittar det på dina flickr-sidor kan du hitta det på http://idgettr.com/
Laborationsuppgifter
  1. Gör en sida som visar 50 bilder som matchar en viss söktext (Du väljer själv söktext. Ingen fantasi? Prova "cute cat", "rihanna", "beyonce", "jay-z")
  2. Ändra så att sidan bara visar 20 bilder. Du måste då ändra i funktionen search i flickr.php
  3. Ändra så att sidan bara visar dina egna bilder. Gör det genom att lägga till en ny funktion i filen flickr.php som heter searchme. Den ska se ut som funktionen search, men variabeln $search måste kompletteras med user_id=ditt flickr-id. Full dokumentation för sökningen finns på http://www.flickr.com/services/api/flickr.photos.search.html



    17
    Introduktion till projektet
    • Projektbeskrivning finns här
    • Några hjälpfiler: project-php.zip
    • Projekthandledning 24 och 25 april


    18
    Projektarbete
    • Projekthandledning 3 maj


    19
    Projektarbete
    • Projekthandledning 9 maj


    20
    Projektarbete
    • Projekthandledning 15 maj


    21
    Projekarbete
    • Projekthandledning 22 maj 


    22
    Projektredovisning

    • Följande ska lämnas in på it's learning senast måndag28 maj kl 08.00:
      • alla sidor med PHP-kod och HTML-kod ihopzippade
      • en länk till ett fungerande projekt
      • en rapport omfattande minst en A4-sida där du beskriver ditt projekt. 
    • Projektredovisning måndag 28 maj kl 13-16