Siirry suoraan sisältöön

Sovellusohjelmointi (5 op)

Toteutuksen tunnus: 5000BL73-3018

Toteutuksen perustiedot


Ilmoittautumisaika

01.06.2024 - 04.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

  • Sami Pyöttiälä

Ryhmät

  • PTIVIS23A
    PTIVIS23A
  • PTIVIS23B
    PTIVIS23B
  • PTIVIS23C
    PTIVIS23C
  • 02.09.2024 14:00 - 16:00, PERUUTETTU 2.9 osalta (Teoria, Sovellusohjelmointi 5000BL73-3018)
  • 04.09.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 04.09.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 05.09.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 09.09.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 11.09.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 11.09.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 12.09.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 16.09.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 18.09.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 18.09.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 19.09.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 23.09.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 25.09.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 25.09.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 26.09.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 30.09.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 02.10.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 02.10.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 03.10.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 07.10.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 09.10.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 09.10.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 10.10.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 21.10.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 23.10.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 23.10.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 24.10.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 28.10.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 30.10.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 30.10.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 31.10.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 04.11.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 06.11.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 06.11.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 07.11.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 11.11.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 13.11.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 13.11.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 14.11.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 18.11.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 20.11.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 20.11.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 21.11.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 27.11.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 27.11.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 28.11.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 04.12.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 04.12.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 05.12.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 09.12.2024 14:00 - 16:00, Teoria, Sovellusohjelmointi 5000BL73-3018
  • 11.12.2024 08:00 - 10:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 11.12.2024 10:00 - 12:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018
  • 12.12.2024 14:00 - 16:00, Harjoitukset, Sovellusohjelmointi 5000BL73-3018

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

Opintojaksolla on käytössä oppikirja, mutta myös opettajan itse laatima materiaali, jonka varassa pärjännee ilman oppikirjaakin. Muita materiaaleja ovat tehtävänannot, jotka julkaistaan kurssin kuluessa.

Oppikirjan tiedot ovat seuraavat:
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

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

Opetusmenetelmät

Oppimateriaalin lukeminen, ongelmanratkaisu kautta oppiminen, oppiminen käytännön ohjelmointitehtävien kautta tekemällä esimerkki- ja ongelmalähtöisesti, ryhmissä oppiminen, oppiminen ryhmätyötä tekemällä

Tenttien ajankohdat ja uusintamahdollisuudet

Opintojakson toteutuksella ei ole tenttiä.

Pedagogiset toimintatavat ja kestävä kehitys

Pedagogiikka noudattaa perinteistä opettajajohtoista menetelmää sekä aktiviteettiorientoitunutta tehtävien tekemistä ja luovaa ongelmanratkaisua. Kestävä kehitys huomioidaan käyttämällä olemassa olevaa infrastruktuuria lisärakentamisen tai laitehankintojen sijaan. Virtualisointia soveltamalla voidaan käyttää heterogeenista laitekantaa ilman tarvetta uusia laitteita. Opetus tapahtuu koulurakennuksessa, jossa opiskelijat ovat keskimäärin muutoinkin paljon, mikä vähentää matkustamista eri paikkojen välillä.

Toteutuksen valinnaiset suoritustavat

Opintojakso tarjotaan vain yhdessä muodossa, mutta huomioidaan tutkintosäännön asettamat mahdollisuudet.

Opiskelijan ajankäyttö ja kuormitus

Oppitunnilla kuunteleminen ja seuraaminen, oppimateriaalin opiskelu, harjoitustehtävät, ryhmätyönä tehtävä harjoitustyö, yhteensä 135 tuntia

Sisällön jaksotus

Esitietovaatimukset: Ensimmäisen vuosikurssin opintojen oppisisältöjen hallinta tai vastaavat tiedot.

Sisältö:
Kurssin aikana rakennetaan verkkosivusto käyttäen Pythonia ja Django web-sovelluksen ohjelmointi-frameworkia. Verkkosivusto noudattaa erästä MVC-arkkitehtuuri-patternin versiota.

Opiskelijat harjoittelevat verkkosivuston tekoa syventäen osaamistaan tekemällä ryhmätyön.

Oppitunnit: Teoria, ohjelmointi yhdessä, demotehtävät ja ryhmätyö, joka voi koostua yhdestä tai kahdesta osiosta. Mahdolliset puhtaat teoriatunnit ja käytännön ohjelmointitunnit etenevät kurssin aikana rinta rinnan.

Oppitunteja tarjotaan 56 tuntia syyslukukauden kuluessa. Näistä puolet on kolmen ryhmän yhdistetylle ryhmälle ja puolet pienille ryhmille erikseen.

Viestintäkanava ja lisätietoja

Opintojaksolla on käytössä suullinen viestintä oppitunneilla. Kirjallinen viestiminen toteutuu Itslearningin ja sähköpostin välityksellä.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Tehtäväksi annetaan:
Arviolta 7 henkilökohtaista harjoitustehtäväkokonaisuutta: 70 pistettä max
Ryhmätyö: 30 pistettä max
Läsnäolo: 20 pistettä max

Tehtävät on palautettava erikseen annettuun aikarajaan mennessä, jotta niistä voi saada pisteitä. Aikarajan jälkeen palautetuista tehtävistä voi saada enintään puolet tavallisista maksimipisteistä. Opettaja voi huomauttaa kurssin alkupuolella opiskelijalle, jos näyttää siltä, ettei opiskelijan nykyaktiivisuus opintojaksolla ennusta hyväksyttyä suoritusta. Kaikki opintojakson osasuoritukset on palautettava kuitenkin opintojakson meneillään olevan toteutuksen kuluessa silloinkin, kun niitä palautetaan myöhässä.

(i) Opiskelijan on saatava vähintään 10 pistettä ryhmätyöstä saadakseen hyväksytyn arvosanan opintojaksosta.

(ii) Opiskelijan on saatava yhteensä vähintään 40 pistettä henkilökohtaisista tehtävistä ja ryhmätyöstä saadakseen hyväksytyn arvosanan opintojaksosta.

(iii) Opiskelija voi saada alimpaan arvosaan oikeuttaviin pisteisiin arvosanaa korottavia pisteitä kaikista kolmesta pistelähteestä, joita ovat siis harjoitustyö, viikoittaiset tehtävät sekä läsnäolo.

Läsnäolot kerätään paperiseen rastilistaan, joka kiertää oppitunnilla luokassa. Näistä lasketaan kokonaisläsnäolon suhde, jonka mukaan saadaan ansaittu osuus 20 läsnäolopisteestä. Läsnäolopisteet annetaan seuraavan skaalan perusteella:

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

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

Arviointiasteikko (pisteet --> arvosana):

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

Hylätty (0)

Opiskelija ei ole palauttanut riittävästi pyydettyjä tehtävien oikeaksi arvioitavissa olevia ratkaisuja kurssilla määritellyillä tavoilla annettuihin aikarajoihin mennessä tai ei osaa uskottavasti ja osaamista osoittavalla tavalla tehdä selkoa palauttamistaan ratkaisuista sekä pyydettäessä demota laatimiaan ratkaisuja, luomiaan järjestelmiä tai vastata opettajan esittämiin kysymyksiin, jotka koskevat tehtävien ratkaisuja, kurssin keskeisiä oppeja ja opittaviksi asetettuja periaatteita, näiden oppien soveltamista tai käytännön menetelmiä. Kysymyksiin vastaamisella tarkoitetaan joko välitöntä suullista vastaamista tai valvottua kirjallisen vastauksen laatimista opettajan määräämästä tavasta riippuen tai muuta erikseen tilannetta varten määriteltyä ja tarpeelliseksi perustelvissa olevaa tapaa. Demoamisella tarkoitetaan kurssilla määritellyn tekniikan varassa suoritettua itse kirjoitetun ohjelmallisen ratkaisun tai useista sellaisista muodostuvien kokonaisuuksien toimintaan saattamista valvotusti ja tapahtumia selostaen. Vilppi tai muu perusteltu selvästi hylkäykseen johtava seikka voi myös aiheuttaa hylkäyksen.

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija osaa opintojakson sisällön keskeisimmät periaatteet ja opit sekä osaa rakentaa Djangolla opintojaksolla käytössä olevaan ympäristöön tehtävänannossa pyydetyn järjestelmän, joka soveltaen mukailee opintojakson pääopintomateriaalissa esitettyä järjestelmää kaikkine toiminnallisuusosioineen, mutta esitettyä laajuutta suppeammin. Osaaminen osoitetaan lisäksi tehtävien hallinnalla ja kurssin oppitunteihin osallistumalla ja niissä aktiivisesti kuuntelemalla ja annettuja tehtäviä tekemällä annetun pisteintervallin arvoisesti.

Arviointikriteerit, hyvä (3-4)

Opiskelija osaa opintojakson sisällön keskeisimmät periaatteet ja opit sekä osaa rakentaa Djangolla opintojaksolla käytössä olevaan ympäristöön tehtävänannossa pyydetyn järjestelmän, joka laajasti soveltaen mukailee opintojakson pääopintomateriaalissa esitettyä järjestelmää kaikkine toiminnallisuusosioineen. Osaaminen osoitetaan lisäksi tehtävien hallinnalla ja kurssin oppitunteihin osallistumalla ja niissä aktiivisesti kuuntelemalla ja annettuja tehtäviä tekemällä annetun pisteintervallin arvoisesti.

Arviointikriteerit, kiitettävä (5)

Opiskelija osaa opintojakson sisällön keskeisimmät periaatteet ja opit sekä osaa rakentaa Djangolla opintojaksolla käytössä olevaan ympäristöön tehtävänannossa pyydetyn järjestelmän, joka laajasti soveltaen mukailee opintojakson pääopintomateriaalissa esitettyä järjestelmää kaikkine toiminnallisuusosioineen ja osin ylittää oppimateriaalissa esitetyn perusversion monipuolisuudellaan. Osaaminen osoitetaan lisäksi tehtävien hallinnalla ja kurssin oppitunteihin osallistumalla ja niissä aktiivisesti kuuntelemalla ja annettuja tehtäviä tekemällä annetun pisteintervallin arvoisesti.