Skip to main content

Application Programming (5 cr)

Code: 5000BL73-3018

General information


Enrollment

01.06.2024 - 04.09.2024

Timing

02.09.2024 - 18.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages

  • Finnish

Seats

75 - 105

Degree programmes

  • Degree Programme in Information and Communication Technology

Teachers

  • Sami Pyöttiälä

Groups

  • 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
  • 25.11.2024 14:00 - 16:00, Teoria, 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
  • 02.12.2024 14:00 - 16:00, Teoria, 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

Objective

After completing the course the student can:
* program efficiently in a team
* reuse code and utilize libraries
* understand and apply some design patterns
* use an IDE as a programming tool
* use a version control system

Content

* relevant programming libraries
* learning some common design patterns
* using IDE in programming
* using a version control system in application development
* project work: implementing an application in a team

Materials

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.

Teaching methods

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ä

Exam schedules

Opintojakson toteutuksella ei ole tenttiä.

International connections

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

Completion alternatives

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

Student workload

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

Content scheduling

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.

Further information

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

Evaluation scale

H-5

Assessment methods and criteria

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

Assessment criteria, fail (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.

Assessment criteria, satisfactory (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.

Assessment criteria, good (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.

Assessment criteria, excellent (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.