Siirry suoraan sisältöön

Palvelinpuolen www-ohjelmointiLaajuus (5 op)

Tunnus: TT00CJ65

Laajuus

5 op

Osaamistavoitteet

Opintojakson suoritettuaan opiskelija:
tuntee palvelinpuolen ohjelmoinnin keskeiset teknologiat ja ratkaisut.
osaa ohjelmoida www-sovellusten palvelinpuolen logiikan ja tiedon tallentamiseen liittyvät ratkaisut jollakin keskeisellä skriptauskielellä.
ymmärtää www-sovellusten ohjelmistoarkkitehtuuriaosaa hyödyntää sisällönhallintaohjelmistoa tai sovelluskehystä www-sovelluksen kehittämisessä.
osaa käyttää tehokkaita kehitystyökaluja.

Sisältö

Palvelinpuolen skriptauskielen opetteleminen.
www-sovellusten ohjelmistoarkkitehtuurin perusteet.
Sovelluksen integroiminen tietokantaan.
Sisällönhallintajärjestelmän tai sovelluskehyksen hyödyntäminen.
Kehitystyökalujen käyttäminenpienimuotoisen www-sovelluksen kehittäminen.

Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
Paikat

15 - 40

Koulutus
  • Tieto- ja viestintätekniikan koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Tuomo Helo
Ryhmät
  • PTIVIS23W
    Ohjelmistojen kehittäminen ja Tietojärjestelmät
  • PTIETS23swis
    Ohjelmistojen kehittäminen ja tietojärjestelmät

Tavoitteet

Opintojakson suoritettuaan opiskelija:
tuntee palvelinpuolen ohjelmoinnin keskeiset teknologiat ja ratkaisut.
osaa ohjelmoida www-sovellusten palvelinpuolen logiikan ja tiedon tallentamiseen liittyvät ratkaisut jollakin keskeisellä skriptauskielellä.
ymmärtää www-sovellusten ohjelmistoarkkitehtuuriaosaa hyödyntää sisällönhallintaohjelmistoa tai sovelluskehystä www-sovelluksen kehittämisessä.
osaa käyttää tehokkaita kehitystyökaluja.

Sisältö

Palvelinpuolen skriptauskielen opetteleminen.
www-sovellusten ohjelmistoarkkitehtuurin perusteet.
Sovelluksen integroiminen tietokantaan.
Sisällönhallintajärjestelmän tai sovelluskehyksen hyödyntäminen.
Kehitystyökalujen käyttäminenpienimuotoisen www-sovelluksen kehittäminen.

Oppimateriaalit

Kurssikirjat:

Get Programming with Node.js
Jon Wexler
Manning Publications
1st edition (March 15, 2019)

Kirjaa ei valitettavasti ole saatavana TUAMK:n kautta e-kirjana. Kirjastossa on vain muutamia painettuja kopioita.

Kirja on myös jo hieman iäkäs, joten joudumme muokkaamaan siinä esitettyä koodia ja ratkaisuja kurssin aikana. Kirja on kuitenkin muuten erittäin sopiva kurssikirjaksi.

Node.js for Beginners: A comprehensive guide to building efficient, full-featured web applications with Node.js
Ulises Gascón
Packt
Toukokuu 2024

Muu materiaali selviää opintojakson aikana

Opetusmenetelmät

- kirjallisuuden ja muun oppimismateriaalin lukeminen
- osallistuminen luennoille
- ohjelmointi opettajan johdolla
- itsenäinen ohjelmointi
- osallistuminen ryhmätyön tekemiseen

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä.

Toteutuksen valinnaiset suoritustavat

Opiskelija voi suorittaa opintojakson osoittamalla osaamisensa opintojakson aiheista esimerkiksi tekemillään työnäytteillä. Osoittamisesta täytyy sopia opettajan kanssa opintojakson 4 ensimmäisen viikon aikana.

Opiskelija voi myös ahotoida opintojakson vastaavalla muualla oppilaitoksemme hyväksymässä oppilaitoksessa suoritetulla kurssilla. Asia kannattaa laittaa vireille heti opintojakson alkaessa.

Opiskelijan ajankäyttö ja kuormitus

45 h kontaktiluentoja (Jokainen 3h = 2h opetusta ja 1h henkilökohtaista työskentelyä opettajan läsnäollessa)
4 h harjoistustöiden esitystä ja seurantaa
40 h harjoitustyön valmistelu
48 h henkilökohtaiset harjoitustehtävät

Sisällön jaksotus

Opintojakso perustuu 15 ohjattuun oppituntiin, 7 henkilökohtaiseen harjoitukseen, joissa kussakin on useita tehtäviä, sekä ryhmätyöhön.
*
Ryhmätyö tehdään 3-4 opiskelijan ryhmässä. Ryhmätyön toimeksianto julkaistaan ??kesken kurssin.
*
Kurssin suunniteltu sisältö:
*
Kurssin esittely ja kehitysympäristön luominen
Node.js
NPM
ES6 moduulit
Express Web Framework ja MVC
http-pyyntöjen reititys ja käsittely
Näkymät ja mallit
Virheidenkäsittely
Ohjaimet
Mallit
CRUD ja tietojen pysyväistaltiointi
Käyttäjäistunnot ja todennus
Sisään- ja uloskirjautuminen
Valtuuttaminen
*
Demoissa käytetään kolmea oppituntia.
*
Ryhmätyö arvioidaan 15 minuutin mittaisessa arviointitilaisuudessa, jossa ryhmä esittelee työnsä ohjaajalle. Jokaisen jäsenen on selvennettävä panoksensa tulokseen. Myös lähdekoodi on esitettävä.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Opintojakson kokonaismaksimipistemäärä on 120.

Maksimissaan 70 pistettä 7 henkilökohtaisesta harjoitustehtävästä, 30 pistettä harjoitustyöstä ja 20 pistettä luentoläsnäoloista.

Opintojakson arviointiskaala on seuraava:

Pisteitä vähintään -> Arvosana

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

Huomaa seuraava lisäehto: hyväksyttävään suoritukseen tarvitaan vähintään 20 pistettä henkilökohtaisista harjoitustehtävistä ja 10 pistettä harjoitustyöstä.

Läsnäolopisteet annetaan seuraavan skaalan perusteella:

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

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

Osa henkilökohtaisista harjoitustehtävistä tehdään käytännöntunneilla yhdessä opettajan kanssa. Näin läsnäolo niillä karruttaa myös harjoitustehtäväpisteitä.

Demokerroilla on oltava läsnä. Läsnäolo demoissa ei karruta läsnäolopisteitä. Poissaolo demoista aiheuttaa 25 % vähennyksen opiskelijan näihin demoihin palauttamien tehtävien pisteisiin. Myös tehtävien palauttaminen myöhässä aiheuttaa 25 prosentin vähennyksen. Tehtäviä ei oteta enää vastaan opintojakson päättymispäivän jälkeen. Opintojakson päättymispäivän jälkeen ei myöskään anneta korvaavia tai täydentäviä tehtäviä. Opiskelija täytyy huolehtia siis siitä, että hän saa kerättyä eri suorituksista riittävästi pisteitä opintojakson aikana.

Hylätty (0)

Opiskelija ei ole opintojakson aikana onnistunut keräämään läpäisyyn riittävää pistemäärää. Näin ollen hän ei ole pystynyt osoittamaan sellaista osaamista, jonka perusteella voitaisiin antaa hyväksyttävä arvosana.

Arviointikriteerit, tyydyttävä (1-2)

Opiskelija tuntee Node.js ajoympäristön toimintaperiaatteita ja soveltamisalueita
Opiskelija tietää, kuinka konfiguraatiotiedostaja voidaan hyödyntää web-sovellusten kehittäisessä ja käyttöönotossa
Opiskelija tuntee keskeiset Web-sovellusten kehittämiseen liittyvät kysymykset
Opiskelija tietää, mikä on web-sovelluskehys
Opiskelija tuntee MVC-arkkitehtuurimallin perusperiaatteita
Opiskelija tuntee keskeisiä web-sovellusten ohjelmoinnissa tarvittavia ohjelmakirjastoja
Opiskelija osaa hyödyntää tehtäviin sopivia työkaluja
Opiskelija osaa ohjelmoida yksinkertaisen dynaamisen www-sivuston web-sovelluskehystä hyödyntäen

Arviointikriteerit, hyvä (3-4)

Opiskelija tuntee Node.js ajoympäristön toimintaperiaatteita ja soveltamisalueita
Opiskelija osaa hyödyntää konfiguraatiotiedostaja web-sovellusten kehittäisessä ja käyttöönotossa
Opiskelija tuntee keskeiset Web-sovellusten kehittämiseen liittyvät periaatteet ja kysymykset sekä osaa toteuttaa niihin liittyviä ratkaisuja
Opiskelija osaa hyödyntää web-sovelluskehystä
Opiskelija hallitsee MVC-arkkitehtuurimallin perusperiaatteet ja osaa toteuttaa niitä käytännössä
Opiskelija osaa käyttää keskeisiä web-sovellusten ohjelmoinnissa tarvittavia ohjelmakirjastoja
Opiskelija osaa hyödyntää tehtäviin sopivia työkaluja
Opiskelija osaa ohjelmoida dynaamisen www-sivuston web-sovelluskehystä hyödyntäen
Opiskelija osaa toteuttaa käyttäjien autentikoinnin, istunnot ja pysyväistaltioinnin
Opiskelija on hyvät valmiudet osallistua web-sovellusta kehittävään projektiin.

Arviointikriteerit, kiitettävä (5)

Opiskelija tuntee Node.js ajoympäristön toimintaperiaatteita ja osaa arvioida sen soveltuvuutta tehtävään
Opiskelija osaa hyödyntää konfiguraatiotiedostaja web-sovellusten kehittäisessä ja käyttöönotossa
Opiskelija hallitsee keskeiset Web-sovellusten kehittämiseen liittyvät periaatteet ja kysymykset sekä osaa toteuttaa ja arvioida niihin liittyviä ratkaisuja
Opiskelija osaa hyödyntää web-sovelluskehystä tehokkasti ja arvioida sen soveltuvuutta tehtävään
Opiskelija hallitsee MVC-arkkitehtuurimallin perusperiaatteet ja osaa toteuttaa niitä käytännössä
Opiskelija osaa arvioida ja käyttää tehokaasti web-sovellusten ohjelmoinnissa tarvittavia ohjelmakirjastoja
Opiskelija osaa hyödyntää tehokkaasti tehtäviin sopivia työkaluja
Opiskelija osaa ohjelmoida dynaamisen www-sivuston web-sovelluskehystä hyödyntäen
Opiskelija osaa suunnitella ja ohjelmoida dynaamisen www-sivuston, jossa on käyttäjien autentikointi, istunnot ja pysyväistaltio
Opiskelija on erinomaiset valmiudet osallistua web-sovellusta kehittävään projektiin.

Ilmoittautumisaika

29.11.2023 - 18.01.2024

Ajoitus

08.01.2024 - 30.04.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Tuomo Helo
Vastuuopettaja

Tuomo Helo

Ryhmät
  • PTIETS22swis
    PTIETS22 Ohjelmistojen kehittäminen ja tietojärjestelmät

Tavoitteet

Opintojakson suoritettuaan opiskelija:
tuntee palvelinpuolen ohjelmoinnin keskeiset teknologiat ja ratkaisut.
osaa ohjelmoida www-sovellusten palvelinpuolen logiikan ja tiedon tallentamiseen liittyvät ratkaisut jollakin keskeisellä skriptauskielellä.
ymmärtää www-sovellusten ohjelmistoarkkitehtuuriaosaa hyödyntää sisällönhallintaohjelmistoa tai sovelluskehystä www-sovelluksen kehittämisessä.
osaa käyttää tehokkaita kehitystyökaluja.

Sisältö

Palvelinpuolen skriptauskielen opetteleminen.
www-sovellusten ohjelmistoarkkitehtuurin perusteet.
Sovelluksen integroiminen tietokantaan.
Sisällönhallintajärjestelmän tai sovelluskehyksen hyödyntäminen.
Kehitystyökalujen käyttäminenpienimuotoisen www-sovelluksen kehittäminen.

Oppimateriaalit

Kurssikirja:

Node.js: Novice to Ninja
by Craig Buckler
2022

Kurssikirja tulee saataville sähköisessä muodossa oppilaitoksemme EBook Central -tietokantaan.

Opettajan laatimat harjoitustehtävät.

Nettimateriaalia.

Erityisesti
Express Tutorial: The Local Library website: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Tutorial_local_library_website

Tenttien ajankohdat ja uusintamahdollisuudet

Ei tenttiä.

Sisällön jaksotus

Sisältö ja eteneminen

Node.js -ajoympäristön perusteet
Express-ohjelmakehyksen perusteet
MVC
Lomaketietojen käsittely palvelinpuolella
NPM-pakettimanagerin käyttö
ES2015- ja CommonJS-moduulien käyttö
Asynkroninen ohjelmointi Node.js ympäristössä
Tietokantojen ja mappereiden kanssa työskentely
Käyttäjät, kirjautuminen ja istunnot
WebSockettien hyödyntäminen
Node.js-toiminnallisuuden laajempi hyödyntäminen

Ryhmätyö: www-sivusto omaan aiheeseen

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

7 harjoitustehtävää. Jokaisesta harjoitustehtävästä on mahdollista saada 10 pistettä. Yhteensä maksimissaan 70 pistettä.

Käytännön harjoitustyö ryhmässä. Maksimipistemäärä 30.

Arvosteluskaala:

Min. pisteet -> Arvosana

0 -> 0
30 -> 1
45 -> 2
60 -> 3
75 -> 4
90 -> 5

Demoissa on oltava läsnä. Perusteeton demopoissaolo johtaan 25 prosentin pistevähennykseen demottavien tehtävien osalta.

Ei tenttiä.

Ilmoittautumisaika

30.11.2022 - 19.01.2023

Ajoitus

10.01.2023 - 28.04.2023

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
Paikat

20 - 35

Koulutus
  • Tietojenkäsittelyn koulutus
Opettaja
  • Golnaz Sahebi
Ryhmät
  • PTIETS21swis
    PTIETS21 Ohjelmistojen kehittäminen ja Tietojärjestelmät

Tavoitteet

Opintojakson suoritettuaan opiskelija:
tuntee palvelinpuolen ohjelmoinnin keskeiset teknologiat ja ratkaisut.
osaa ohjelmoida www-sovellusten palvelinpuolen logiikan ja tiedon tallentamiseen liittyvät ratkaisut jollakin keskeisellä skriptauskielellä.
ymmärtää www-sovellusten ohjelmistoarkkitehtuuriaosaa hyödyntää sisällönhallintaohjelmistoa tai sovelluskehystä www-sovelluksen kehittämisessä.
osaa käyttää tehokkaita kehitystyökaluja.

Sisältö

Palvelinpuolen skriptauskielen opetteleminen.
www-sovellusten ohjelmistoarkkitehtuurin perusteet.
Sovelluksen integroiminen tietokantaan.
Sisällönhallintajärjestelmän tai sovelluskehyksen hyödyntäminen.
Kehitystyökalujen käyttäminenpienimuotoisen www-sovelluksen kehittäminen.

Oppimateriaalit

* Kurssikirja:
Get Programming with Node.js
Jon Wexler
Manning Publications
1 edition (March 15, 2019)

* Kirjan pituus 480 sivua, lukualue 300 sivua

* Kirjaa ei ole valitettavasti saatavissa oppilaitoksemme sähköisen kirjaston kautta

Opetusmenetelmät

Ohjelmointia yksin ja yhdessä
Vuorovaikutus opettajan ja kanssaopiskelijoiden kanssa
Kirjan lukeminen
Harjoitustyö

Opiskelijan ajankäyttö ja kuormitus

Harjoitustyö: dynaamisen ja autentikoinnin edellyttävän www-sivustojen suunnittelu ja toteutus (40 h)
Harjoistustehtävien tekeminen ja kirjan lukemista (50 h)
Kontaktiluennot (32-34 h)
Ympäristön luonti yms. (10-15 h)

Sisällön jaksotus

Kontaktiluentoja 14 tai 15. Kymmenen harjoittustehtävää. Harjoitustyö ryhmässä. Ei tenttiä.

* Harjoitustehtävät tehdään opiskelijakohtaisesti pääosin luentojen ulkopuolella.

* Ryhmätyö tehdään luentojen ulkopuolella.

* Suunniteltu enetemisjärjestys kurssikirjan mukaan

1: Chapters 0-2 of the Course Start Theory and Development Environment Creation Book
2: Modules and a simple web server - chapters 3-4 of the book
3. Chapters 5 and 6 of the Request Processing and Routing Book
4: Chapters 8 and 9 of the Express and MVC book
5: Outlook and Error Handling - Chapters 10 and 11
6: MongoDB Database Connection and Mongoose Schemas and Templates - Chapters 13 and 14 of the book
7: Controllers and Models - Chapter 16 of the book
8: Working with Data Models - Chapters 17 and 18 of the book
9: Working with Data Models - Chapters 19 and 21
10: Sessions and User Authentication - Book Chapters 22-24

* Lisäksi tilaisuudet ryhmätöiden esittämiseen ja niistä käytävään keskusteluun

* Sisältöön voi tulla muutoksia kurssin etedessä

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

The course is graded on a scale of 0-5.
*
In order to receive an approved performance, the student must receive an acceptable mark for both 1) personal practice tasks and 2) group work.
*
You can get a maximum of 10 points for each practice task. You can therefore get a maximum of 100 points for all practice tasks.

Personal practice tasks: 20 points -> grade 0.5; 30 -> 1; 45 -> 1.5; 60 -> 2; 75 - 2.5; 90 -> 3.
Participation in group work: 0.0 - 2.0.
*
(In both cases, 0.5 is the first accepted grade)
in