Python weppipalvelu - ideasta tuotantoon
Python Django course - 2024 summer w21-w22
Your own Python web application. From idea to production, in 8 days.
Instagram, Pintrest and Disqus use Django - the exact same framework as the course. Youtube and Facebook are built with Python.
Update: 5.0 /5 feedback. Every participant gave feedback, every response was the best 5. Great students, great time! My comments on feedback.
Previous course feedback was 5.0 /5. Everyone gave feedback, each feedback was the best 5/5). Great mini-projects - I'm baffled by how much you could apply what you learned in just 7 days.
Course name and code: | Python weppipalvelu - ideasta tuotantoon ICT8TN034-3004 |
Timing | 2024 summer intensive, 2023-05-22 w21 Mon .. 2023-05-31 w22 Wed, 8 days |
Credits | 5 cr |
Classes | Mon-Fri (9-13:30) pa5001, mandatory participation, bring your laptop |
Max students | 30 |
Language | Finnish (+reading material in English) |
Remote | No |
Feedback | 5.0 / 5 Excellent feedback |
Services | Moodle, Laksu; optional: Tero's list. |
First class | 2024-05-20 w21 Mon 09:00 pa5001, bring your laptop. |
The course is in Finnish (and requires full fluency in Finnish), so the rest of this page is in Finnish.
Kurssi edellyttää aktiivista osallistumista koko kurssin ajan jokaisena aikatauln päivänä. Palvelimen vuokraamiseen tarvitset 5-10 euroa. Kurssi päättyy kokonaan w22 ke, sen jälkeen ei voi eikä tarvitse palauttaa mitään.
Osaamistavoitteet
Rakenna weppipalvelu Pythonilla ja asenna se julkiselle palvelimelle.
Opit tekniikan, joka
- palvelee asiakkaita Linuxilla, Macilla, Windowsilla, iPhonella, Androidilla - millä vain selaimella
- kerää itsestään tietoa siitä, miten palveluasi käytetään
- antaa monien käyttäjien muokata tietoja yhtä aikaa (aika tavallinen vaatimus yritysten ohjelmissa)
- toimii käyttäjillä asentamatta mitään
- käyttää automaattisesti uusinta versiota ohjelmastasi
Opintojakson suoritettuaan opiskelija
- Osaa ohjelmoida www-palvelimella ajettavan ohjelman, jota voi käyttää millä vain selaimella
- Osaa tallentaa tiedot tietokantaan niin, että useampi käyttäjä voi katsella ja muokata tietoja samaan aikaan
- Osaa asentaa tarvittavat palvelimet Linuxille
- Osaa vuokrata julkaisuun tarvittavat pilvipalvelut
- Ymmärtää palvelinpään (backend) www-ohjelmoinnin edut ja toimintaperiaatteen
Lähtötaso
- Linuxin alkeet (Linuxin asennus, Linuxin käyttö komentokehotteesta, palvelinten eli demonien asentaminen)
- Ohjelmoinnin alkeet millä vain kielellä: muuttuja, funktio, if-else, silmukka, luokka, olio...
- Puhua suomea ja lukea englantia
Tarvittavat taidot on voinut hankkia esimerkiksi kursseilla "Linux palvelimena" ja millä tahansa ohjelmoinnin alkeiskurssilla. Esitiedot tarkistetaan tarvittaessa alkutestillä tai -haastattelulla. Kurssille tullessa ei tarvitse osata Pythonia.
Palvelimen vuokraamiseen pilvestä tarvitset 5-10 euroa (tai voit käyttää ilmaisia Github Education -palveluita, jos sinulla on niitä käyttämättöminä). Kurssille tullessa opiskelijalla olisi hyvä olla Linux asennettuna itselle. Myös virtuaalikoneeseen asennus käy.
Ilmoittautuneet saavat ohjeen ympäristön asentamisesta.
(Onko sinulla Mac M1? M1 ja M2 käyttävät arm64-prosessoriarkkitehtuuria. Teemu Laineen ohje Debianin asentamisesta M1-prosessoriselle Macille.)
Aikataulu
Alustava aikataulu päivittyy kurssin edetessä.
2024-05-20 w21 ma | Hei maailma! | Järjestäytyminen. Backend-koodauksen edut. Yleiskuva Djangosta. Hei HTML+CSS, hei Python, hei Django. |
2024-05-21 w21 ti | suunnitelupäivä - itsenäistä työskentelyä | |
2024-05-22 w21 ke | Tietokannan määrittely. Automaattinen liittymä tietokantaan | ORM - olioista tauluiksi. Django admin. Muotit (templates). ListView. |
2024-05-23 w21 to | Käyttäjän syötteet | HTML forms, Django forms. Syötteiden validointi ja puhdistus. |
2024-05-24 w21 pe | Olioiden (ja taulujen) suhteet, Miniprojektien aloitus. | Yhdestä moneen. Esim. yhdellä käyttäjällä voi olla monta tapahtumaa. |
2024-05-27 w22 ma | Palvelimen vuokraaminen | Tarvitset 5-10 EUR |
2024-05-28 w22 ti | Miniprojektien työstämistä | Vinkkejä tavallisiin haasteisiin |
2024-05-29 w22 ke | Oman miniprojektin esittely | Projektin esittely, toisten projektien kommentointi. |
Kurssi päättyy kokonaan w22 keskiviikkona. Kurssin päättymisen jälkeen ei tarvitse eikä saa palauttaa mitään kurssille.
Palautteen hyödyntäminen
Tämä kurssi sai viimeksi huippupalautteen 5.0 /5.
Kurssilla on hyödynnetty palautetta aiemmilta kursseiltani.
Tällä toteutuksella on hyödynnetty palautteita edellisen kesän Python Web -kurssilta. Ensimmäisen toteutuksen rakentamisessa hyödynnettiin muiden ohjelmointikurssieni palautteita. "Go-ohjelmointi" on saanut huipppupalautteen 4.9/5 kiitettävä. "Go ohjelmointi" osoitti, että intensiivikurssi riittää uuteen kieleen tutustumiseen ja sen käyttöön miniprojektissa. Kurssin tekniikoita on kokeiltu alustavasti myös projektikursseilla ja kurssilla "Linux palvelimet".
Opiskelijoiden toiveiden mukaisesti teoria opetetaan tietokoneiden ääressä käytännön esimerkkien yhteydessä. Opettajakeskeinen opetus ja opiskelijoiden lyhyet tuntiharjoitukset vuorottelevat. Harrastuneisuutta tuetaan ja opiskelijoita kannustetaan taitojen välittömään kokeiluun kurssin ulkopuolella. Kurssilla syntyvien raporttien julkaisemiseen ja vapaaseen lisensointiin kannustetaan.
Vanhoja toteutuksia
Python Web - Idea to Production - 2023 - Python weppipalvelu - ideasta tuotantoon ICT8TN034-3003
Python Web Service From Idea to Production - Build Python web service and publish it to the world!