Skip to main content

Application ProgrammingLaajuus (5 cr)

Code: 5000BL73

Credits

5 op

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

Enrollment

02.07.2024 - 06.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
  • English
Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Business Information Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Tuomo Helo
Groups
  • PTIETS23sepm
    Software Engineering and Project Management

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

The course book:

Microservice APIs: Using Python, Flask, FastAPI, OpenAPI and more
Jose Haro Peralta
Mar 7, 2023

The part 3 of the course book "Designing And Building GraphQL APIs" is going to be totally skipped.

A limited number of book licenses is going to be available via TUAS' electronic library.

Other learning material can be announced during the course.

Teaching methods

- reading the course books and other reading material, watching videos
- participating in the lectures
- programming together with instructor
- programming alone
- defining interactive documents
- participating in the teamwork

Completion alternatives

The student can complete the course by demonstrating his knowledge and skills of the subjects of the course, for example with the work samples they have made. However, this must be agreed with the instructor during the first 4 weeks of the course.

The student can include a corresponding course taken elsewhere at some educational institution that is acceptable by our educational institution. This happens via AHOT process. Also this matter should be initiated immediately at the beginning of the course.

Student workload

30 h contact lessons
4 h presenting and following team works onsite
47 h preparing teamworks
54 h doing personal exercises

Content scheduling

The contents.

REST API
Microservice Architecture
Designing and implementing a back-end service with a REST API
Documenting a REST API
Testing the REST API
Using professional tools

The programming language is Python.

6 personal assignments.
Two teamworks (not compulsory)

Evaluation scale

H-5

Assessment methods and criteria

The maximum number of points available from course is 120.

Of that maximum, 60 points comes from 6 individual exercises, 40 points from teamworks, and 20 points from being present on the lectures.

The course evaluation scale is the following:

Min points -> Grade

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

An additional condition: You must to get at least 25 points from the exercises to pass the course.

The points from being present are calculated in a following way:

Percentage of being present on the normal lectures -> points

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

Please also note that by being present you can earn some of the points available from the individual exercises working together with the instructor.

You must be present in demonstration. It does not accumulate your points of being present. If you are not present in the demonstrations, then there is a reduction of 50 % of the points of your returned exercises on these demos. There is also a reduction of 50 % for exercises that are returned late. No exercises are accepted after the end date of the course implementation. After the end date of the course, no substitute or supplementary assignments will be given either. The student must therefore make sure that he collects enough points from different performances during the time of the course.

Assessment criteria, fail (0)

The student has not managed to accumulate enough points to pass the course during the time of the course. Consequently, they have not been able to demonstrate the kind of competence on the basis of which an acceptable grade could be given.

Assessment criteria, satisfactory (1-2)

The student understands the basic of the REST API
The student knows what microservice architecture and microservices are
The student can implement a simple REST API and call the services it offers
The student understands the importance of documenting the REST API in a modern way
The student is ready to use the programming, documentation and testing tools necessary for API development

Assessment criteria, good (3-4)

The student understands the basics of the REST API and related authentication
The student knows what microservice architecture and microservices are
The student can implement a simple REST API, the related authentication and call the services it offers
The student understands the importance of REST API documentation in a modern way and knows how to prepare these documents
The student can use the programming, documentation and testing tools necessary for API development
The student knows how to work in a project where a microservice that permanently stores data is implemented

Assessment criteria, excellent (5)

The student understands the basics of the REST API and related authentication
The student knows what microservice architecture and microservices are
The student knows how to implement a simple REST API, the related authentication and call the services it offers
The student understands the importance of REST API documentation in a modern way and knows how to prepare these documents
The student can test the REST API
The student can use efficiently the programming, documentation and testing tools necessary for interface development
The student can effectively search for information to develop their skills and solve problems
The student can work proactively and efficiently in various roles in API programming projects
The student knows how to work in a project where a microservice that permanently stores data is implemented

Enrollment

29.05.2024 - 14.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
  • Tuomo Helo
Groups
  • PTIVIS23D
    PTIVIS23D
  • PTIVIS23E
    PTIVIS23E
  • PTIVIS23F
    PTIVIS23F

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

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

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Some other material will be introduced during the course too.

Teaching methods

- reading the course books and other reading material, watching videos
- participating in the lectures
- programming together with instructor
- programming alone
- participating in the teamworks

Exam schedules

No exam

Completion alternatives

The student can complete the course by demonstrating his knowledge and skills of the subjects of the course, for example with the work samples they have made. However, this must be agreed with the instructor during the first 4 weeks of the course.

The student can include a corresponding course taken elsewhere at some educational institution that is acceptable by our educational institution. This happens via AHOT process. Also this matter should be initiated immediately at the beginning of the course.

Student workload

34 h contact lessons
12 h presenting and following team works
45 h preparing teamwork
44 h doing personal exercises

Content scheduling

During the course a web site will be created by using Python language and Django web application programming framework.

Professional tools like Git will be used. The site will follow the MVT version of the MVC architectural pattern.

The students will deepen their skills in the team works.

Onsite lessons. Theory lessons are for theory and presentations of theoretical team works. Practical lessons are for programming together. Demonstrations are for going through some of the solutions the students have done for the individual exercises.

7 personal assignments
2 team works (theory and programming works)

Evaluation scale

H-5

Assessment methods and criteria

The maximum number of points available from course is 120.

Of that maximum, 70 points comes from individual exercises, 30 points from teamwork, and 20 points from being present on the lectures.

The course evaluation scale is the following:

Min points -> Grade

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

Please note this additional condition: You must get at least 20 points from the exercises and 10 points from the teamworks to pass the course.

The points from being present are calculated using the following scale:

Percentage of being present on the normal lectures -> points

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

Please also note that by being present you can earn some of the points available from the individual exercises working together with the instructor.

You must be present in demonstration. It does not accumulate your points of being present. If you are not present in the demonstrations, then there is a reduction of 50 % of the points of your returned exercises on these demos. There is also a reduction of 50 % for exercises that are returned late. No exercises are accepted after the end date of the course implementation. After the end date of the course, no substitute or supplementary assignments will be given either. The student must therefore make sure that he collects enough points from different performances during the time of the course.

Assessment criteria, fail (0)

The student has not managed to accumulate enough points to pass the course during the time of the course. Consequently, they have not been able to demonstrate the kind of competence on the basis of which an acceptable grade could be given.

Assessment criteria, satisfactory (1-2)

The student knows the possibilities of Python programming in web application development
The student understands what a web application framework is
The student understands web technologies and knows solutions and problems related to web applications
The student knows the MVT architectural model
The student knows what an ORM is
The student knows how template and template engine are related to user interfaces
The student knows what authentication and authorization are
The student is ready to implement a simple web application

Assessment criteria, good (3-4)

The student knows how to utilize the possibilities offered by Python programming in web application development
The student understands what a web application framework is
The student knows how to use web technologies and knows solutions and problems related to web applications
The student knows the MVT architecture model and knows how to program applications that follow it
The student knows what ORM is and knows how to use it for the permanent storage of web application data
The student knows how a template and a template engine are related to user interfaces and knows how to use them to build user interfaces in web applications
The student knows how to authenticate and authorize users in web applications
The student can implement a simple web application
The student is able to work on web application projects

Assessment criteria, excellent (5)

The student knows how to effectively utilize the opportunities offered by Python programming in web application development
The student understands what a web application framework is and can evaluate the consequences of its application
The student knows how to use web technologies and knows solutions and problems related to web applications extensively
The student knows how to search for and evaluate suitable solutions and tools and apply them to the problems they encounter
The student knows the MVT architecture model and knows how to program applications that follow it
The student knows what an ORM is and knows how to use it in a versatile manner in the permanent storage of web application data
The student knows how template and template engine are related to user interfaces and knows how to use them versatilely to build user interfaces in web applications
The student knows how to authenticate and authorize users in web applications
The student knows how to implement many kinds of web applications
The student is able to work in web application projects in various roles and to search for effective solutions to fulfill customer requirements

Enrollment

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

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.

Enrollment

29.05.2024 - 14.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
  • English
Seats

70 - 105

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Ali Khan
Scheduling groups
  • Pienryhmä 1 (Size: 35. Open UAS: 0.)
  • Pienryhmä 2 (Size: 35. Open UAS: 0.)
Groups
  • PINFOS23B
    PINFOS23B
  • PINFOS23C
    PINFOS23C
  • PINFOS23A
    PINFOS23A
Small groups
  • Group 1
  • Group 2

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

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

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Teaching methods

Learning by doing and FLIP classroom.

Exam schedules

No exam, no retake possible after the grade is published.

International connections

The course will be arranged mostly onsite at/near the ICT building.

There will be an itsLearning environment for the course. Teams will be used during online lessons if there will be any.

Completion alternatives

Only by completing class assignments and team work.

Student workload

Theory lessons 13 X 2h = 26h
Demonstrations 13 X 1h = 13h group 1
Demonstrations 13 X 1h = 13h group 2

Flip classroom 7 X 2h = 14h

Homework 80h

Total approximately 135h

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow a version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Contact lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the mid semester break, after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Further information

Available in itslearning.

Evaluation scale

H-5

Assessment methods and criteria

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points. The assignments returned after the deadline will give you only half of the points.

Demonstrations of exercises during the contact session is mandatory without demonstration you will lose 50% of your marks.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Assessment criteria, fail (0)

below 40

Assessment criteria, satisfactory (1-2)

40 points -> 1
55 points -> 2

Assessment criteria, good (3-4)

70 points -> 3
80 points -> 4

Assessment criteria, excellent (5)

90 points -> 5

Enrollment

05.10.2023 - 21.01.2024

Timing

08.01.2024 - 30.04.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

0 - 80

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Ali Khan
Groups
  • PINFOK23B
    PINFOK23B
  • PINFOK23A
    PINFOK23A

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

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Exam schedules

No exams

International connections

The course will be arranged mostly onsite at the ICT building.

There will be an itsLearning environment for the course. Teams will be used during online lessons if there will be any.

Completion alternatives

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

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Student workload

Total work 135 hours

Contact lessons 56 hours

Personal assignments 59 hours

The group work 20 hour

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow a version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Contact lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the spring vacation (on week 8), after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Evaluation scale

H-5

Assessment methods and criteria

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

01.06.2023 - 17.09.2023

Timing

05.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

25 - 40

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Ali Khan
Groups
  • PINFOS22A
    PINFOS22A

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

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Exam schedules

No exams

International connections

The course will be arranged mostly onsite at the ICT building.

There will be an itsLearning environment for the course. Teams will be used during online lessons if there will be any.

Completion alternatives

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

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Student workload

Total work 135 hours

Contact lessons 56 hours

Personal assignments 59 hours

The group work 20 hours

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow a version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Contact lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the spring vacation (on week 8), after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Evaluation scale

H-5

Assessment methods and criteria

Personal assignments:

5 personal assignments: 75 points
The group project work: 25 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points b -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

01.06.2023 - 17.09.2023

Timing

05.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

40 - 80

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Ali Khan
Groups
  • PINFOS22C
    PINFOS22C
  • PINFOS22B
    PINFOS22B

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

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

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Exam schedules

No exam.

Student workload

Total work 135 hours

Contact lessons 40 hours

Personal assignments 55 hours

The group works 40 hours

Content scheduling

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow the MVT version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Onsite lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the autumn vacation (on week 42), after that the lessons concentrate more on supporting team work.

7 personal assignments
Two group project works

Evaluation scale

H-5

Assessment methods and criteria

7 personal assignments: 70 points
The group project works: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must be present in the demos (on the lectures where the personal assignments are checked and presented).

The student must get at least 28 points from the assignments and 12 points from the group works to pass the course.

The grading scale (points b -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

01.06.2023 - 18.09.2023

Timing

05.09.2023 - 15.12.2023

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
  • Tuomo Helo
Groups
  • PTIVIS22D
    PTIVIS22D
  • PTIVIS22E
    PTIVIS22E
  • PTIVIS22F
    PTIVIS22F

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

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

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of the book's 3rd
editions available in eBook Central for you to read.

Exam schedules

No exam.

Student workload

Total work 135 hours

Contact lessons 40 hours

Personal assignments 55 hours

The group works 40 hours

Content scheduling

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow the MVT version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Onsite lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the autumn vacation (on week 42), after that the lessons concentrate more on supporting team work.

7 personal assignments
Two group project works

Evaluation scale

H-5

Assessment methods and criteria

7 personal assignments: 70 points
The group project works: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must be present in the demos (on the lectures where the personal assignments are checked and presented).

The student must get at least 28 points from the assignments and 12 points from the group works to pass the course.

The grading scale (points b -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

02.06.2023 - 18.09.2023

Timing

05.09.2023 - 15.12.2023

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
  • PTIVIS22A
    PTIVIS22A
  • PTIVIS22B
    PTIVIS22B
  • PTIVIS22C
    PTIVIS22C

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

Student workload

135 tuntia

Content scheduling

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ö. Teoria- ja ohjelmointitunnit etenevät kurssin aikana rinta rinnan.

Evaluation scale

H-5

Assessment methods and criteria

Tehtäväksi annetaan:
7 henkilökohtaista harjoitustehtäväkokonaisuutta: 70 pistettä
Ryhmätyö: 30 pistettä

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

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

Arviointiasteikko (pisteet --> arvosana):

40 pistettä -> 1
55 pistettä -> 2
70 pistettä -> 3
80 pistettä -> 4
90 pistettä -> 5

Enrollment

01.06.2023 - 14.09.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
  • English
Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Tuomo Helo
Groups
  • PTIETS22sepm
    PTIETS22 Software Engineering and Project Management

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

The course book:
Microservice APIs: Using Python, Flask, FastAPI, OpenAPI and more
Jose Haro Peralta
Mar 7, 2023

The part 3 of the course book "Designing And Building GraphQL APIs" is going to be totally skipped.

A limited number of book licenses is going to be available via TUAS' electronic library.

Exam schedules

No exam.

Student workload

Total work 135 hours

Contact lessons 26 hours

Personal assignments 55 hours

The team works 54 hours

Content scheduling

The aim of the course is to learn to design and implement simple microservices with REST APIs by using Python programming language.

The following contents will be included.

REST API
Microservice Architecture
Designing and implementing a back-end service with a REST API
Documenting a REST API
Testing the REST API
Implementing an application that consumes the services provided by the REST API
Using professional tools

The programming language is Python.

6 personal assignments.
Two team works (not compulsory)

Further information

The course will be arranged mostly onsite at the ICT building.

There will be an itsLearning environment for the course. Teams will be used during possible online lessons.

The students must install Virtual Box and the image on their own computers. The instructor will prepare and share the image with students.

Evaluation scale

H-5

Assessment methods and criteria

6 personal assignments: 60 points
Two team works: Theoretical 10 points and practical 30 points = 40 points.

The assignments must be returned by the deadline to get the points. The student must participate in the demonstrations. The assignments returned after the deadline and/or without participating in the demos will give only half of the points.

The student must get at least 30 points (of which at least 25 from the personal assignments) to pass the course.

The grading scale (points -> grade):

30 points -> 1
50 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

30.11.2022 - 18.01.2023

Timing

09.01.2023 - 30.04.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

20 - 35

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Anne Jumppanen
Groups
  • PIOTK22
    Degree Programme in Information Technology, Cyber Security and IoT

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

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

International connections

The course will be arranged mostly onsite at the ICT building.

There will be an itsLearning environment for the course. Teams will be used during online lessons if there will be any.

Completion alternatives

Python Crash Course
2nd Edition or 3rd Edition
A Hands-On, Project-Based Introduction to Programming
Eric Matthes
May 3, 2019
ISBN-10 : 1593279280
ISBN-13 : 978-1593279288

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of books available in eBook Central for you to read.

Student workload

Total work 135 hours

Contact lessons 56 hours

Personal assignments 59 hours

The group work 20 hours

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow a version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Contact lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the spring vacation (on week 8), after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Evaluation scale

H-5

Enrollment

21.07.2022 - 19.09.2022

Timing

12.09.2022 - 16.12.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • English
Seats

20 - 35

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Sami Pyöttiälä
Groups
  • PINFOS21

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

Python Crash Course
2nd Edition
A Hands-On, Project-Based Introduction to Programming
Eric Matthes
May 3, 2019
ISBN-10 : 1593279280
ISBN-13 : 978-1593279288

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of books available in eBook Central for you to read.

Exam schedules

There in no exams on this course.

International connections

The course will be arranged mostly onsite at the ICT building.

There will be an itsLearning environment for the course. Teams will be used during online lessons.

The students must install Virtual Box and the image on their own computers.

Student workload

Total work 135 hours

Online lessons 25 hours

Personal assignments 56 hours

The group work 54 hours

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow a version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Online lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the autumn vacation (on week 41), after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Evaluation scale

H-5

Assessment methods and criteria

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points b -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

Enrollment

21.07.2022 - 08.09.2022

Timing

30.08.2022 - 16.12.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
Degree programmes
  • Degree Programme in Information and Communication Technology
Teachers
  • Anne Jumppanen
  • Tuomo Helo
Groups
  • PTIVIS21D
  • PTIVIS21C
  • PTIVIS21B
  • PTIVIS21A
  • PTIVIS21F
  • PTIVIS21E

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

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points b -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5

International connections

The course will be arranged mostly onsite at the ICT building.

There will be an itsLearning environment for the course. Teams will be used during online lessons.

The students must install Virtual Box and the image on their own computers.

Completion alternatives

Python Crash Course
2nd Edition
A Hands-On, Project-Based Introduction to Programming
Eric Matthes
May 3, 2019
ISBN-10 : 1593279280
ISBN-13 : 978-1593279288

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of books available in eBook Central for you to read.

Student workload

Total work 135 hours

Online lessons 25 hours

Personal assignments 56 hours

The group work 54 hours

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow a version of the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Online lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the autumn vacation (on week 42), after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Evaluation scale

H-5

Enrollment

21.07.2022 - 09.09.2022

Timing

30.08.2022 - 15.12.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
Seats

20 - 30

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Anne Jumppanen
Groups
  • PTIETS21sepm
    PTIETS21 Software engineering and Project Management

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

Python API Development Fundamentals
by Jack Chan, Ray Chung, Jack Huang
Publisher: Packt Publishing
Release Date: November 2019
ISBN: 9781838983994

Exam schedules

There is no exams on this course.

International connections

There will be an itsLearning environment for the course.

The group work needs to be presented to the teacher.

Student workload

Total workload 135 hours.

Reading the book 25 h.
Book exercises in a group of 56 hours.
Group work 54 hours.

Content scheduling

During the course, a Web service is created using the Python programming language and the Flask application framework. The tools used are e.g. PyCharm, Git and Postman. With the created application, the REST protocol is reviewed. The web service uses a PostgreSQL database with SQL Alchemy.

Students get to know the creation of Web services more deeply through the assignment.

The course is a self-study course, however, so that teachers help when problems arise through itslearning.

The exercises in the book will be done over a five week period. After this, group work begins. The completed group work is demoed to the teacher.

Preliminary schedule with contents

1. The individual task of the book Ch1 DL 3.10
2. Book with group Ch2 DL 10.10
3. Book with group Ch3 DL 24.10
4. Book with group Ch4 DL 31.10
5. With the Ch5 group of the book DL 7.11
6. Teamwork
7. Presentation of group work DL week 49. Book an appointment with the teacher.

Ch serves as a reference to the textbook. The content of the song serves as the theme of the task.

Evaluation scale

H-5

Assessment methods and criteria

Personal tasks:

5 practical exercises: 50 points

Exercise in groups: 50 points.


All assignments and assignments must be returned by the given deadlines. An assignment returned after the deadline will not earn points.

To pass the course, a student must receive at least 35 points for personal assignments. Participation in the exercise increases the grade.

Rating scale:
35 - 40 points -> 1
41 - 50 points -> 2
51 - 70 points -> 3
71 - 89 points -> 4
90 points -> 5

Enrollment

01.12.2021 - 19.01.2022

Timing

10.01.2022 - 30.04.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Salo IoT Campus

Teaching languages
  • English
Seats

15 - 35

Degree programmes
  • Degree Programme in Information and Communications Technology
Teachers
  • Balsam Abdulghani
Groups
  • PIOTK21
    Degree Programme in Information Technology, Cyber Security and IoT

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

Python Crash Course
2nd Edition
A Hands-On, Project-Based Introduction to Programming
Eric Matthes
May 3, 2019
ISBN-10 : 1593279280
ISBN-13 : 978-1593279288

The reading are will be concentrated mostly on chapters 9 and 18 - 20.

Please note that there is a limited number of books available in eBook Central for you to read.

Exam schedules

There in no exams on this course.

International connections

The course will be arranged onsite or online.

There will be an itsLearning environment for the course. Teams will be used during online lessons.

The students must install Virtual Box and the image on their own computers.

Student workload

Total work 135 hours

Online lessons 25 hours

Personal assignments 56 hours

The group work 54 hours

Content scheduling

Contents:

During the course a web site will be created by using Python language and Django web application programming framework. Professional tools like Git will be used. The site will follow the MVC architectural pattern.

The students will elaborate more deeply in creating a web site during the group project work.

Online lessons: Theory, programming together, demos and supporting working in teams. Theory and programming lessons are arranged mostly before the autumn vacation (on week 41), after that the lessons concentrate more on supporting team work.

Personal assignments:
7 assignments
A group project work

Evaluation scale

H-5

Assessment methods and criteria

Personal assignments:

7 personal assignments: 70 points
The group project work: 30 points.

The assignments must be returned by the deadline to get the points.The assignments returned after the deadline will give you only half of the points.

The student must get at least 30 points from the assignments and 10 points from the group work to pass the course.

The grading scale (points b -> grade):

40 points -> 1
55 points -> 2
70 points -> 3
80 points -> 4
90 points -> 5