Siirry suoraan sisältöön

Full Stack -ohjelmointiLaajuus (5 op)

Tunnus: TTC2080

Laajuus

5 op

Opetuskieli

  • suomi
  • englanti

Vastuuhenkilö

  • Ari Rantala

Osaamistavoitteet

Tarkoitus:
Suoritettuasi tämän opintojakson osaat toteuttaa pieniä web-sovelluksia, joissa käytät oikeissa rooleissa sekä web-selaimen suorittamaa käyttöliittymäohjelmointia että palvelimella suoritettavaa palvelinohjelmointia.

EUR-ACE-osaamiset:
Tieto ja ymmärrys
Tekniikan soveltaminen käytäntöön

Osaamistavoite
Tiedät ja ymmärrät sekä web-selaimen suorittaman käyttöliittymäohjelmoinnin että palvelimella suoritettavan palvelinohjelmoinnin keskeiset tehtävät osana Full stack -ohjelmointia. Osaat toteuttaa pieniä web-sovelluksia, joissa käytät oikeissa rooleissa sekä web-selaimen suorittamaa käyttöliittymäohjelmointia että palvelimella suoritettavaa palvelinohjelmointia.

Sisältö

- web-selain ohjelmointiympäristönä
- JavaScript-ohjelmointikieli
- DOM-rakenne ja -manipulaatiot
- HTML5- ja JavaScript-rajapinnat
- web-palvelinympäristö
- HTTP-protokollan rooli Full stack -ohjelmoinnissa
- evästeet, istuntojen hallinta, autentikointimenetelmät
- ulkoisten rajapintojen hyödyntäminen
- tietoturvanäkökohtien huomioiminen
- tietokantojen hyödyntäminen

Esitietovaatimukset

- ohjelmoinnin perusteet
- web-julkaisun perustaidot (mm. HTML ja CSS)
- tietokantojen hallinnan perustaidot

Arviointikriteerit, tyydyttävä (1)

Välttävä 1: Tiedät Full stack -web-sovelluksen keskeiset rakennusosat ja työvälineet niiden luomiseksi. Osaat toteuttaa yksinkertaisen Full stack -web-sovelluksen, jossa käyttöliittymä kommunikoi palvelinpuolen kanssa.

Tyydyttävä 2: Osaat suunnitella ja toteuttaa sellaisen Full stack -web-sovelluksen, jossa käyttöliittymä kommunikoi palvelinpuolen kanssa siten, että palvelimella on sovelluksen hyödynnettävänä jokin tietokanta.

Arviointikriteerit, hyvä (3)

Hyvä 3: Osaat suunnitella ja toteuttaa sellaisen CRUD-toiminnallisuuden sisältävän Full stack -web-sovelluksen, jossa tietoturvanäkökohdat on otettu huomioon. Osaat dokumentoida toteutuksen arkkitehtuurin ja rakennusosat keskeisimmiltä osin.

Kiitettävä 4: Osaat suunnitella ja toteuttaa sellaisen Full stack -web-sovelluksen, jossa tehdyt valinnat on perusteltu. Toteutetussa sovelluksessa on käytetty erilaisia käyttäjärooleja ja autentikointimenetelmiä. Osaat syntetisoida sovellukseensa tarkoituksenmukaisella tavalla sellaisia opintojakson aihealueen ohjelmakirjastoja, joita ei suoraan opintojaksolla esitelty.

Arviointikriteerit, kiitettävä (5)

Erinomainen 5: Osaat suunnitella ja toteuttaa sellaisen hyviä käytänteitä noudattavan Full stack -web-sovelluksen, jossa opintojaksolla käsiteltyjä tekniikoita on käytetty laajasti ja jossa tehdyt valinnat on perusteltu. Sovellus on dokumentoitu kattavasti ja selkeästi. Sovellus ja dokumentaatio on esitetty audiovisuaalisesti. Osaat arvioida kriittisesti osaamistasi ratkaisuissasi.

Oppimateriaalit

Kuvataan toteutuksen yhteydessä.

Enrollment

01.08.2024 - 22.08.2024

Timing

26.08.2024 - 18.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Pasi Manninen
Groups
  • TIC23S1
    Bachelor's Degree Programme in Information and Communications Technology

Objective

Purpose:
After completing this course you are able to implement small-scale web applications used in real roles, carry out interface programming in a web browser as well as server programming on a server.

EUR-ACE Competences:
Knowledge and Understanding
Engineering Practice

Learning outcomes:
You know and understand the key tasks of both user interface programming performed by the web browser and server programming performed on the server as part of full stack programming. You know how to implement small web applications in which you use both user interface programming performed by the web browser and server programming performed on the server in the right roles.

Content

- web browser as programming environment
- JavaScript programming language
- DOM structure and manipulations
- HTML5 and JavaScript interfaces
- web server environment
- role of HTTP protocol in Full Stack programming
- cookies, session management, authentication methods
- utilization of external interfaces
- data security issues
- utilization of databases

Oppimateriaali ja suositeltava kirjallisuus

Course material in GitLab / LabraNet service

Teaching methods

Lectures, exercises, research assignment. Can be studied virtually.

Vaihtoehtoiset suoritustavat

Recognition of prior learning

Student workload

Lectures 25h, exercises 80h, research assignment 30h

Evaluation scale

0-5

Arviointikriteerit, tyydyttävä (1-2)

Sufficient 1: You know the key building blocks of a Full Stack web application and the tools to create them. You are able to implement a simple Full Stack web application where the interface communicates with the server side.

Satisfactory 2: You know how to design and build a Full Stack web application where the interface communicates with the server side utilizing a database on the server.

Arviointikriteerit, hyvä (3-4)

Good 3: You are able to design and implement Full Stack web application containing a CRUD functionality where data security has been taken into account. You are able to document the architecture of the implementation and the building blocks for the most parts.

Very good 4: You are able to design and implement such a Full Stack web application where the made choices have been justified. The implementation contains various user roles and authentication methods. You can purposefully synthesize such program libraries into the implementation that have not been directly introduced during the course.

Assessment criteria, excellent (5)

Excellent 5: Following good practices, you are able to design and implement such a Full Stack web application where the techniques introduced in the course have been extensively used and where the made choices are well justified. The implementation has been documented comprehensively and clearly. The application and the documentation are presented audio-visually. You are able to critically assess your own competence in the used solutions.

Qualifications

- basic skills in programming
- basic skills in web publishing (HTML and CSS)
- basic skills in database management