Ohjelmointi 1 (C#, Jypeli), syksy 2024

TIMin käytöstä, avaa ja lue tämä jos et ole TIMin kanssa tuttu.

Jos jossakin on vielä vahingossa vuoden 2023 tai muuten rikkinäisiä linkkejä, niin ilmoita niistä kurssin keskustelusivulla tai kommentilla suoraan rikkinäisen linkin lohkon vieressä.

Please to interact with this component.

Calendar

Miten saan kurssin kalenterin omaan kalenteriini ja puhelimeeni?


Työskentelytavat = lähi/etäopetus

Kurssin viikkorytmi koostuu luennoista, viikkotehtävistä (demoista), (pääte)ohjauksista sekä demojen palautuksista. Sitten on vielä harjoitustyö. Kaikkia noita voidaan tehdä lähi- tai etäopiskeluna. Kaikkeen tähän on syytä varata vähintään 15 tuntia/viikko.

  • Luennot ovat ma ja ti auditoriossa. Luentoja voi seurata myös Zoomilla tai katsoa niitä jälkeenpäin videoilta.
  • (Pääte)ohjaukset järjestetään Agoran mikroluokissa ja niissä harjoitellaan tekniikan käyttöä ja kun viikon tehtävät on tehty, voi myös tehdä demoja. Ohjauksissa on paikalla ohjaajia ja niissä on mahdollista kysellä apua tekniikasta, demoista ja harjoitustyöstä. Ohjauksia pidetään myös Zoomissa etäversioina. Alkukurssin ohjauksissa on pakollisia tekniikkatehtäviä.
  • Demoja (eli viikkotehtäviä) tehdään periaatteessa omalla ajalla, mutta niitä voi tehdä myös ohjauksissa sen jälkeen kun tekniikkatehtävät on tehty.
  • Demojen palautuksissa (maanantaisin 2 valinnaista ryhmää, ei ole pakko käydä samassa ryhmässä koko kurssin ajan) katsotaan "oikeat" vastaukset ja sitten omat vastaukset pitää korjata oikeiksi. Kuten luennot, demojen käsittely pidetään auditoriossa ja voi osallistua Zoomilla tai katsoa videoilta.
  • Harjoitustyötä tehdään yksin tai pienryhmissä omaan tahtiin noudattaen annettua aikataulua. Aikataulun puitteissa työtä näytetään ohjaajille paikanpäällä tai Zoomissa etänä. Palauttamalla HT vaiheita ajoissa, saa Bonus-pisteitä.

Opetustapahtumiin ilmoittaudutaan ensimmäisen luennon jälkeen siellä annettujen ohjeiden mukaan.

Opiskelusta

  • tee ajatuksen kanssa demojen harjoittelutehtäviä
  • lue kerran luentomoniste läpi niin tiedät missä on mitäkin
  • lue ennen luentoa monisteesta aina vastaava kohta (merkitty luentojen sivulle)
  • KYSY kurssin keskustelussa
  • jos epäselviä demotehtäviä, laita kommentti viereen
  • bookmarkkaa (vasen yläkulma ja klemmari) itsellesi tärkeät sivut
  • älä seuraa jokaista linkkiä
  • jos luennolla ei näe, voi sielläkin pitää Zoomin auki
  • ÄLÄ käytä Googlea tai tekoälyä!
# aikajana
Tiedot päivittyvät tunnin välein. Viimeksi:

Please to interact with this component.

{}


Viikko 36
2.9.
37
9.9.
38
16.9.
39
23.9.
40
30.9.
41
7.10.
42
14.10.
43
21.10.
44
28.10.
45
4.11.
46
11.11.
47
18.11.
48
25.11.
49
2.12.
Luennot 1&2 3&4 5&6 7&8 9&10 11&12 13&14 15&16 17&18 19&20 21&22 23&24
Tärkeät ti: bonus
pe: HT1
Väli-
kysely
pe: Debug-
näyte

ti: bonus
pe: HT2
ti: bonus
pe: HT3
Tentti
pe: 29.11
dh 1 2 3 4 5 6 7 8 9 10 11 Summa %
Demot

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Korjattu

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Tunnit

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Please to interact with this component.

{}

Mulla merkityt tunnit ja niillä työtunneilla aikaansaadut demopisteet näkyy eri sarakkeissa. Tunnit menevät viime viikon kohdalle.

VL: Eikös demo1 ole tehty sillä viikolla, millä oli luennot 1&2, eli viikolla 36. ELi siinä mielessä niiden kuuluuin olla pykälän eri kohdassa?

15 Sep 24 (edited 15 Sep 24)

Tuleeko tenttiin korjatuista pistemääristä pisteitä lisää vai vaan niistä, jotka ehti palauttaa ennen demon päättymisaikaa vaikka korjaisi tehtävät?

VL: Luonnollisestai vain niistä, jotka on tehty ennen demojen deadline, eli aina ennen ma klo 13:00. Korjatut pitää sitten olla vihreällä että saa jatkaa. Jos joku kerta ei onnistu, pitää olla yhteydessä.

17 Sep 24 (edited 26 Sep 24)

Oliko väliä jos esim. demo 2 on punaisella (5,35 tehty) ja muutamalla kerralla tehty vain *tehtävät, jos kumminkin saa 66 pistettä eli maksimit täyteen?

VL: Muutaman punaisen voi saada anteeksi jos muut asiat ovat kunnossa.

07 Nov 24 (edited 09 Nov 24)

Itse demoista vain kahdessa punaista, mutta korjauksien pakollisuuden olin näköjään unohtanut kurssin puolivälillä. Onko tätä mahdollista jotenkin korvata?

VL: No katsotaan tentin jälkeen... Jos siinä riittävästi osaamista, niin voidaan sopia.

28 Nov 24 (edited 28 Nov 24)

Luentojen ja demonpalautusten aluksi aina osoitteeseen : tim.pm/ohj1 ja sieltä mainittuun Zoomiin.
Ohjausten (=pääteohjaus) aluksi avaa aina ko. viikon pääteohjaussivu yllä olevasta menusta.

Kurssista

# kuva1
  • Kurssi Sisussa
  • Kurssin työmäärä keskimääräiselle opiskelijalle:
    • 6 op = n. 14.5 tuntia/vko!
  • kurssiin voi liittää kaksi lisäkurssia asiaa laajentavilla harjoitustöillä (yht max 5 p)
  • In English: Course synopsis (short description of contents and objectives)

Pääaineen (DI, mutta pätee muihinkin) tavoitteet:

  1. Riittävä ymmärrys nykyisestä IT:stä ja sen toteutuksesta
  2. Valmius jatkuvaan oppimiseen ja kehittymiseen
  3. Ongelmanratkaisutaito
  4. Yhteistyö sidostahojen kanssa, projektimainen työskentely
  5. Tarve- ja käyttäjälähtöisyys
  6. Kyky elää perinnejärjestelmien, epätäydellisyyden ja epävarmuuden kanssa
  7. Kyky vastata siitä, että mitä tekee on oikein ja toimivaa (VL lisäys)

Kurssin lopussa opiskelijan odotetaan osaavan:

  1. selittää rakenteisen ohjelmoinnin perusperiaatteet
  2. löytää yksinkertaiseen ongelmanratkaisuun sopivat algoritmit, tietotyypit ja tietorakenteet
  3. suunnitella ja toteuttaa pienimuotoisen ohjelman käyttäen C#-ohjelmointikieltä ja siihen tarkoitettuja työkaluja

Kurssin aikana sinun on tarkoitus oppia seuraavia asioita (osaamisen taso sovelletulla Bloomin asteikolla: 1=muistaa, 2=ymmärtää, 3=osaa soveltaa, 4=osaa analysoida, 5=osaa arvioida, 6=osaa luoda)

Siirrä alla osaamisesi (punainen pallukka) aina sitä vastaavalle kohdalle. Keltainen ruutu on tavoite johon tulisi päästä kurssin lopuksi. Ruksaa ensin muokkaa.

# goaltable2

Please to interact with this component.

Osattava asia123456
Rakenteisen ohjelmoinnin perusajatus o
Algoritminen ajattelu o
C#-kielen perusteet o
Peräkkäisyys o
Muuttujat o
Aliohjelmat ja funktiot o
Parametrin välitys o
Ehtolauseet o
Silmukat o
Taulukot o
Tiedostot ohjelmasta käytettynä o
Olioiden käyttö o
Yksikkötestit (TDD) o
Debuggerin käyttö o
Lukujärjestelmät, ASCII-koodi o
Rekursio o
Dokumentointi ja sen lukeminen o

Sisussa ilmoittautuminen

# miten-aloitan

1. Miten aloitan

  1. Ilmoittaudu Sisussa kurssille (syksyn luento-opetus, ks ohje edellä), muihin ryhmiin ei kannata ilmoittautua Sisussa, sillä ei ole kurssin kannalta merkitystä. Ryhmiin ilmoittaudutaan aikanaan TIMissä myöhemmin tulevilla ohjeilla. Luennoille voit ilmoittautua Sisussa, niin saat ne kalenteriin ja näin tulee säännöllinen rytmi. Ryhmistä:

    • ilmoittaudu molempiin luentoryhmiin Luento 1 ja Luento 2. Luennot ovat auditoriosssa, mutta niitä voi seurata myös Zoomilla (salasana ohj2) ja niistä tulee videotallenne. Jos katsot vain videotallenteen, ei välttämättä luennoillekaan kannata ilmoittautua Sisussa.
    • demoryhmistä valitset yhden (siis aikanaan TIMissä kunkin viikon demotehtävien sivulla), voit käydä eri viikoilla eri ryhmissä
    • pääteohjausryhmistä 1-n kpl sen mukaan paljonko tunnet tarvitsevasi apua (yleensä 1 tai 2 viikossa). Valinta tehdään kullekin viikolle erikseen TIMissä ko. viikon (pääte)ohjausdokumentissa.
  2. vastaa esitietokyselyyn

  3. tee esi-demotehtävät. Erityisesti Robotti on extrahyödyllinen.

  4. lataa kurssin työkalut

  5. Lähde heti alusta sillä asenteella, että opettelet ymmärtämään, et oppimaan ulkoa satunnaisia komentoja.

# opiskelu
# tableForm_table

Please to interact with this component.

# posti1


1.1 Kurssin 1. sähköposti. Avaa tästä jos et ole jo lukenut.

# kurssinaluksi

2. Mitä teen kun kurssi alkaa

Seuraava koskee sekä lähi- että etäopiskelijoita:

  1. Lue luentomonistetta ainakin lukuun 2.3 asti ensimmäisellä kertaa. Muilla kerroilla ennen luentoa vähintään luennoissa M: mainitut kohdat ja merkitse niitä luetuksi klikailemalla punaisia pois.
  2. Osallistu tai katso 1. viikon luennot: Livekatsojat (paikalla tai Zoom): Aloita aina kirjautumalla luennolle linkistä tim.pm/ohj1 ja sieltä klikkaa Zoom-linkkiä ja siirry kyseisen luennon linkistä itse luennon TIM-sivulle.
    Etäkatsojat: Ota yläreunan menusta Luennot-kohdasta aina kukin luento.
  3. Tee 1. viikon pääteohjaukset
  4. Tee 1. viikon demotehtävät ma klo 11:00 mennessä!
  5. Osallistu tai katso 1. viikon demojen palautukset
  6. Korjaa omat tehtäväsi niin, että Tauno ja T1-T6 tuottavat vähintään 7p.
  7. Jatka kohdasta 1. seuraavan viikon tiedoilla.
  8. Tee harjoitustyötä muiden vaiheiden ohella sopivasti.
# viikkorytmi
# kurssipvm

Kurssin tärkeät päivämäärät

Jos pvm perässä on (!), niin kyseessä on eksakti päivämäärä. Muut ovat takarajoja, joissa asia kannattaa hoitaa jo ennen takarajaa. HT1-HT3 ohjaus/näyttöajat varataan tuntiopettajilta.

# tarkeatpvm

(*) Periaatteessa HT pitäisi olla valmis pe pe 22.11., mutta koska ohjausvoimat ovat rajallisia, joudumme venyttämään sen näyttöä/tarkastusta pidemmälle jopa joulukuulle asti.

Jos jotakin ei löydy, katso lisämateriaali.

VAROITUS: TIMillä on aika helppo työskennellä, mutta siitä huolimatta tehtäviä on opeteltava tekemään myös oikeilla työkaluilla (mm. Rider)! Erityisesti debuggeria on osattava käyttää heti alusta alkaen.

# suorittamisesta

4. Kurssin suorittamisesta

Sisältö: C#-kielen alkeet, rakenteisen ohjelmoinnin perusteet. Kurssin työmäärä 14.5 t/viikko

Kurssin arvolause tulee summasta demohyvitykset + tentin pisteet + HT bonukset. Tentin max pisteet ovat 24. Arvolause 5: summa 26,..., 1: summa 12. Katso myös tentti.

Normaali tapa suorittaa:

# takaportti

Takaportti mikäli tenttiä ei läpäisty:

  • mikäli ei läpäise kurssin tenttiä (tai ei osallistu siihen, tähän tarvitsee luvan ohjaajilta), voi kurssilta silti saada arvolauseen 1/5 edellyttäen että KAIKKI seuraavat ehdot täyttyvät:
    • demoista on tehty vähintään 5 pistettä/kerta, joista joka kerralla vähintään kaksi merkityistä tähtitehtävistä
    • debuggausnäyte hyväksytty
    • harjoitustyö on melkein valmis ja ohjaajien suullisessa kuulustelussa hyväksymä
    • on kurssilla 1. kertaa

Etäopiskelu:

Erikoissuorittaminen (lukiolaisten 3op ohj1 tai ohj2 tehty tai aikaisempi kokemus tai 3 op laajentaminen 6 op):

# yhteystiedot

5. Yhteystiedot

6. Tärkeät linkit

6.2 Tarkemmin ohjelmointiin liittyvät

7. Kurssilla käytettävät työkalut

8. Kurssin opiskelusta

Suositeltava tapa opiskella:

  • Ma julkistetaan seuraavan viikon demotehtävät. Tehtäviin kannattaa tutustua jo heti saman tien ja jopa yrittää niiden tekemistä ennen ti luentoa. Näin on paremmin motivaatiota luennolla, kun tietää mitä pitää oppia.
  • Pääteohjauksissa tehdään alkuvaiheessa erillisiä pääteohjaustehtäviä, joissa opiskellaan teknisiä asioita, jotka ovat hyödyksi demoja ja harjoitustyötä tehtäessä. Jos aikaa jää (tai voi käydä toisessakin pääteohjausryhmässä), voi tehdä demotehtäviä ja saada niihin alkuunpääsyohjeita. Loppukurssista pääteohjauksissa tehdään vain demoja ja harjoitustyötä.
  • Kun demot on palautettu, kannattaa käydä demonpalautuksissa katsomassa mitä "olisi pitänyt" tehdä. Kun jotakin on tosissaan yrittänyt, on vastaanottavaisempi sille, mitä muuta saman tehtävän tiimoilta olisi pitänyt miettiä. Se mikä itsestä tuntuu oikealta, ei välttämättä olekaan paras ratkaisu.
  • Ville-tehtäviä kannattaa tehdä jopa etukäteen ja näin taas nähdä luentoja varten mitä pitäisi oppia. Tehtäviä voi sitten tehdä uudelleen demoja varten.
  • Luentomonistetta kannattaa lukea itsenäisesti etupainotteisesti ja näin saada taas pohjaa luentojen asialle.
  • Harjoitustyötä kannattaa tehdä etupainotteisesti, niin että se olisi valmis joulukuun alussa. Liian myöhäinen aloitus johtaa kohtuuttomaan kuormaan. HT ei ole pikkujuttu aloittelijalle.
  • Kun on ongelmia pitää kysyä. Kanavia ovat kurssin postilistat, keskustelusivu, pääteohjaukset, luennoilla luentoseinä, suora kontakti johonkin kurssin opettajista sähköpostilla tai hihasta vetämällä. Ja tietysti luennolla kysymällä saman ongelman saa ratkaistuksi koko joukon puolesta.
  • Koe onnistumisen elämyksiä. Ole kuitenkin valmis oppimaan tekemään vielä paremmin!

10. Edellisten kurssien pelejä

# Video1

Ohjelmointi1 -kurssilla tehtyjä pelejä keväällä 2014

# Video3

Ohjelmointi1 -kurssilla tehtyjä pelejä syksyllä 2014

# Video2

Ohjelmointi1 -kurssilla tehtyjä pelejä keväällä 2015

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.