Siirry suoraan sisältöön

Sovellusohjelmointi (5 op)

Toteutuksen tunnus: 5000BL73-3017

Toteutuksen perustiedot


Ilmoittautumisaika

29.05.2024 - 14.09.2024

Ajoitus

02.09.2024 - 18.12.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet

  • Suomi

Paikat

75 - 105

Koulutus

  • Tieto- ja viestintätekniikan koulutus

Opettaja

  • Tuomo Helo

Ryhmät

  • PTIVIS23D
    PTIVIS23D
  • PTIVIS23E
    PTIVIS23E
  • PTIVIS23F
    PTIVIS23F
  • 05.09.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 09.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 11.09.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 11.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 16.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 18.09.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 18.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 23.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 25.09.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 25.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 30.09.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 02.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 02.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 03.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 07.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 09.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 09.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 10.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 21.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 23.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 23.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 24.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 30.10.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 30.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 31.10.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 31.10.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 04.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 06.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 06.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 07.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 11.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 13.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 13.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 14.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 18.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 20.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 20.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 21.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 25.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 27.11.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 27.11.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 28.11.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 02.12.2024 12:00 - 14:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 04.12.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 04.12.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 05.12.2024 08:00 - 10:00, Teoria ja esitykset, Sovellusohjelmointi 5000BL73-3017
  • 09.12.2024 10:00 - 12:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 11.12.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017
  • 12.12.2024 08:00 - 10:00, Käytäntö, Sovellusohjelmointi 5000BL73-3017

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
* ohjelmoida toimivan sovelluksen ryhmän jäsenenä
* hyödyntää olemassa olevaa koodia ja kirjastoja sekä lukea kaavioita
* ymmärtää ja soveltaa joitakin suunnittelumalleja
* käyttää sovelluskehitintä koodaustyökaluna
* käyttää versionhallintajärjestelmää

Sisältö

* sovelluksen vaatimat ohjelmointikielen piirteet
* joihinkin suunnittelumalleihin tutustuminen
* sovelluskehittimen käyttö ohjelmointityökaluna
* versionhallintajärjestelmän käyttö sovelluksen kehityksessä
* projektityö: sovelluksen toteuttaminen ryhmätyönä

Oppimateriaalit

Python Crash Course
3rd Edition
A Hands-On, Project-Based Introduction to Programming
Eric Matthes
January 10, 2023
ISBN-10 : 1718502702
ISBN-13 : 978-1718502703

Lukualue: etenkin luvut 9 sekä 18 - 20.

Kirjan 3. painos on luettavissa sähköisessä muodossa eBook Central -ympäristössämme.

Opintojakson aikana käytetään myös muuta opintojaksolla esiteltävää materiaalia.

Opetusmenetelmät

- kirjallisuuden ja muun oppimismateriaalin lukeminen tai katsominen
- osallistuminen luennoille
- ohjelmointi opettajan johdolla
- itsenäinen ohjelmointi
- osallistuminen ryhmätöiden tekemiseen

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä

Toteutuksen valinnaiset suoritustavat

Opiskelija voi suorittaa opintojakson osoittamalla osaamisensa opintojakson aiheista esimerkiksi tekemillään työnäytteillä. Osoittamisesta täytyy sopia opettajan kanssa opintojakson 4 ensimmäisen viikon aikana.

Opiskelija voi myös ahotoida opintojakson vastaavalla muualla oppilaitoksemme hyväksymässä oppilaitoksessa suoritetulla kurssilla. Asia kannattaa laittaa vireille heti opintojakson alkaessa.

Opiskelijan ajankäyttö ja kuormitus

34 h kontaktiluentoja
12 h harjoistustöiden esitystä ja seurantaa
45 h harjoitustöiden valmistelua
44 h henkilökohtaiset harjoitustehtävät

Sisällön jaksotus

Opintojaksolla luodaan www-sivusto Python-ohjelmointikielellä ja Django-ohjelmistokehyksellä.

Kehitystyössä hyödynnetään ammattilaisten työkaluja kuten Git. Sivusto toteutetaan noudattaen MVT -arkkitehtuurimallia (versio MVC:stä).

Opiskelijat syventävät taitojaan ryhmätyössä.

Luennot pidetään pääsääntöisesti paikan päällä. Teorialuennoilla käydään läpi teoriaa ja opiskelijaryhmät esittävät teoriaharjoitustöitään. Käytännön luennoilla ohjelmoidaan yhdessä, Demokerroilla käydään läpi henkilökohtaisten harjoitusten ratkaisuja.

7 henkilökohtaista harjoitustehtävää
2 ryhmätyötä (teoria- ja ohjelmointityöt)

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Opintojakson kokonaismaksimipistemäärä on 120.

Maksimissaan 70 pistettä 7 henkilökohtaisesta harjoitustehtävästä, 30 pistettä harjoitustöistä ja 20 pistettä läsnäolosta.

Opintojakson arviointiskaala on seuraava:

Pisteitä vähintään -> Arvosana

0 -> 0
40 -> 1
56 -> 2
72 -> 3
88 -> 4
104 -> 5

Huomaa seuraava lisäehto: hyväksyttävään suoritukseen tarvitaan vähintään 20 pistettä henkilökohtaisista harjoitustehtävistä ja 10 pistettä harjoitustöistä.

Läsnäolopisteet annetaan seuraavan skaalan perusteella:

Läsnäoloprosentti käytännön- ja teorialuennoilla -> pisteitä

20% -> 5
40% ->10
60%->15
80%->20

Osa henkilökohtaisista harjoitustehtävistä tehdään käytännöntunneilla yhdessä opettajan kanssa. Näin läsnäolo niillä karruttaa myös harjoitustehtäväpisteitä.

Demokerroilla on oltava läsnä. Läsnäolo demoissa ei karruta läsnäolopisteitä. Poissaolo demoista aiheuttaa 50 % vähennyksen opiskelijan näihin demoihin palauttamien tehtävien pisteisiin. Myös tehtävien palauttaminen myöhässä aiheuttaa 50 prosentin vähennyksen. Tehtäviä ei oteta enää vastaan opintojakson päättymispäivän jälkeen. Opintojakson päättymispäivän jälkeen ei myöskään anneta korvaavia tai täydentäviä tehtäviä. Opiskelija täytyy huolehtia siis siitä, että hän saa kerättyä eri suorituksista riittävästi pisteitä opintojakson aikana.

Hylätty (0)

Opiskelija ei ole opintojakson aikana onnistunut keräämään läpäisyyn riittävää pistemäärää. Näin ollen hän ei ole pystynyt osoittamaan sellaista osaamista, jonka perusteella voitaisiin antaa hyväksyttävä arvosana.

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija tuntee Python-ohjelmoinnin mahdollisuudet web-sovelluskehityksessä
Opiskelija ymmärtää mikä on web-sovelluskehys
Opiskelija ymmärtää web-teknologioita ja tuntee web-sovelluksiin liittyviä ratkaisuja ja ongelmia
Opiskelija tuntee MVT -arkkitehtuurimallin
Opiskelija tietää, mikä on ORM
Opiskelija tietää, miten template ja template engine liittyvät käyttöliittymiin
Opiskelija tietää, mitä on käyttäjien autentikointi ja valtuutus
Opiskelijalla on valmius toteuttaa yksinkertainen web-sovellus

Arviointikriteerit, hyvä (3-4)

Opiskelija osaa hyödyntää Python-ohjelmoinnin tarjoamia mahdollisuuksia web-sovelluskehityksessä
Opiskelija ymmärtää mikä on web-sovelluskehys
Opiskelija osaa käyttää web-teknologioita ja tuntee web-sovelluksiin liittyviä ratkaisuja ja ongelmia
Opiskelija tuntee MVT -arkkitehtuurimallin ja osaa ohjelmoida sitä noudattavia sovelluksia
Opiskelija tietää, mikä on ORM ja osaa käyttää sitä web-sovelluksien datan pysyväistaltioinnissa
Opiskelija tietää, miten template ja template engine liittyvät käyttöliittymiin ja osaa hyödyntää niitä käyttäliittymien rakentamiseen web-sovelluksissa
Opiskelija osaa autentikoida ja valtuuttaa käyttäjiä web-sovelluksissa
Opiskelijalla osaa toteuttaa yksinkertainen web-sovelluksen
Opiskelija kykenee työskentelemään web-sovellusprojekteissa

Arviointikriteerit, kiitettävä (5)

Opiskelija osaa hyödyntää tehokkaasti Python-ohjelmoinnin tarjoamia mahdollisuuksia web-sovelluskehityksessä
Opiskelija ymmärtää mikä on web-sovelluskehys ja osaa arvioida sen soveltamisen seurauksia
Opiskelija osaa käyttää web-teknologioita ja tuntee web-sovelluksiin liittyviä ratkaisuja ja ongelmia laajasti
Opiskelija osaa etsiä ja arvioida sopivia ratkaisuja ja työkaluja sekä soveltaa niitä kohtaamiinsa ongelmiin
Opiskelija tuntee MVT -arkkitehtuurimallin ja osaa ohjelmoida sitä noudattavia sovelluksia
Opiskelija tietää, mikä on ORM ja osaa käyttää sitä monipuolisesti web-sovelluksien datan pysyväistaltioinnissa
Opiskelija tietää, miten template ja template engine liittyvät käyttöliittymiin ja osaa hyödyntää niitä monipuolisesti käyttäliittymien rakentamiseen web-sovelluksissa
Opiskelija osaa autentikoida ja valtuuttaa käyttäjiä web-sovelluksissa
Opiskelijalla osaa toteuttaa monenlaisia web-sovelluksia
Opiskelija kykenee työskentelemään web-sovellusprojekteissa erilaisissa rooleissa ja etsimään toimivia ratkaisuja asiakasvaatimusten toteuttamiseksi