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
-
PTIVIS23WOhjelmistojen kehittäminen ja Tietojärjestelmät
-
PTIETS23swisOhjelmistojen 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
-
PTIETS22swisPTIETS22 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
-
PTIETS21swisPTIETS21 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