Johdanto kurssiin ja ohjelmoijan työkaluihin



Samankaltaiset tiedostot
Johdanto kurssiin ja ohjelmoijan työkaluihin

Ohjelmoinnin peruskurssi Y1

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA! Digitaalitekniikan matematiikka Luku 0 Sivu 1 (9)

T harjoitustyö, kevät 2012

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola


T harjoitustehtävät, syksy 2011

Ohjelmoinnin perusteet Y Python


Ohjelmoinnin perusteet Y Python

Tietokone työvälineenä

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Ohjelmoinnin peruskurssi Y1

Tietorakenteet ja algoritmit CSE- A1140 (5 op)

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Saksan sanastopainotteinen kurssi. Helsingin yliopiston kielikeskus, syksy 2007, Seppo Sainio

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tervetuloa jatkamaan DIGITAALI- TEKNIIKAN opiskelua! Digitaalitekniikka (piirit) Luku 0 Sivu 1 (8)

SAS-ohjelmiston perusteet 2010

Tilastollinen päättely II (MAT22003), kevät 2018

Luennot vuorovaikutuskeinona Peda-Forum

Digitaalisen median tekniikat Luento 1: Intro

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Tervetuloa kursseillemme! Kursseista tietoa myös verkkosivulla lastukirjastot.fi/ajankohtaista

Asiakaskoulutukset pääkirjastolla

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia. Tehdään sähköisesti mikroluokkien Windows-koneilla.

Kurssin käytännön järjestelyt. Tuotantotalous 1 Joel Kauppi

Ohjelmoinnin peruskurssi Y1 Huom: Istukaa joka paikalle sali tulee täyteen!

Ohjelmoinnin peruskurssi Y1

Tähtitieteen käytännön menetelmiä Kevät 2009

Tilastollinen päättely II (MAT22003), kevät 2019

Ohjelmoinnillinen ajattelu

REC-E5010 Perustoimitukset TkT Juhana Hiironen

Antti Ekonoja

Kon Hydrauliikka ja pneumatiikka Tutkimustehtävät - info

Alkukartoitus Opiskeluvalmiudet

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

T Johdatus tietoliikenteeseen ja multimediatekniikkaan 5 op. Kevät 2013

Tietorakenteet ja algoritmit Y CSE- A1141 (5 op)

Kalvomateriaalia: SCI-A0000 Johdatus opiskeluun

Biokemian menetelmät I P (10 op / 8 op / 3,5 op) Juha Kerätär (F210, Kontinkangas,

Lahden kaupunginkirjasto ASIAKASKOULUTUKSET

Johdatus Ohjelmointiin

PLA Mobiiliohjelmointi. Mika Saari

Tervetuloa! CS-C2110 Ohjelmointistudio 1: mediaohjelmointi. Koittakaa löytää istumapaikka!

TN-IIa (MAT22001), syksy 2017

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Projektien suunnittelu ja ohjaus TU-C3010

Ajankäyttö ja sen hallinta. Diplomi-insinöörin työn perustaitoja

Antti Ekonoja

Tehtävän lisääminen ja tärkeimmät asetukset

Yhteisöllisyyden toteuttaminen verkko-opetuksessa

TOIMINTA PEVA PASSI. nimi:

Tietojenkäsittelytieteet Tutkinto-ohjelman info. Henrik Hedberg Heli Alatalo

17/20: Keittokirja IV

Tuloslaskenta (22C00400, 6 op)

B-ruotsin opintoihin kuuluu pakolliset kurssit BB01- BB05

2. KOKOUKSEN LAILLISUUS JA PÄÄTÖSVALTAISUUS

OPS2016 ja ohjelmointi

T Johdatus tietoliikenteeseen 5 op. Kevät 2013

SUOKI TOIMINTA PASSI

Sportyplannerilla harjoitusohjelman tekeminen on helppoa ja nopeaa. Palvelussa on noin 600 liikettä. Kaikista liikkeistä kuva-, video ja

Ohjelmoinnin peruskurssi Y1

Käyttöliittymä ja tuotantokäsikirjoitus. Heini Puuska

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

ViLLE Mobile Käyttöohje

Oppimisprosessissa opiskelijoiden tukena analytiikan opiskelua yhdessä tehden

VAPAAEHTOISTYÖN PORTFOLIO MAAHANMUUTTAJILLE

Palaute orientaatioviikosta Vastauksia yhteensä: 68

YLIOPPILASTUTKINTO. -Tutkinnon rakenne - edellytykset - ilmoittautuminen. Hämeenllinnan lyseon lukio

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Kerttulin lukion kurssien valintaopas

Johdanto kurssille. Vastuuopettaja: Ilona Mikkonen, Yliopiston lehtori. Tapaaminen sopimuksen mukaan;

lineitä oppimisen tueksi

VALINNAISET OPINNOT Laajuus: Ajoitus: Kood Ilmoittautuminen weboodissa (ja päättyy )

Oppilaiden motivaation ja kiinnostuksen lisääminen matematiikan opiskeluun ja harrastamiseen. Pekka Peura

Pienin askelin snadein stepein -väline oman työn kehittämiseen arjessa

KIELENOPPIJOITA TIEDONHANKINTA KESKIÖSSÄ KUUNTELEMALLA OPPIJA (AUDITIIVINEN) KIELEN KÄYTTÖ, VUOROVAIKUTUS NÄKEMÄLLÄ

A&O:n käyttöohje. 1. Rekisteröityminen ja kurssille ilmoittautuminen. 2. Sisäänkirjautuminen. (Lisää löydät osoitteesta:

Ohjeita kotiopiskelun tueksi. Oppiminen ei ole keino päästä tavoitteeseen vaan se on tavoite itsessään.

Kurssin oppimistavoitteet. Heikki Lokki Kurssin suorituksen jälkeen osaat

Kurssin käytännön järjestelyt. Tuotantotalous 1 Tuomo Tanila

YLIOPPILASTUTKINTO. -Tutkinnon rakenne - edellytykset - ilmoittautuminen

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

Kon HYDRAULIIKKA JA PNEUMATIIKKA

Kurssien esivalintaopas lukuvuodelle Tampereen yliopiston normaalikoulun lukio

SUBSTANTIIVIT 1/6. juttu. joukkue. vaali. kaupunki. syy. alku. kokous. asukas. tapaus. kysymys. lapsi. kauppa. pankki. miljoona. keskiviikko.

Lukion opetussuunnitelman perusteiden (määräys 60/011/2015) muutoksista johtuvat korjaukset (punaisella uudet tekstit) (07/2016) oppaassa:

Suoritustavat: Laboratoriotöitä 2.-3.periodi. Luennot 2h, Laboratorityöt 4h, itsenäinen työskentely 124 h. Yhteensä 130 h.

JUVAKE 2 OPPIMISYMPÄRISTÖN LUOMINEN JA VUOROVAIKUTUS

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

1. Mitkä ovat tietoliikennetekniikan koulutusohjelman opintosuunnat?

031075P MATEMATIIKAN PERUSKURSSI II 5,0 op

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

TERVETULOA VANHEMPAINILTAAN

Askelia itsetoimisempaan ja tutkivampaan oppimista. OpinTori 2010 Monimuotoinen linjakas ja tutkiva opetus

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Markkinoitten mallintaminen ja Internet-markkinat

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tentti kestää kolme tuntia.

Transkriptio:

CSE-A1110 Ohjelmointi 1 Luento 1 Johdanto kurssiin ja ohjelmoijan työkaluihin Juha Sorva juha.sorva@aalto.fi

Luennon sisältö 1. Kurssin tavoitteet ja toimintatavat 2. Vähän alkua itse asiasta, ohjelmoinnista

Mistä suunnilleen on kyse? Ohjelmointi on ohjeistuksien laatimista tietokoneelle. Kun tietokone suorittaa ohjelman, niin tapahtuu ohjelmoijan määräämiä asioita. Ohjelmoija voi luoda mm. sovelluksia eli ohjelmia, jotka tarjoavat tiettyyn aihepiiriin liittyviä palveluita ihmisille. Esim. tekstinkäsittelyohjelma, sähköpostiohjelma, tietokonepeli.

Tähtäimessä Kurssin jälkeen toivottavasti......olet tullut tulokseen, että ohjelmointi on kivaa.... ja osaatkin jo laatia ainakin jonkinmoisia ohjelmia.

Kurssin toimintamalli? Oppimistavoitteet Opiskelu Arviointi

Kurssin toimintamalli? Oppimistavoitteet Opiskelu Arviointi

Sillä aikaa tosielämässä... Bileet Arvosteluperusteet Deadline Paniikki

Tavoitteista Kauniit oppimistavoitteet helposti "menevät ohi" tai unohtuvat? Varsinkin aluksi, kun opittavat käsitteet eivät ole vielä tuttuja. Arvosteluperusteisiin tulee helposti kiinnitettyä enemmän huomiota? Tarkastellaan kurssia konkreettisesti, arvioinnista lähtien ja sisältöön päätyen.

Oppimis- vs. arvosanatavoitteet Millaisella panostuksella tästä kurssista selviää? Kuinka ajoissa pitää havahtua deadlineen? Seuraa luento loppuun ja tee omat johtopäätöksesi. Seuraavaksi käydään läpi arvosteluperusteet eli se, millaisia asioita kurssilla pitäisi osata tehdä. Arvosteluperusteet on laadittu siten, että ne huomioimalla: a) opit b) saat arvosanan

Osasuoritukset Kurssin läpäisy edellyttää hyväksyttyä arvosanaa harjoitustehtävistä. Lisäksi kustakin oppimateriaalin luvusta, johon liittyviä tehtäviä teet, on lähetettävä lyhyt palaute. Kolmas ja viimeinen osasuoritus on kurssipalautekysely joukukuussa. 5 Palauteosiot eivät vaikuta arvosanaan. Tehtäväarvosana määrää suoraan kurssiarvosanan.

Harjoitustehtävät: kierroksia Tehtävät jakautuvat ajallisesti kierroksiin 1-12. Jokaisella kierroksella on deadline, johon mennessä kierroksen tehtävät on palautettava. Ensimmäisen kierroksen DL on ke 17.09. klo 12:00 päivällä. Siis jo ennen toista luentoa! Seuraavien kierrosten DL:t yleensä viikon välein edellisestä.

Harjoitustehtävät: tasoja Tehtävät jakautuvat sisällöltään tasoihin A, B ja C. A-taso: kaikille pakollisia vähimmäistavoitteisiin liittyviä asioita arvosana 1 B-taso: erittäin suositeltuja kaikille, jotka aikovat ottaa jatkokursseja arvosanat 2 ja 3 C-taso: vapaaehtoisia; niille, jotka haluavat oppia mahdollisimman paljon arvosanat 4 ja 5 Lisätietoja oppimateriaalin sisältämässä kurssiesittelyssä.

Millaisia tehtäviä on luvassa? Seuraavaksi poimintoja eri kierroksilta.

Kierros 1 (taso A) Kokeile valmiin ohjelman (kokemuspäiväkirja) käyttöä ohjelmointiympäristössä ja tee siihen pieni muutos. Kokeile yksittäisten käskyjen antamista tietokoneelle (esim. laskutoimitukset). Laadi pieniä "ohjelmanpätkiä", jotka esim. sakottavat pelaajalta pisteitä, muuntavat mittayksiköstä toiseksi yms.

Kierros 2 (taso A) Selvitä, millaisista osista annettu sovellusohjelma koostuu ja miten ne toimivat yhteen. Toteuta ohjelmakomponentti, jonka avulla voidaan kuvata pankkitilejä ja kirjata erilaisia pankkitapahtumia (otot, panot, siirrot).

Kierros 3 (taso A) Perehdy syvemmin siihen, miten kokemuspäiväkirjasovellus toimii. Toteuta ohjelma, jonka avulla voidaan käsitellä "nettihuutokauppaan" myyntiin laitettuja esineitä. Laadi yksinkertainen ohjelma jalkapallopelien tulosten kirjaamiseen.

Kierros 4 (tasot A ja B) Toteuta uusia ominaisuuksia jalkapallopelien kirjanpitoohjelmaan. Korjaa annettu ohjelma, jonka avulla voi käsitellä vaikkapa opiskelijajärjestön excuilmoittautumisia.

Toteuta yksinkertainen autoilusimulaattori. Kierros 5 (tasot A ja B) Laadi ohjelma vaalitulosten laskemiseksi vaalipiireittäin. Laadi ohjelma, joka selvittää, kuka tunnettu henkilö on piilotettu tähän sotkulta näyttävään kuvaan.

Kierros 6 (tasot A ja B) Laadi ohjelma, jolla voidaan käsitellä puhelimista tutunlaista multi-tap-syötettä. Korjaa virheitä annetusta junapaikkavarausohjelmasta.

Laadi raittiuspeli nimeltä Viinaharava. Kierros 7 (tasot B ja C) Paranna aiemmin laaditun huutokauppaohjelman laatua.

Kierros 8 (tasot B ja C) Tutustu annettuun "robottisimulaattoriin" ja täydennä sitä mm. erilaisilla tekoälyillä varustetuilla "lemmenboteilla", "psykoboteilla", jne.

Kierros 9 (tasot B ja C) Vaalitulosohjelman parantelua PEEVELI!

Kierros 10 (tasot B ja C) Ota oppimateriaalin esittelemä annettu alkeellinen tekstiseikkailupeli ja lisää siihen ominaisuuksia... ja sitten: Toteuta ihan minkälainen seikkailupeli vaan! Luovuus sallittua!

Kierros 11 (tasot B ja C) Laadi hölmö mutta opettavainen sanamuunnosohjelma: tarja halonen harja talonen

Kierros 12 (taso C) Jatka robottiprojektin parissa ja laadi "robottiheimoja". Kukin heimo osaa sille ohjelmoituja sääntöjä apuna käyttäen nahistella muiden heimojen kanssa virtuaalisessa robomaailmassa. Opiskelijoiden laatimien robottiheimojen välillä järjestetään turnaus.

Tarinan opetus Joistain kursseista selviää muodollisella arvosteluperusteiden täyttämisellä osaamatta oikeasti juuri mitään. Varsinkin kiireessä on kiusaus pikapäntätä arvostelun kannalta keskeiset pointit oppimatta oikeasti paljonkaan. Tämän kurssin tehtävät ovat pääosin soveltavia. Niihin ei voi poimia suoraa vastausta luentomateriaalista tai mistään oppikirjasta. Niissä ei pärjää tärpeillä. Usein ohjelmoinnista innostutaan sen verran, että tämä on ongelma korkeintaan aluksi. ;-) Niiden läpäiseminen on kurssisuorituksen kannalta välttämätöntä.

Kohti taitoja Ohjelmoinnin osaaminen ei edellytä pelkästään tietoja vaan myös taitoja. Taitoja ei voi vaan lukaista kirjasta tai kuulla luennolla. Taitojen oppiminen vaan tuppaa viemään aikaa...

Treenaa ohjelmointiaivoasi Kognitiotiede kertoo: Aivo on vähän kuin lihas sikäli, että treenaaminen parantaa sen toimintaa. Lisäksi asia on aihepiirikohtainen: Vaativassa asiassa (urheilulaji, shakki, ohjelmointi,...) oppii hyväksi vain harjoittelemalla ja harjoittelemalla lisää. Oikeasti hyväksi tuleminen vaatii vuosien harjoittelun juuri kyseisessä asiassa. Kova ÄO ei pelasta harjoittelun tarpeelta. Kurssilla sinun tulee alkaa treenaamaan ohjelmointiaivoasi.

Treenaa ohjelmointiaivoasi Oppimisen (ja kurssisuorituksen) kannalta omalla panostuksellasi on väliä! Kurssi on kunto-ohjelmasi. Kurssihenkilökunta toimii personal trainerina, mutta ei voi harjoitella puolestasi.

Kurssimateriaali Kuntosalina toimii Goblin-oppimisympäristö: https://greengoblin.cs.hut.fi/o1_current/ (linkki löytyy Nopasta) Goblinista löytyvässä kurssimateriaalissa yhdistyvät harjoitustehtävät sekä oppikirjaan verrattavissa oleva lukemisto. Kurssi suoritetaan lukemalla materiaali ja tekemällä siihen upotetut tehtävät. Kurssin suorittaminen edellyttää siis huolellista lukemista ja tekemistä, kurssin edetessä kasvavassa määrin jälkimmäistä.

Työtä riittää 5 op = n. 130h aktiivista opiskelua tyypilliselle kolmosen saavalle opiskelijalle. Se on aika paljon. Kaiken tarjotun materiaalin läpikäyminen (ja viitosen saaminen) voi vaatia vielä enemmän työtä. On useita kierroksia, joihin voi hyvin mennä pari kokonaista, aktiivista työpäivää.

Ensimmäisillä luennoilla pitäisi painottaa jatkuvaa työntekoa monella (kuten itselläkin) opiskelutapana lukiosta on kuukauden ihmettely, pieni lukeminen ja loppurutistus se ei toimi ollenkaan. kurssipalautetta aiemmalta vuodelta

Työtä ei tarvitse tehdä yksin Parityö Harjoitusryhmät Keskustelupalsta (Piazza) Keskustelukanava (IRC) Luennot ja viikkokoosteet

Harjoitukset saa tehdä pareittain! Kannattaa etsiä työpari heti kurssin alussa. Voit käyttää apuna kurssin Piazza-palstaa. Voit jäädä tämän luennon jälkeen salin etuosaan pariutumaan. Lisää parityöstä kurssimateriaalin 1. luvussa. Yksinkin on lupa tehdä.

Harjoitusryhmät Tule tekemään tehtäviä omaan tahtiin ja kysymään neuvoa. 38 tuntia viikossa alkaen heti tämän luennon jälkeen. Ajat ja paikat löytyvät Nopasta. Ei erillistä ilmoittautumista. Voit käydä vapaasti.

Piazza ja IRC Keskustelufoorumi webissä Piazza-järjestelmässä Voit kysellä asioita henkilökunnalta tai muilta opiskelijoilta. Linkki kurssisivuilla IRC-kanava Reaaliaikaista juttelua kurssista. Ohjeita käyttöön kurssisivujen irkkioppaasta.

Luennot Tämän johdannon jälkeen vain seuraavat kaksi. Toinen luento viikon päästä ke 17.9. klo 14-16. Johdanto toiseen tehtäväkierrokseen. Ensimmäinen viikkokooste opiskelijapalautteen ja kysymysten perusteella (myöhemmät vain netissä). Päätöstilaisuutena toimiva "luento" ke 10.12. klo 14-16. Katsotaan, mihin on päästy ja mitä voisi tehdä seuraavaksi. Robottiturnauksen finaalit, tekstipelipalkintoja, yms. kivaa. Nämäkin luennot salissa T1.

mooc.aalto.fi

Tervetuloa! Työmääräpelottelusta huolimatta kurssi on täysin suoritettavissa, kunhan on aktiivinen! Olemme yrittäneet suunnitella kurssin mahdollisimman opiskelijaystävälliseksi, jotta työtuntisi olisivat tehokkaita ja oppisit paljon. Me kurssihenkilökunnassa pyrimme näkemään vaivaa, jotta kurssi onnistuisi. Toivottavasti jaksat myös panostaa kurssiin, vaikka se onkin työläs ja haastava!

Sitten asiaan

Ohjelmointikieli Tietokoneen ohjeistamiseen tarvitaan tarkoitukseen sopiva kieli, ohjelmointikieli. Vaihtoehtoja on paljon. Kurssilla käytetään erästä kieltä, mutta opitaan samalla yleisempiä ohjelmoinnin periaatteita.

Ohjelmointiympäristö: Eclipse Ohjelmoijat käyttävät apuohjelmia valmiita työkaluja, jotka auttavat uusien ohjelmien laatimisessa. Apuohjelmia on paljon erilaisia. Kurssilla käytämme apuna ohjelmaa nimeltä Eclipse ja sen Scala IDE -nimistä lisäosaa.

Tärkeää juuri nyt Toinen luento on viikon päästä samaan aikaan. Ensimmäinen deadline on ennen sitä, ke 17.9. keskipäivällä. Luennolla ei jatketa siitä, mihin tämä luento jäi, vaan siitä, mihin pääsette tutustumalla 1. kierroksen materiaaliin huolella ja tekemällä siihen liittyvät tehtävät. Aloita ajoissa! Harjoitusryhmiä pidetään alkaen klo 16:15 tänään. Kyseinen ryhmä luokassa Maari-A. Lisää ryhmiä joka arkipäivä.