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
-
PTIVIS23APTIVIS23A
-
PTIVIS23BPTIVIS23B
-
PTIVIS23CPTIVIS23C
- 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.