Luku 1.1: Kurssin esittely
Johdanto
Tervetuloa Ohjelmointi 1 -kurssille!
Tässä kurssimateriaalissa, jonka ensimmäistä lukua nyt luet, yhdistyvät oppikirjaa vastaava lukemisto ja harjoitustehtävät. Materiaali sijaitsee oppimisympäristössä nimeltä A+.
Tervetuloa Ohjelmointi 1 -kurssille!
Tässä kurssimateriaalissa, jonka ensimmäistä lukua nyt luet, yhdistyvät oppikirjaa vastaava lukemisto ja harjoitustehtävät.
Kurssimme verkossa tarjoama aineisto on sen verran monimuotoista, ettei sitä saa hyvin esille MyCourses-sivustolle. Aineistomme sijaitsee siis tässä oppimisympäristössä nimeltä A+.
Aallon byrokratia vaatii, että ilmoittaudut kursseille Sisu-vitkuttimessa, joten teepä sekin. Mutta kurssimme kannalta keskeisintä on, että ilmoittaudut etusivullamme A+:ssa.
Kurssin tavoitteet
Laveasti sanottuna kurssin tavoitteet ovat seuraavat.
Kurssin jälkeen toivottavasti
olet tullut tulokseen, ettei ohjelmointi ole ihan typerää touhua, ja
osaatkin ohjelmointia ainakin jonkin verran.
Jotta näiden tavoitteiden ymmärtäminen olisi mahdollista, poiketaan hetkeksi itse aiheeseen ja palataan sitten kurssijärjestelyihin.
Ohjelmointi on tietokoneohjelmien laatimista, mutta mitä ovat ohjelmat? Ja mikä lasketaan tietokoneeksi?
Ohjelmat tietokoneissa
Erilaisia laitteita
Tietoteknisiä laitteita ovat esimerkiksi:
Yleiskäyttöiset tietokoneet (general-purpose computer) kuten pöytätietokoneet ja läppärit. Tällaista tietokonetta voi käyttää erilaisiin tarkoituksiin.
Sulautetut järjestelmät (embedded system) eli laitteet, joilla on yksi tai muutama tarkoitus ja joissa on sisäänrakennettu tietokone. Sulautettuja järjestelmiä ovat esimerkiksi kulkuneuvot, pankkiautomaatit, pesukoneet, tulostimet, robotit ja monet lelut.
Molemmanlaisissa laitteissa tietokone suorittaa ohjelmia (program). Ohjelmat ohjaavat laitetta toimimaan halutulla tavalla. Tällä kurssilla keskitymme yleiskäyttöisiin tietokoneisiin, mutta samat pääperiaatteet toimivat myös sulautetuissa järjestelmissä.
Entä kännykät?
Ovatko matkapuhelimet yleiskäyttöisiä tietokoneita vai sulautettuja järjestelmiä? Millä perusteella? Mieti itse ja selvitä halutessasi internetistä, mitä asiasta on sanottu.
(Kurssimateriaalin harmaareunuksisissa laatikoissa, kuten tässä, on lisämateriaalia, jonka ohittaminen ei haittaa kurssisuoritusta. Esimerkiksi äskeinen on täysin vapaaehtoinen harjoitus, josta ei saa pisteitä mutta josta voi oppia jotain.)
Erilaisia ohjelmia
Useimmille tuttu ohjelmatyyppi on sovellusohjelma eli sovellus (application; varsinkin mobiililaitteiden yhteydessä nykyään usein suomeksikin "applikaatio"). Sovellus tarjoaa käyttäjälleen tiettyyn aihepiiriin liittyviä toimintoja. Tekstinkäsittelyohjelma, tietokonepeli ja verkkoselain ovat esimerkkejä sovelluksista.
Sovellusten ohella muita ohjelmatyyppejä ovat
ohjelmakirjasto (software library) eli valikoima yleiskäyttöisiä osaohjelmia, jotka auttavat erilaisten ohjelmien toteutuksessa,
ajuriohjelma (driver), joka ohjaa tietyn oheislaitteen käyttöä,
käyttöjärjestelmä (operating system) kuten Windows, Linux tai macOS, joka hallinnoi laitteistoresursseja ja tarjoaa loppukäyttäjälle mahdollisuuden käynnistää haluamiaan sovelluksia.
Tällä kurssilla keskitymme sovellusohjelmiin: harjoitustehtävissämme esiintyvät esimerkiksi seikkailupeli, kokemuspäiväkirja ja kaupunkilaisten muuttokäyttäytymistä simuloiva ohjelma. Sovellusten laatimisessa käytämme apuna valmiiksi laadittuja ohjelmakirjastoja. Ajuriohjelmia ja käyttöjärjestelmiä emme suoranaisesti käsittele, mutta kurssilla opitut yleiset ohjelmointikäsitteet ovat sovellettavissa niissäkin yhteyksissä.
Ohjelmien ja ohjelmoinnin luonteeseen palaamme materiaalin seuraavassa luvussa 1.2. Jatketaan nyt kurssiesittelyä.
Kurssin tavoitteet uudestaan
Kurssin tavoitteena on siis, että oppisit laatimaan ja muokkaamaan pienehköjä sovellusohjelmia kuten pelejä tai kirjanpito-ohjelmia. Lisäksi toivomme, että huomaat, että moinen voi olla sekä hauskaa että hyödyllistä!
Kuten kurssin nimestäkin huomaa, ei tämä ensimmäinen ohjelmointikurssi yksinään tee kenestäkään mestaria, vaikka konkreettisia taitoja jo saavutetaankin. Tämä kurssi on tarkoitettu ensimmäiseksi osaksi ohjelmoinnin perusopintoja.
Esitiedot
Kurssi ei edellytä esitietoja ohjelmoinnista.
Tietokoneen käytön ja Aallon tietojärjestelmien perusteet pitää osata: webin selaaminen, sähköposti, "Mikä on tiedosto?", "Mikä on kansio/hakemisto?" jne.
Tietokoneen käytön perusteet pitää osata: webin selaaminen, sähköposti ja oman työympäristön perusasiat, oli ympäristönä sitten Linux, Windows tai macOS.
Vaikka kurssin ensisijainen opetuskieli on suomi, niin jonkinmoinen englannin kielen taito tulee tarpeeseen. Moniin esimerkkeihin ja tehtäviin liittyy englanninkielisiä dokumentteja. Tämä heijastaa sitä, että ohjelmointi on kansainvälinen ala ja monet aiheeseen liittyvät sivustot ja työkalut ovat englanniksi. Yritysten ohjelmointiprojekteissa myös usein käytetään englantia.
Yksinkertaisesta koulutason matematiikasta on apua yksittäisissä kohdissa kurssia, mutta vaatimukset eivät tältä osin ole suuret.
Osasuoritukset
Kurssiin kuuluu kolme osasuoritusta, joista kaksi ensimmäistä kytkeytyvät yhteen:
Harjoitustehtävät ovat kurssin ylivoimaisesti tärkein osa. Tehtävistä saa arvosanan 0–5, joka on samalla myös arvosanasi koko kurssista. Kurssin läpäiseminen edellyttää hyväksyttyä arvosanaa harjoitustehtävistä eli vähintään ykköstä.
Tämän oppimateriaalin luvuista kerätään lukukohtaista palautetta eli ajankäyttöarvio sekä askarruttamaan jääneitä kysymyksiä, mielipiteitä yms. Tämä on pakollinen osa kurssia!
Lopuksi pitää täyttää kurssipalautekysely, jossa arvioidaan kurssia kokonaisuutena ja joka julkaistaan oppimateriaalin lukuna numero 13.1. Myös kurssipalautekysely on pakollinen.
Alla on kerrottu lisää harjoitustehtävistä ja lukukohtaisesta palautteesta. Kurssipalautekyselystä muistutetaan vielä erikseen aikanaan.
Kurssilla ei ole tenttiä.
Oppimateriaali ja harjoitustehtävät
Tehtävineen ja liitteineen materiaali kattaa koko kurssisisällön. Kurssilla ei ole muuta oppikirjaa. Joitakin kirjaehdotuksia on erillisellä Kirjoja ja linkkejä -sivulla.
Harjoitustehtävät on upotettu tähän oppimateriaaliin. Tulet tehneeksi ne samalla kun perehdyt oppimateriaalin lukuihin.
Kurssisisältö jakautuu kierroksiin ja tasoihin, mistä lisää seuraavaksi.
Kierrokset
Tehtävät jakautuvat ajallisesti kierroksiin 1–12; kierroksella 13 on vain kurssipalautekysely eikä varsinaisia tehtäviä. Jokaisella kierroksella on määräaika, deadline, johon mennessä kierroksen suoritukset on palautettava.
Ensimmäisen kierroksen deadline on ke 11.9.2024 klo 18:00. Seuraavien kierrosten määräajat ovat yleensä viikon välein edellisestä. (Kuitenkaan keskiviikkona 20.11.2024 ei sulkeudu mitään kierrosta, vaan silloin sopii työstää isompaa tehtäväkierrosta pidempään.)
Kierrokset 1–12 avataan heti kurssin alussa. Kierroksen 13 kurssipalautekysely avataan 12. kierroksen sulkeuduttua joulukuussa.
Deadline
Ensimmäinen kalmanlinja on jo 11.9.2024. Jo ensimmäisen kierroksen tehtäviin menee kyllä aikaa. Kannattaa varata noin tusinan verran tunteja kierroksen läpikäymiseen, mieluummin varmuuden vuoksi ylikin!
Lukujen aika-arvioista
Kaikki luvut eivät ole keskenään saman mittaisia. Joissakin luvuissa on työläämpiä ohjelmointitehtäviä kuin toisissa.
Kunkin luvun alussa on arvio siitä, paljonko aikaa luvun parissa saattaa kulua. Vaikka nuo arviot perustuvat (aloittelevilta) ohjelmoijilta aiempina vuosina kerättyyn dataan, ne ovat vain suuntaa antavia. Silti niistä saa käsityksen siitä, mitkä kierroksen luvuista ovat työläimpiä, mikä voi auttaa suunnittelemaan oma aikataulua.
Ykköskierroksen osalta kannattaa huomata, että kahdeksasta luvusta kaksi viimeistä — 1.7 ja 1.8 — ovat työläämpiä kuin ensimmäiset kuusi.
Huomaa tenttiviikko
Kuudennen kierroksen määräaika on syksyn puolessa välissä tenttiviikolla. Jos sinulla on siinä paikkeilla muiden kurssien tenttejä, suunnittele aikataulusi erityisen huolellisesti etukäteen. O1:n aikataulu on sikäli joustava, että tehtäviä voi tehdä jo etuajassa. Kuudes kierros on työmäärältään vähän kevyempi kuin O1:n muut viikot, mutta kyllä siinäkin tekemistä piisaa.
Määräaika kesken tenttiviikon ei ole täydellinen ratkaisu, mutta näin lienee parempi kuin jos jakaisimme saman työmäärän vain muille syksyn viikoille. Päätöstä tehdessä on myös painotettu O1:n ensisijaisen kohderyhmän eli SCI-koulun fuksien työrytmiä; heillä ei ole tuossa pahaa tenttisumaa.
Pisteet ja tasot
Kunkin kurssimateriaalin luvun alusta löytyy merkintä sen pistearvosta: kirjain A, B tai C sekä luku, esim. "B50".
Kirjain kertoo mille tasolle tuon luvun tehtävät kuuluvat:
A-tason tehtävät opettavat ja arvioivat kurssin vähimmäistavoitteisiin liittyviä asioita ja ovat kaikille pakollisia.
B-tason tehtävät eivät ole pakollisia mutta ovat erittäin suositeltuja kaikille, jotka aikovat ottaa jatkokursseja.
C-tason tehtävät ovat vapaaehtoisia mutta hyödyllisiä ja tarkoitettu niille, jotka haluavat oppia mahdollisimman paljon. Monet niistä ovat myös oikein kivoja.
Tasokirjaimen perässä on enimmäispistemäärä, jonka kyseisestä luvusta yhteensä voi saada. Esimerkiksi tämän esittelyluvun alussa lukee "A5", joten sen lukemalla ja siihen liittyvään pieneen tehtävään oikein vastaamalla saa viisi A-tason pistettä. Tehtävä on tuolla alempana.
Työläämmistä tehtävistä saa yleensä enemmän pisteitä kuin vähemmän työläistä saman tason tehtävistä. Korkeampien tasojen tehtävät eroavat alempien tasojen tehtävistä aihepiireiltään, työmäärältään ja/tai vaikeusasteeltaan.
Materiaali sisältää myös lisätreenitehtäviä ja haastetehtäviä, jotka ovat täysin vapaaehtoisia. Ne ovat harmaareunaisissa lisämateriaalilaatikoissa. Näiden tehtävien suorittamisesta saa nimellisen yhden pisteen kustakin; se ei kuitenkaan ole A-, B- eikä C-piste eikä vaikuta kurssiarvosanaan.
Alla on kaavio tehtävien sijoittumisesta kierroksille. Kuten siitä huomaat, A-pisteitä on tarjolla vain alkupään kierroksilla ja C-pisteitä loppupäässä. Käytännössä kurssin pakollinen osa tulee suoritettua syyslukukauden ensimmäisinä kuukausina.
Tehtävien palauttaminen ja automaattinen arviointi
A+ arvioi palautuksesi lähes kaikkiin kurssin tehtäviin automaattisesti ja antaa välittömän palautteen. Monet tehtävistä ovat pisteytettyjä ohjelmointitehtäviä: saat pisteitä sen perusteella, toimiiko tehtävän ratkaisuksi laatimasi ohjelma tehtävänannon mukaisesti.
A+ tarkastaa pikkutarkasti, ja sinulta edellytetään huolellisuutta. Hyvänä puolena — jos tuo edellinen nyt oli huono — A+ on valmiina päivin öin, nopea ja tasapuolinen.
Pisteytetyillä tehtävillä on tietty enimmäismäärä palautusyrityksiä: tehtävästä riippuen jotakin kolmen ja kymmenen väliltä. Paras ennen määräaikaa tehty palautus jää voimaan.
Tehtävien esimerkkiratkaisut julkaistaan A+:ssa noin kaksi tuntia kunkin kierroksen sulkeutumisen jälkeen. Koska moniin tehtäviin ei ole yhtä ainoaa oikeaa ratkaisua, oman ratkaisun vertaaminen esimerkkiratkaisuihin on usein opettavaista, myös silloin kuin sait tehtävän ratkaistua.
Tämä ei ole vitsi
Varaudu tekemään töitä! Ajoissa!
Valtaosa harjoitustehtäväpisteistä tulee soveltavista tehtävistä, joissa laadit itse ohjelmia. Näihin tehtäviin menee huomattavan paljon aikaa. Älä jätä tehtäviä deadlinea edeltävään iltaan, tai aikataulun kanssa käy hyvinkin köpelösti. Silmäile tehtäväkierroksia etukäteen, laadi ajankäyttösuunnitelma ja aloita mahdollisimman aikaisin.
Tehtäväpisteiden vahvistaminen ja lukukohtainen palaute
Tämän sivun ja kaikkien muidenkin kurssimateriaalin lukujen lopuissa on palautelomake. Näihin lukukohtaisiin lomakkeisiin vastaaminen on pakollinen osa kurssia: tehtäväpisteet luvusta eivät tule voimaan ennen kuin olet vastannut lukukohtaiseen palautelomakkeeseen!
Homma toimii näin:
Luet luvun ja teet siihen liittyvät tehtävät. A+ arvioi vastauksesi ja ilmoittaa, paljonko pisteitä olet saamassa.
Täytät lukukohtaisen palautelomakkeen. Sinulta pyydetään palautteena ainakin arviota käyttämästäsi ajasta. Tällä on sama määräaika kuin kierroksella muutenkin!
Pistetilannesivusi A+:ssa osaa huomioida myös palautelomakkeet. Sivulta näkyy, jos jokin lukukohtainen palautelomake on täyttämättä.
Kysymykset ja palaute huomioidaan!
Toivottavasti kirjoitat sanallista palautetta mahdollisimman monesta luvusta. Palautteen ei tarvitse olla mielipide. Se voi olla myös kysymys kurssin sisällöstä, pohdinta omasta oppimisesta tai jotakin muuta.
Emme suinkaan heitä kysymyksiäsi ja kommenttejasi Mappi Ö:hön. Luemme ne kaikki ja käytämme niitä kurssin aikana sekä tulevien kurssiversioiden suunnittelussa.
Opettaja poimii yleisiä ja muuten kiinnostavia kysymyksiä (nimettöminä) viikkokoosteisiin, joita julkaistaan kurssimateriaalin yhteydessä jo tämän saman syksyn aikana.
Viikkokooste julkaistaan aina tehtäväkierroksen sulkeuduttua. Koosteissa vastataan opiskelijoiden lähettämiin kysymyksiin, selvennetään aiheita, joista on pyydetty lisäselvennystä, ja tarjotaan syventävää materiaalia. Teiltä kerätyt viestit vaikuttavat näihin kaikkiin.
Tehtäväpisteet ja arvosana
Kurssiarvosana (0–5) määräytyy tehtävien perusteella.
Tekemällä melkein kaikki A-tehtävät saat ykkösen.
Kakkonen ja kolmonen edellyttävät myös B-tehtävien tekemistä.
Tekemällä vielä lisäksi C-tehtäviä saat nelosen tai viitosen.
Sama tarkemmin taulukossa:
Arvosana |
Taso A |
Taso B |
Taso C |
Kuvaus |
---|---|---|---|---|
1 |
2000 |
— |
— |
Vähimmäistavoitteet saavutettu. |
2 |
2100 |
450 |
— |
|
3 |
2100 |
800 |
— |
Vastaa suunnilleen jatkokursseille riittävää osaamistasoa. |
4 |
2100 |
800 |
450 |
|
5 |
2100 |
800 |
625 |
Tätä enempää pisteitä ei tarvitse viitoseen. |
maksimi |
2200 |
900 |
725 |
Eli ihan jokaista pistettä joka tehtävästä ei tarvitse kerätä. |
Esimerkiksi saadaksesi kurssiarvosanan 4 sinun pitää siis tehdä:
vähintään 2100 pisteen edestä A-tason tehtäviä
sekä vähintään 800 pisteen edestä B-tason tehtäviä
sekä vähintään 450 pisteen edestä C-tason tehtäviä.
(Lisäksi pitää täyttää lukukohtaiset palautelomakkeet niistä luvuista, joista teit tehtäviä, ja kurssipalautekysely joulukuussa.)
Hieman mutkikastahan tuo on, mutta onneksi löydät ajantasaisen raportin osasuorituksistasi Omat pisteesi -sivulta.
Jos A-pisteitä puuttuu, voi niitä korvata "yksi yhteen" -tyyppisesti B- tai C-pisteillä. Jos B-pisteitä puuttuu, niitä voi korvata C-pisteillä. Omat pisteesi- sivu osaa näyttää tällaiset korvaamiset automaattisesti.
Parityöstä
Harjoitukset saa tehdä yksin tai pareittain.
Yksinkin on siis lupa tehdä, jos haluaa, mutta yhteistyössä pääsee kommunikoimaan parin kanssa ja joutuu jäsentämään ajatuksiaan paremmin. Yksi havaitsee virheitä, jotka toiselta jäivät huomaamatta. Sosiaalinen paine estää liian laiskottelun.
Suosittelemme parityötä, jos sinulla on siihen mahdollisuus. Yhteistyössä pääsee kommunikoimaan parin kanssa ja joutuu jäsentämään ajatuksiaan paremmin. Yksi havaitsee virheitä, jotka toiselta jäivät huomaamatta. Sosiaalinen paine estää liian laiskottelun.
Aiemman vuoden kurssilainen kommentoi:
Parityöskentely helpotti kurssin suorittamista huomattavasti. Parin kanssa erinäisiä asioita tuli pohdittua, ja omaa ratkaisua piti perustella, esim. miksi joku koodinpätkä toimii.
Parityöllä tarkoitamme siis materiaaliin perehtymistä ja tehtävien tekemistä yhdessä. Tehtävien tai kierrosten jakaminen osiin kaverin kanssa on kiellettyä.
Tehtävää palauttaessasi valitse, palautatko tehtävän yksin vai parin kanssa. Paria voi vaihtaa kurssin aikana mutta ei kesken yksittäisen tehtävän. Kun olet kerran palauttanut tietyn tehtävän joko yksin tai tietyn parin kanssa, niin mahdolliset myöhemmät korjauspalautukset samasta tehtävästä pitää tehdä samalla kokoonpanolla.
Materiaalin lukujen lopuista löytyvät palautekyselyt ovat henkilökohtaisia, eli niihin ei voi tehdä paripalautusta. Kurssin lopussa järjestettävä palautekysely on myös henkilökohtainen.
Kannattaa etsiä työpari heti kurssin alussa. Voit käyttää apuna kurssin sähköisiä keskustelufoorumeita, joista lisää ihan kohta tällä sivulla. Aiemmalta osaamistasoltaan sinua vastaava pari lienee paras vaihtoehto.
Pohtikaa ja keskustelkaa. Laatikaa ohjelmia yhdessä päättämällänne tavalla; kumpikin vuorollaan voi toimia kirjurina. Molempien työparin jäsenten on oltava perillä kaikista parin tuottamista ratkaisuista.
Moni on kurssin yksinkin suorittanut, joten ei parityö ehdoton edellytys onnistumiselle ole.
Myös isommalla porukalla opiskelu ja ajatustenvaihto on sallittua, kunhan kukin pari tai opiskelija tuottaa omat ratkaisunsa. Esi-isäsikin kertoo:
Sitä yhteisön fiilistä, kun kaikki istuu 6h pöydän ympärillä samaa tehtävää tekemässä. Ryhmässä kyllä oppii parhaiten!
Jos säpsähdit mainintaa kuuden tunnin tehtävästä, niin voit lohduttautua sillä, että sellaisia on luvassa vasta myöhemmin. Pienemmistä lähdetään liikkeelle. Yhteistyössä on silti voimaa.
Itsestäänselvyyksiä
Harjoitustehtävien ratkaisujen tai niiden merkittävien osien kopiointi toisilta opiskelijoilta tai muualta ei ole sallittua. Samoin kiellettyä on pisteiden hankkiminen yrittämällä harhauttaa automaattista tarkastusjärjestelmää.
Kopioimisella ja muilla väärinkäytöksillä on seuraamuksia Aallon säädösten mukaisesti. Opiskelijoiden kirjoittamia ohjelmia tutkitaan myös tässä mielessä.
Tärkeää ChatGPT:stä ja vastaavista
Tehtävien ratkaiseminen niin sanotuilla tekoälytyökaluilla on kielletty. Toisin sanoen: kurssin tehtäviä ei saa ratkaista teknisillä apuvälineillä, jotka tuottavat ohjelmakoodia tai muunlaisia vastauksia tehtäviin (esim. ChatGPT, GitHub Copilot, JetBrains AI, Bing tms.). Moinen luetaan vilpiksi opiskelussa samoin kuin ratkaisujen kopioiminen toiselta ihmiseltä. Kukin opiskelija tai opiskelijapari saa palauttaa vain itse tuottamiaan ratkaisuja.
Kurssin tarjoamaa materiaalia ei saa syöttää "tekoälytyökaluihin" eikä muutenkaan jakaa ulkopuolisille tahoille.
Opiskelun tueksi: harjoitusryhmät, keskustelufoorumit ym.
Oppimateriaaliin ja sen sisältämiin tehtäviin paneutumisessa oma panoksesi on ratkaiseva. Tuemme kuitenkin opiskeluasi usealla eri tavalla:
"Harjoitusryhmät"
Kurssin assistentit eli assarit päivystävät harjoitusryhmissä Aalto-yliopistolla Espoossa kaikkina arkipäivinä kurssin aikana. Tarkempi aikataulu ja paikat löytyvät erilliseltä sivulta. Harjoitusryhmät on tarkoitettu vain yliopiston paikallisille opiskelijoille, mutta muut kanavat palvelevat myös ulkoisia opiskelijoita; niistä lisää alla.
Kurssin assistentit eli assarit päivystävät harjoitusryhmissä kaikkina arkipäivinä kurssin aikana.
Ensimmäiset harjoitusryhmät pidetään torstaina 5.9.2024, mistä alkaen näitä assaripäivystyksiä järjestetään kymmeniä tunteja viikossa. Suurin osa ryhmistä on Aallon kampuksella Kandikeskuksessa, mutta tarjolla on myös etäharjoituksia. Tarkempi aikataulu ja paikat löytyvät erilliseltä sivulta.
Harjoitusryhmiin ei ole erillistä ilmoittautumista, vaan voit käydä niissä vapaasti. Ryhmissä ei myöskään ole tiettyä asialistaa, jonka kaikki käyvät läpi samaan tahtiin. Voit tulla ryhmään tekemään tehtäviä omaan tahtiisi ja kysyä assarilta, kun et omin neuvoin pääse eteenpäin.
Osassa harjoitusryhmistä saat neuvontaa myös ruotsiksi. Nämä ryhmät on merkitty viikkoharjoitussivulle.
Luennot
Kurssilla on kaksi luentoa, jotka on tarkoitettu lähinnä Aallon paikallisille opiskelijoille. Ne eivät ole välttämättömiä, ja verkkomateriaali kattaa kurssin koko sisällön. Tarkemmat tiedot ja luentomateriaali löytyvät erilliseltä luentosivulta.
Kurssilla on kaksi luentoa:
Maanantaina 2.9.2024 on avausluento, joka esittelee kurssin käytäntöjä sekä ohjelmoinnin perusteita ja työkaluja.
Joulukuussa 9.12.2024 on kurssin päätöstilaisuus: ihmetellään opiskelijoiden laatimia hienoja ohjelmia, esitellään jatkokursseja, ynnä muuta.
Tarkemmat tiedot luentosivulla. Merkkaa kalenteriin!
Kysymyksiä ja vastauksia: Piazza
Piazza on keskustelufoorumi, jossa kurssillamme on oma palsta. Piazzassa voit esimerkiksi kysyä asioita henkilökunnalta tai muilta opiskelijoilta. Vastaus tulee useimmiten viimeistään vuorokauden päästä. Tällä foorumilla saa myös muuten jutella kurssiin liittyen.
Jos haluat käyttää Piazzaa, sinun on luotava sinne käyttäjätunnus. (Aallon ja Piazzan välille on neuvoteltu sopimusta, jonka myötä Piazzaan voisi tulevaisuudessa kirjautua helposti A+:sta Aallon tunnuksilla, mutta ainakin toistaiseksi näin. Piazza on yhdysvaltalainen palvelu, joka nykyisellään tallentaa tietoja EU:n ulkopuolella sijaitseville palvelimille eikä täysin vastaa Euroopan GDPR-tietosuojamääräyksiä. Jos et tämän vuoksi halua käyttää Piazzaa, voit mainiosti osallistua kurssille ilmankin — meillä on runsaasti muitakin tapoja neuvoa — mutta suosittelemme lämpimästi Piazzan käyttöä, koska se on kätevä ja palvellut O1-kurssilaisia hyvin jo vuosia.)
Jos haluat käyttää Piazzaa, tarvitset sinne käyttäjätunnuksen. (Aallon ja Piazzan välille on neuvoteltu sopimusta, jonka myötä Piazzaan voisi tulevaisuudessa kirjautua helposti A+:n tunnuksilla, mutta ainakin toistaiseksi näin. Piazza on yhdysvaltalainen palvelu, joka nykyisellään tallentaa tietoja EU:n ulkopuolella sijaitseville palvelimille eikä täysin vastaa Euroopan GDPR-tietosuojamääräyksiä. Jos et tämän vuoksi halua käyttää Piazzaa, voit mainiosti osallistua kurssille ilmankin — meillä on runsaasti muitakin tapoja neuvoa — mutta suosittelemme lämpimästi Piazzan käyttöä, koska se on kätevä ja palvellut O1-kurssilaisia hyvin jo vuosia.)
Käy luomassa tunnus vaikka heti? Sen voi tehdä täällä:
https://piazza.com/o1mooc_at_aalto/fall2024/da2.
(Valitse oppilaitokseksi — school — O1+MOOC at Aalto. Kun Piazza pyytää kurssia — class — valitse O1 Ohjelmointi 1 / Programming 1.)
Kunhan olet luonut käyttäjätunnuksen, pääset Piazzan kysymyspalstalle O1:n valikosta täällä A+:ssa. Tämä suora osoitekin toimii: https://piazza.com/class/lxijpepsgg31fo/
Vastaa joka tapauksessa alla olevaan kysymykseen, niin saat kuitattua itsellesi ensimmäiset tehtäväpisteet.
Tarkista myös Piazza-asetuksesi!
Käy tarkistamassa asetukset Piazzan oikean yläkulman rataskuvakkeesta. Voit kyllä jättää tämän tekemättäkin, mutta silloin Piazza lähettää sinulle sähköposti-ilmoituksia uusista viesteistä kurssifoorumilla oletusarvoisesti varsin lyhyin väliajoin. Asetuksista voit esimerkiksi harventaa ilmoitustahtia.
Toinen neuvontakanava: Telegram
Kurssilla on Telegram-sovelluksessa ryhmä nimeltä Aalto-O1, jolla käydään reaaliaikaista keskustelua kurssin tiimoilta. Osa kurssihenkilökunnasta ja opiskelijoista hengailee siellä, ja vastauksia lyhyihin kysymyksiin saattaa (takeettomasti) saada nopeastikin.
Voit käyttää Telegramia erillisenä sovelluksena tai selaimen kautta.
Kurssin Telegram-keskusteluryhmään pääset tästä linkistä:
Henkilökunta
Vastaava opettaja Juha Sorva
Juha vastaa kurssin suunnittelusta, oppimateriaalista, tiedotuksesta, palautteiden käsittelystä, viikkokoosteista ja järjestelyistä yleisesti.
Sähköposti: juha.sorva@aalto.fi
Pääassistentit Joel Toppinen, Kaisa Ek, Ilona Ma ja Onni Komulainen
"Pääassarit" ohjaavat muiden assistenttien työtä, kehittävät ohjelmointitehtävien automaattista arviointia, ylläpitävät kurssia täällä A+:ssa ja osallistuvat opetukseen muiden assistenttien kanssa.
Sähköposti: o1-head-assistants-sci@list.aalto.fi
Assistentit
Nelisenkymmentä kurssiassistenttia eli "assaria" auttaa opiskelijoita harjoitusryhmissä. He ovat: Mohammed Anwar, Maksim Bukharenko, Anton Chakhovich, Tue Dinh, Kaisa Ek, Esa Elo, Joose Eronen, Hannes Fant, Rasmus Fyhrqvist, Hilkka Gröhn, Edris Hakimi, Valtteri Kanstren, Basant Khattab, Onni Komulainen, Noora Kuosa, Elmeri Lankinen, Minh Ha Le, Tommy Le, Eemil Lehtikangas, Ilona Ma, Onni Miettinen, Konsta Mikkola, Shubham Mondal, Jaakko Nakaza, Hiep Nguyen, Nam Nguyen, Tuomo Ohvo, Karoliina Oksanen, Kerttu Peura, Anton Podlozny, Ishtiaque Rahman, Kaappo Raivio, Robin Runne, Filippa Sandberg, Onni Tammi, Tilda Toivanen, Joel Toppinen, Linh Tran, Olli Ullgren ja Aarno Veitola.
Assarit myös arvostelevat osan harjoitustehtävistä sekä hoitavat sekalaisia muita tehtäviä. Kunkin assarin harjoitusryhmäajat löytyvät harjoitusryhmäsivulta.
Nelisenkymmentä kurssiassistenttia eli "assaria" auttaa opiskelijoita harjoitusryhmissä. He myös arvostelevat osan harjoitustehtävistä sekä hoitavat sekalaisia muita tehtäviä.
Avoimen kurssin henkilökunta
Kurssista tarjotaan samanaikaisesti myös puhtaasti verkossa järjestettävä versio, MOOC, joka on avoinna muillekin kuin Aallon omille opiskelijoille. Avoimen kurssiversion opettajat ovat Otto Seppälä (otto.seppala@aalto.fi) ja Juha Sorva (juha.sorva@aalto.fi).
Kurssista tarjotaan samanaikaisesti myös puhtaasti verkossa järjestettävä versio, MOOC, joka on avoinna muillekin kuin Aallon omille opiskelijoille.
Avoimen kurssin opettajat ovat Otto Seppälä ja Juha Sorva. Otto vastaa avoimen kurssiversion erityisjärjestelyistä, ja häneen voi olla yhteydessä asioissa, jotka liittyvät esimerkiksi MOOCin suoritusmerkintöihin: otto.seppala@aalto.fi
Tervetuloa vielä kerran!
Me kurssihenkilökunnan jäsenet näemme vaivaa, jotta kurssi onnistuisi. Toivottavasti jaksat myös panostaa kurssiin, vaikka se onkin työläs ja haastava!
Yhteenvetoa
Kurssin pakolliset osasuoritukset ovat: harjoitustehtävät, lukukohtainen palaute sekä kurssipalautekysely.
Kurssimateriaaliin perehtyminen ja siinä olevien harjoitusten tekeminen on ylivoimaisesti tärkein kurssin osa.
Kurssiarvosana tulee suoraan harjoitustehtävistä, kunhan palauteosiot on hoidettu. Ensimmäinen palauteosio on tuossa alla.
Kurssi kehittää käytännön ohjelmointitaitoja. Valtaosa tehtäväpisteistä tulee soveltavista ohjelmointitehtävistä.
Harjoitusryhmät, keskustelufoorumit ja viikkokoosteet tukevat tehtävien tekemistä.
Ensimmäinen deadline on pian!
Suosittelemme, että etsit itsellesi työparin.
Tämä oppimateriaali liittyy Aallon Ohjelmointi 1 -kurssiin, joka tarjotaan avoimena nimellä Ohjelmoinnin MOOC.
Kurssin pakolliset osasuoritukset ovat: harjoitustehtävät, lukukohtainen palaute sekä kurssipalautekysely. Virallisen todistuksen saaminen MOOC-kurssista edellyttää lisäksi tentin läpäisyä.
Kurssimateriaaliin perehtyminen ja siinä olevien harjoitusten tekeminen on ylivoimaisesti tärkein kurssin osa.
Kurssiarvosana tulee suoraan harjoitustehtävistä, kunhan palauteosiot on hoidettu. Ensimmäinen palauteosio on tuossa alla.
Kurssi kehittää käytännön ohjelmointitaitoja. Valtaosa tehtäväpisteistä tulee soveltavista ohjelmointitehtävistä.
Keskustelufoorumit tukevat tehtävien tekemistä. Tarjolla on myös viikkokoosteita sekä aaltolaisille harjoitusryhmiä.
Tehtävien ratkaiseminen "tekoälyllä" on kiellettyä.
Ensimmäinen deadline on pian kurssin alun jälkeen!
Palaute
Huomaathan, että tämä on henkilökohtainen osio! Vaikka olisit tehnyt lukuun liittyvät tehtävät parin kanssa, täytä palautelomake itse.
Tekijät
Tämän oppimateriaalin kehitystyössä on käytetty apuna tuhansilta opiskelijoilta kerättyä palautetta. Kiitos!
Materiaalin luvut tehtävineen ja viikkokoosteineen on laatinut Juha Sorva.
Liitesivut (sanasto, Scala-kooste, usein kysytyt kysymykset jne.) on kirjoittanut Juha Sorva sikäli kuin sivulla ei ole toisin mainittu.
Tehtävien automaattisen arvioinnin ovat toteuttaneet: (aakkosjärjestyksessä) Riku Autio, Nikolas Drosdek, Kaisa Ek, Joonatan Honkamaa, Antti Immonen, Jaakko Kantojärvi, Onni Komulainen, Niklas Kröger, Kalle Laitinen, Teemu Lehtinen, Mikael Lenander, Ilona Ma, Jaakko Nakaza, Strasdosky Otewa, Timi Seppälä, Teemu Sirkiä, Joel Toppinen, Anna Valldeoriola Cardó ja Aleksi Vartiainen.
Lukujen alkuja koristavat kuvat ja muut vastaavat kuvituskuvat on piirtänyt Christina Lassheikki.
Muiden lukujen lopuissa on lisäyksiä tähän tekijäluetteloon.