Opiskelijoita kahvip�yd�ss�.





ETC20S Savonia Code Academy -korkeakouludiplomi

Opetussuunnitelman vastuuhenkilö: Kimmo Myllymäki

Koulutuksen lähtökohdat

Ohjelmisto-osaamista tarvitaan nykyään alasta riippumatta ja koodareista on tällä hetkellä huutava pula. Koulutus on Pohjois-Savon yritysten ja Savonia-amk:n yhteistyössä suunnittelema. Koulutuksen sisältö keskittyy niihin tekniikoihin, joiden osaamiselle on tällä hetkellä eniten tarvetta työelämässä. Koulutukseen voivat hakea kaikki IT-alasta kiinnostuneet aiemmasta pohjakoulutuksesta riippumatta. Menestyäkseen opinnoissa riittää innostus alaa kohtaan sekä halu ja kyky opiskella myös omatoimisesti. Tietotekninen harrastuneisuus edesauttaa opinnoissa.

Osaamistavoitteet

Koodarikoulun suorittaneilla on perusvalmiudet toimia ohjelmointitehtävissä nykyaikaisilla ohjelmointikielillä. He tuntevat nykyaikaisen sovelluskehityksen rakenteet ja toimintatavat sekä voivat työskennellä osana sovelluskehitystiimiä. Frontend, backend, db sekä versionhallinta, devops ja agile-menetelmät ovat heille tuttuja käsitteitä ja niitä osataan soveltaa oikealla tavalla. Tiimi- ja ryhmätyötaidot kehittyvät projektitöiden aikana.

Koulutuksen aikana suorittamasi opintojaksot ovat suoraan hyväksiluettavissa Savonia-amk:n tietotekniikan insinöörin opintoihin.

Opintojen rakenne

60 opintopisteen koodarikoulutuksen opetussuunnitelma koostuu 5 op:n opintojaksoista, jotka muodostavat Perusteet, Frontend ja Backend Development –moduulit.

Perusteet-moduuli on yleisen tason johdanto tuleviin syventäviin moduuleihin. Syventävissä Frontend- ja Backend-moduuleissa keskitytään moderneihin web-teknologioihin. Opetuksessa sovelletaan alalla ohjelmoijien yleisesti käyttämiä menetelmiä. Jokaisessa moduulissa on myös projektiosuus, joissa teoria ja käytäntö yhdistyvät. Projekteihin sisältyy mm. projektityökalut, jatkuva integrointi, mallinnus, versionhallinta ja testaus sekä viestintää ja englantia.

Asiantuntijuuden kehittyminen

Koodarikoulutus antaa perusvalmiudet toimia koodarin tehtävissä erilaisissa yrityksissä ja toimintaympäristöissä.

Koulutuksen opetussuunnitelma on laadittu niin, että
- koulutus tuottaa työelämässä vaadittavaa osaamista
- koulutus varmistaa opiskelijan asiantuntijuuden kehittymisen.

Savonian opettajat ja muu henkilöstö ohjaavat ja tukevat henkilökohtaisten tavoitteiden määrittelemisessä ja saavuttamisessa.

Koulutuksen toteutus

Opinnot toteutetaan monimuoto-opetuksena, jossa lähiopetus ja ohjattu työskentely, yksilö- ja ryhmätehtävät sekä itsenäinen ja verkkoympäristössä opiskelu muodostavat kokonaisuuden. Opiskelu vaatii tavoitteellista otetta, se on lähes täyspäiväistä työskentelyä ja edellyttää sitoutumista lähiopetuksen aikatauluihin. Opiskelussa painottuu tekemällä oppiminen ja koulutuksen aikana koodataan paljon. Osa tehtävistä aloitetaan lähituntien aikana, mutta niitä täytyy tehdä myös omalla ajalla. Tämä kannattaa huomioida suunnitellessasi ajankäyttöä. Opinnoissa hyödynnetään monipuolisesti sähköisiä aineistoja, palveluja ja oppimisympäristöjä, joten opiskelua aloittavalla on oltava oma kannettava tietokone.

Lähiopetusta on arki-iltaisin sekä lisäksi noin joka toinen lauantai. Lisäksi etäopetusta ja -tukea on tarjolla vähintään kerran viikossa. Opiskelija työskentelee lähiopetustuntien lisäksi noin 10 - 20 tuntia viikossa opiskellen opintojaksojen asioita ja oppimista edistäviä tehtäviä tehden.


Opintojaksotaulukko

Koodi Nimi 1 S 1 K 2 S 2 K 3 S 3 K 4 S 4 K
 
Perusopinnot
Perusteet-moduuli
4 ETC9100 Ohjelmoinnin perusteet 5              
4 ETC0110 Olio-ohjelmointi 5              
4 ETC0200 Tiedonhallinta ja SQL 5              
4 ETC0130 Projekti 1 5              
 
Ammattiopinnot
Frontend development -moduuli
4 ETC9120 Web-ohjelmointi   5            
4 ETC9130 Web-käyttöliittymäkirjastot   5            
4 ETC9160 Node.js   5            
4 ETC0140 Projekti 2   5            
Backend development -moduuli
4 ETC0150 Java palvelinohjelmointi     5          
4 ETC9140 Asp.Net Core web-sovelluskehitys     5          
4 ETC9180 Pilvipalvelut ohjelmoijille     5          
4 ETC0170 Projekti 3     5          

Opintojaksokuvaukset

4 ETC9100 Ohjelmoinnin perusteet

Laajuus
5 op
Osaamistavoitteet
Osaat yleiset ohjelmointirakenteet sekä toteuttaa yksinkertaisen sovelluksen valitulla ohjelmointikielellä. Osaat jakaa sovelluksen osiin käyttäen funktioita. Osaat lukea syötteitä konsolikäyttöliittymästä ja tehdä syötteelle tarvittavia tarkistuksia. Osaat tallentaa tietoja yksinkertaiseen tekstitiedostoon ja myös lukea tiedot sieltä. Ymmärrät poikkeuskäsittelyn merkityksen ohjelmoinnissa ja toteuttaa sen ohjelmassa.
Keskeiset sisällöt
Ohjelmoinnin perusteet valitulla kielellä. Muuttujat, ohjausrakenteet, funktiot, tiedostot, tietueet, poikkeukset.
Suoritustavat
Tentti
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Pääkkönen Mikko, Koistinen Jussi


4 ETC0110 Olio-ohjelmointi

Laajuus
5 op
Osaamistavoitteet
Osaat yleiset olio-ohjelmoinnin periaatteet ja toteuttaa useita satoja rivejä sisältävän oliopohjaisen sovelluksen. Osaat toteuttaa luokkia ja olioita sekä käyttää niitä sovelluksessa. Ymmärrät periytymisen ja osaat toteuttaa sellaisen sovelluksessa. Osaat rajapinnat ja abstraktit luokat. Ymmärrät säikeistyksen tekniikat ja osaat toteuttaa säikeistetyn sovelluksen. Osaat rakentaa windows-tyyppisen käyttöliittymän ja ymmärrät tapahtumapohjaisen ohjelmoinnin periaatteet.
Keskeiset sisällöt
Luokat, monimuotoisuus, perintä, rajapinnat, säikeet, käyttöliittymät, tapahtumapohjainen ohjelmointi
Suoritustavat
Viikkotehtävät ja harjoitustyö
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Edeltävät opinnot
Ohjelmoinnin perusteet tai vastaavan tietomäärä
Yhteyshenkilö
Kinnunen Jukka


4 ETC0200 Tiedonhallinta ja SQL

Laajuus
5 op
Osaamistavoitteet
Opiskelija: ymmärtää relaatiotietokantojen perusteet ja mekanismit. ymmärtää tietokannanhallintajärjestelmien käyttöalueet osaa mallintaa ja toteuttaa tietokantoja osaa käyttää tietokannanhallintajärjestelmiä osaa hyödyntää tietokantoja osana informaatiojärjestelmiä
Keskeiset sisällöt
tiedonhallinnan käsitteet relaatiokantojen suunnittelu käsiteanalyysi ja käsitekaaviot tietomallit SQL-kielen perusteet tietokannanhallintajärjestelmä (esimerkiksi MariaDB) johdatus tietokantaan perustuvien tietojärjestelmien suunnitteluun
Suoritustavat
Henkilökohtaiset harjoitustehtävät/harjoitustyö.
Arviointiasteikko
0 - 5
Materiaali
Sähköinen materiaali julkistetaan Moodlessa kurssin alussa. Kirjallisuus: Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Hovi: SQL-opas
Yhteyshenkilö
Kuosmanen Keijo


4 ETC0130 Projekti 1

Laajuus
5 op
Osaamistavoitteet
Osaat määritellä ja toteuttaa asiakasvaatimukset täyttävän projektin. Osaat raportoida projektin etenemän ja kommunikoida asiakkaan kanssa. Osaat hyödyntää työkaluja, jotka auttavat projektin hallinnassa. Osaat käyttää versionhallintaa sekä ymmärrät devops:n periaatteen. Osaat kommunikoida ja synkronoida työtä projektin eri osa-alueiden kanssa.
Keskeiset sisällöt
Ketterät ja iteratiiviset sovelluskehitysmallit, versionhallinta, devops. Tietokanta sovelluksen talletuspaikkana.
Suoritustavat
Opintojaksossa tuotetaan projektimaisesti työpöytäsovellus hyödyntäen ensimmäisen lukukauden kursseissa opiskeltuja tekniikoita.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Edeltävät opinnot
Ohjelmointi 1, Olio-ohjelmointi, Tiedonhallinta ja SQL tai vastaavat tiedot
Yhteyshenkilö
Kuosmanen Keijo, Lahti Sami, Kinnunen Jukka


4 ETC9120 Web-ohjelmointi

Laajuus
5 op
Osaamistavoitteet
Osaat tuottaa selainpohjaisia käyttöliittymiä HTML-, JavaScript- ja CSS-kielillä. Osaat toteuttaa toiminnallisuuksia selainpohjaisten sovellusten asiakaspäähän (Javascript, DOM). Osaat soveltaa JavaScript-ohjelmointikieltä. Osaat tehdä JavaScript-pyynnön selainohjelmistosta palvelimelle. Osaat tehdä web-sovelluksen, joka käyttää hyväkseen esim. REST-rajapintaa. Ymmärrät HTTP-protokollan hyödyt ja rajoitteet. Ymmärrät selainkäyttöliittymiin liittyvät mahdollisuudet ja rajoitteet.
Keskeiset sisällöt
HTML5, CSS, JavaScript, Server-api:n hyödyntäminen (esim. REST-arkkitehtuurin mukaisesti).
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Koistinen Jussi, Pääkkönen Mikko


4 ETC9130 Web-käyttöliittymäkirjastot

Laajuus
5 op
Osaamistavoitteet
Osaat käyttää nykyaikaisia käyttöliittymäkirjastoja ja kehyksiä. Osaat toteuttaa toiminnallisuuksia selainpohjaisten sovellusten asiakaspäähän (Javascript, DOM). Tiedät yleisimmät tiedonsiirto- ja tallennusformaatit (JSON, XML) ja osaat soveltaa niitä tiedonsiirrossa.
Keskeiset sisällöt
HTML5, CSS, JavaScript, nykyaikaisten frontend-kirjastojen hyödyntäminen. Server-api:n hyödyntäminen (esim. REST-arkkitehtuurin mukaisesti).
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Koistinen Jussi, Pääkkönen Mikko


4 ETC9160 Node.js

Laajuus
5 op
Osaamistavoitteet
Osaat toteuttaa REST-rajapintoja käyttäen hyväksi node.js-kirjastoa. Osaat integroida tietokantakutsut node.js toteutukseen. Ymmärrät REST-arkkitehtuurin perustoiminnallisuuden. Osaat käyttää hyväksi sivumalleja (template engine). Osaat käyttää hyväksi erilaisia node.js paketteja. Osaat käyttää JSON-formaattia tiedonsiirtoon. Osaat toteuttaa asynkronisia kutsuja Javascript:n avulla.
Keskeiset sisällöt
Node.js, npm, tietokantarajapinta, REST-rajapinta, asynkroniset kutsut.
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Koistinen Jussi, Pääkkönen Mikko


4 ETC0140 Projekti 2

Laajuus
5 op
Osaamistavoitteet
Osaat määritellä ja toteuttaa asiakasvaatimukset täyttävän projektin. Osaa raportoida projektin etenemän ja kommunikoida asiakkaan kanssa. Osaat hyödyntää työkaluja, jotka auttavat projektin hallinnassa. Osaat kommunikoida ja synkronoida työtä projektin eri osa-alueiden kanssa.
Keskeiset sisällöt
Ketterät ja iteratiiviset sovelluskehitysmallit, versionhallinta, devops. Keskittyy asiakaspään toteuttamiseen.
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Edeltävät opinnot
Web-ohjelmointi. Web-käyttöliittymät. NodeJS
Yhteyshenkilö
Koistinen Jussi


4 ETC0150 Java palvelinohjelmointi

Laajuus
5 op
Osaamistavoitteet
Opintojakson suoritettuaan opiskelija osaa Java-ohjelmoinnin perusteet ja osaa suunnitella ja toteuttaa palvelinsovelluksen Java -ohjelmointikieltä ja Javan sovelluskehyksiä käyttäen. Opiskelija tietää valitun sovelluskehyksen tarjoamat mahdollisuudet.
Keskeiset sisällöt
Java-ohjelmointikielen perusteet ja joku Javan palvelinsovelluskehyksen käyttö
Suoritustavat
Verkkotehtävät Moodle-ympäristössä
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan kurssin alussa
Edeltävät opinnot
Ohjelmoinnin perusteet millä tahansa muulla kielellä olisi syytä osata. Kurssin asioiden ymmärtämiseksi olisi hyvä olla ymmärrystä siitä miten tieto liikkuu eri laitteiden välillä, jonkin verran ymmärrystä tietokannoista ja niiden käytöstä sovelluksissa.
Yhteyshenkilö
Berg Ville


4 ETC9140 Asp.Net Core web-sovelluskehitys

Laajuus
5 op
Osaamistavoitteet
Osaat toteuttaa web-sovelluksen modernissa ja alustariippumattomassa kehyksessä. Osaat hallita web-sovelluksen tilaa, tunnistaa ja valtuuttaa käyttäjän sekä kommunikoida tietokannan kanssa. Ymmärrät miten HTML, CSS ja JavaScript yhdistyvät web-sovellukseen ja osaat soveltaa JavaScript-ohjelmointikieltä web-sovelluksen käyttöliittymässä. Osaat toteuttaa monikerroksisen tietokantaa hyödyntävän web-sovelluksen (data, palvelin, UI/UX).
Keskeiset sisällöt
Moderni alustariippumaton web-sovelluskehys, Model-View-Controller -malli, reititys (routing), tilanhallinta (session), tunnistaminen (authentication) ja valtuutus (authorization), tietokantakommunikaatio web-sovelluksesta. Uudelleen käytettävät komponentit.
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Pääkkönen Mikko, Koistinen Jussi


4 ETC9180 Pilvipalvelut ohjelmoijille

Laajuus
5 op
Osaamistavoitteet
Ymmärrät pilvipalvelujen merkityksen ja osaat hyödyntää pilvipalveluita sovellusalustana. Ymmärrät sovelluksen julkaisemisen mahdollisuudet ja rajoitteet pilvipalvelussa ja paikallisessa (on-premise) ympäristössä. Osaat tuottaa serverless-palveluita sekä ymmärrät niiden käyttötarkoituksen. Osaat suunnitella palvelukokonaisuuden ja ymmärrät sen kustannukset. Ymmärrät mitä konttitekniikka (containers) tarkoittaa ja tarjoaa.
Keskeiset sisällöt
Pilvipalvelut ja sovellusten julkaisu. Serverless-funktiot. Kustannusten hallinta pilvipalveluissa. Konttitekniikan perusteet.
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Pääkkönen Mikko, Koistinen Jussi


4 ETC0170 Projekti 3

Laajuus
5 op
Osaamistavoitteet
Osaat määritellä ja toteuttaa asiakasvaatimukset täyttävän projektin. Osaa raportoida projektin etenemän ja kommunikoida asiakkaan kanssa. Osaat hyödyntää työkaluja, jotka auttavat projektin hallinnassa. Osaat käyttää versionhallintaa sekä hyödyntää devops:n mahdollisuudet. Osaat kommunikoida ja synkronoida työtä projektin eri osa-alueiden kanssa.
Keskeiset sisällöt
Ketterät ja iteratiiviset sovelluskehitysmallit, versionhallinta, devops. Keskittyy taustajärjestelmän toteuttamiseen ja sovelluksen julkaisuun pilvipalvelussa.
Suoritustavat
Harjoitustyö/-tehtävät.
Arviointiasteikko
0 - 5
Materiaali
Ilmoitetaan opintojakson alkaessa oppimisympäristössä.
Yhteyshenkilö
Pääkkönen Mikko


Pidätämme oikeuden opetussuunnitelmien muutoksiin mm. opiskeltavien sisältöjen päivitystarpeiden takia.