đź‘‹ Tervetuloa kurssille!
Tervetuloa kurssille Ohjelmointi 2, SOF001AS3A!
Tällä kurssilla syvennämme ohjelmointiosaamistamme ja sovellamme aiemmin oppimianne ohjelmointitaitoja mm. tietokantojen parissa. Syvennymme kielen syntaksin ja tarvittavien kirjastojen lisäksi myös yksikkötestaukseen, automaatiotyökaluihin sekä versionhallintaan.
Tällä sivulla:
- âś… Osallistumisen vahvistaminen
- 📥 Palautettavat tehtävät
- đź“Š Arviointi
- ⏱️ Kurssin työmäärä
- 📑 Lähteiden käyttäminen
- 🧠Esitietovaatimukset
- ⚖️ Lisenssit ja tekijänoikeudet
âś… Osallistumisen vahvistaminen
Kurssin osallistumisen vahvistaminen edellyttää ensimmäisen viikon tehtävien palauttamista määräaikaan mennessä. Ensimmäiset tehtävät ovat luonteeltaan aikaisempaa osaamista kertaavia ja tehtäviin on saatavissa vinkkejä sekä tukea kurssin keskustelukanavalla.
“Opiskelija vahvistaa paikkansa opintojaksototeutuksella olemalla läsnä opetuksen alkaessa tai muutoin opettajan ilmoittamalla tavalla, joka voi esimerkiksi olla ensimmäisen oppimistehtävän palautus.”
Tämän käytännön ei ole tarkoitus estää ketään opiskelemasta tai suorittamasta kurssia, vaan sen on tarkoitus varmistaa, että kurssi lähtee kaikilla onnistuneesti käyntiin.
Kurssin keskeyttäminen ei ole Haaga-Helian linjauksia noudattaen mahdollista enää osallistumisen vahvistamisen jälkeen:
“Opettaja poistaa opetuksen alussa toteutukselta opiskelijat, jotka eivät osallistu ensimmäiseen opetuskertaan tai ilmoita poissaolostaan. Opiskelijoita ei enää myöhemmin poisteta toteutukselta, vaan kaikille annetaan arvosana hylätty-kiitettävä.”
https://mynet.haaga-helia.fi/group/pakki/toteutukselle-ilmoittautuminen
📥 Palautettavat tehtävät
Kurssilla on viikoittaisia tehtäviä, jotka tulee palauttaa annettuihin määräaikoihin mennessä. Toteutuksesta riippuen palautus tehdään joko GitHubiin, Teamsiin tai Moodleen. Tarkemmat ohjeet ja aikataulut löytyvät oman toteutuksesi ohjeista.
Apua tehtävien tekoon on saatavissa kurssin keskustelukanavalla niin opettajalta kuin muiltakin opiskelijoilta.
Kaikki kurssin GitHub:iin, Moodleen ja MS Teams -ryhmään lähetetyt tehtäväpalautukset poistetaan vaaditun säilytysajan päätyttyä. Jos haluat säilyttää tehtäviesi ratkaisut pidempään, säilytäthän niistä kopiot omilla laitteillasi. Voit myös tehdä omista GitHub-repositorioistasi kopiot omalle käyttäjätunnuksellesi GitHubissa.
đź“Š Arviointi
Kurssi arvioidaan asteikolla 0-5. Kurssin loppuarvosana lasketaan kurssin tehtävien keskiarvosta tehtäväkohtaiset painotukset huomioiden, ja tulos pyöristetään lähimpään kokonaiseen arvosanaan.
⏱️ Kurssin työmäärä
Opintojakso kestää 8 viikkoa ja on laajuudeltaan 5 opintopistettä, joten sen laskennallinen työmäärä on noin 135 tuntia. Työmäärä vastaa laskennallisesti noin 17 tuntia viikossa, joten varaa kurssin suorittamiseen runsaasti aikaa joka viikko:
public class KurssinTyomaara {
public static void main(String[] args) {
int kestoViikkoina = 8;
int opintopisteita = 5;
int tyomaaraPerPiste = 27;
int kokonaistyomaara = opintopisteita * tyomaaraPerPiste;
System.out.println(kokonaistyomaara); // 135 tuntia
double tyomaaraPerViikko = 1.0 * kokonaistyomaara / kestoViikkoina;
System.out.println(tyomaaraPerViikko); // 16.875 tuntia per viikko
}
}
📑 Lähteiden käyttäminen
Tämän kurssin materiaali perustuu suurelta osin valmiisiin netistä löytyviin dokumentaatioihin ja tutoriaaleihin. Tällä sivulla eri aihealueiden yhteydessä tarjotaan linkkejä aihetta koskeviin materiaaleihin, mutta joudut sen lisäksi merkittävissä määrin etsimään itse tietoa aiheista.
Ohjelmointiongelmiin löytyy usein valmiita tai osittaisia ratkaisuja ympäri Internetiä niin keskustelupalstoilta kuin tutoriaaleista. Huonossa tapauksessa löydät toimivan ratkaisun ongelmaasi, mutta et osaa aivan tulkita mitä löytämäsi koodi tekee ja miksi se ratkaisee ongelmasi. Ammattimaisessa ohjelmistokehityksessä tästä seuraa mahdollisesti suuriakin vahinkoja.
Nettilähteiden hyödyntäminen ja niistä mallin ottaminen on sallittua ja kannustettavaa, mutta et saa vain kopioida ratkaisuja, vaan sinun tulee ymmärtää, miten koodisi toimii. Lisäksi, erityisesti koska kyseessä on korkeakoulun opintojakso, sinun tulee merkitä lähteet lainatessasi esimerkiksi StackOverflow:sta löytämääsi koodia. Lähdeviitteeksi riittää esimerkiksi verkkosivun osoite Java-kommenttina lainatun koodin yhteydessä, tai käyttämäsi lähteen käyttöehtojen mukainen muu lähdeviite.
🧠Esitietovaatimukset
“Opiskelija on suorittanut opintojakson Ohjelmointi 1 (SOF005AS2A/SWD4TN032) tai hänellä on vastaavat tiedot ja taidot. Opiskelija suorittaa samanaikaisesti opintojakson Tietokannat ja tiedonhallinta (SOF001AS2A/ SWD1TN003) tai hänellä on vastaavat tiedot ja taidot.”
Mikäli sinulla ei ole sujuvaa osaamista Ohjelmointi 1 -opintojaksolta, vaatii tämä kurssi erityisen paljon työtä ja omaa panostusta.
Mikäli SQL-osaamisessasi on puutteita, suosittelen perehtymään netistä vapaasti löytyviin lähteisiin sekä tutoriaaleihin, kuten sqlzoo.net.
Â
⚖️ Lisenssit ja tekijänoikeudet
Tällä kurssilla hyödynnetään avoimilla lisensseillä julkaistuja oppimateriaaleja, dataa ja ohjelmakoodia.
Helsingin yliopiston oppimateriaalit
Kurssin oppimateriaalissa ja tehtävissä hyödynnetään laajasti Helsingin yliopiston Agile Education Research –tutkimusryhmän oppimateriaaleja, jotka on lisensoitu Creative Commons BY-NC-SA 4.0 -lisenssillä.
DayOfYear-esimerkkiluokka (Smelly Example #1)
Yksikkötestauksessa käytettävä DayOfYear-esimerkkiluokka on lainattu MIT:n Software Construction -kurssin oppimateriaaleista. Sen tekijät ja lisenssi ovat:
Collaboratively authored with contributions from: Saman Amarasinghe, Adam Chlipala, Srini Devadas, Michael Ernst, Max Goldman, John Guttag, Daniel Jackson, Rob Miller, Martin Rinard, and Armando Solar-Lezama.
Licensed under CC BY-SA 4.0.
Nimiaineiston lisenssi (etunimet.csv)
Kurssin Viope-tehtävässä ja esimerkeissä hyödynnetään Digi- ja väestötietoviraston julkaisemaa tietoaineistoa Väestötietojärjestelmän suomalaisten nimiaineistot, joka on julkaistu lisenssillä Creative Commons Attribution 4.0 International License.
Postinumeroaineiston tekijänoikeudet
Postinumerot-projektipohjassa hyödynnettävä postinumeroaineisto muodostettu https://github.com/theikkila/postinumerot-projektin JSON-tiedostosta.
Datan tekijänoikeudet kuuluvat Postille ja niitä käytetään Postin käyttöehtojen mukaisesti.
SQLite-tietokanta-ajuri
Tietokanta-ajuri sqlite-jdbc-*.jar
noudattaa lisenssiä Apache License version 2.0. Lisätiedot: https://xerial.org/software/
Chinook-tietokanta
Chinook-tietokannan on luonut Luis Rocha ja se on lisensoitu avoimena lähdekoodina MIT-lisenssillä.
Just the Docs -teema
Sivuston sivupohjana käytetään Just the Docs -nimistä teemaa, joka on lisensoitu MIT-lisenssillä.
Tämän oppimateriaalin lisenssi
Tämän oppimateriaalin on kehittänyt Teemu Havulinna ja se on lisensoitu Creative Commons BY-NC-SA -lisenssillä.
Sivuston lähdekoodit löydät osoitteesta https://github.com/ohjelmointi2/ohjelmointi2.github.io.