Ohjelmoinnin peruskurssi Y1

Samankaltaiset tiedostot
Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

TIE Johdatus ohjelmointiin

T Ohjelmoinnin perusteet Y (Python)

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

Tietorakenteet ja algoritmit CSE- A1140 (5 op)

Ohjelmoinnin peruskurssi Y1

Tietorakenteet ja algoritmit Y CSE- A1141 (5 op)

T Ohjelmoinnin perusteet Y (Python) Opetusmoniste kevät 2010

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Ohjelmointi 1. Kumppanit

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin peruskurssi Y1

T harjoitustehtävät, syksy 2011

Kurssiesite Lausekielinen ohjelmointi Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

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

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

Teknillisen fysiikan pääaineen tupsut / Mallilukujärjestys I periodi / viikot /

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

T harjoitustyö, kevät 2012

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

T Ohjelmoinnin perusteet Y (Python)

Kurssikäytännöt ja opintojen suunnittelu. Leikola

Python-ohjelmointi Harjoitus 2

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

Ohjelmoinnin peruskurssi Y1

Kemiantekniikan ohjelmointikurssi CHEM-A2600 (5 op)

4. Lausekielinen ohjelmointi 4.1

CHEM-A1000 Korkeakouluopiskelijan ABC

Kurssiesite Lausekielinen ohjelmointi II Syksy Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Tietokoneen toiminta (Computer Organization I)

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Weboodi. Katri Laaksonen Oppimisen IT

Ohjelmoinnin perusteet Y Python

Johdanto kurssiin ja ohjelmoijan työkaluihin

Tekniikan alan kieliopinnot

Tietokoneen toiminta (Computer Organization I)


Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Ohjelmoinnin peruskurssi Y1

CHEM-A1000 Korkeakouluopiskelijan ABC

Opintoihin orientointi

Tietokoneen toiminta (Computer Organization I)

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

OHJEITA WEBOODIN KÄYTTÄJILLE

Ohjelmoinnin peruskurssi Y1

Tietokoneen toiminta (Computer Organization I)

Ohjelmoinnin peruskurssi Y1

ASIAKASKOULUTUKSET. Kurssiohjelma Syksy 2016

Ohjelmoinnin perusteet Y Python

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

WebOodin opinto-opas ja ilmoittautuminen

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Ohjelmoinnin peruskurssi Y1

Mallilukujärjestys 1. vuosi 2013

Johdatus Ohjelmointiin

Orientaatiotilaisuus Avoimen yliopiston opintoihin

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Ohjelmoinnin perusteet Y Python

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Lahden kaupunginkirjasto ASIAKASKOULUTUKSET

Lahden kaupunginkirjasto ASIAKASKOULUTUKSET

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

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

Vastuuopettaja. Kurssiesite Lausekielinen ohjelmointi Syksy Tavoitteet ja keinot. Lausekielinen ohjelmointi (10 op)

T Johdatus tietoliikenteeseen 5 op. Kevät 2013

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

KVANTITATIIVISET TUTKIMUSMENETELMÄT MAANTIETEESSÄ

Ohjelmoinnin peruskurssi Y1

ASIAKASKOULUTUKSET. Kurssiohjelma Syksy 2017

Lukujärjestyksen laatiminen, kursseille ilmoittautuminen KTK/KTM-opiskelijat TkK/DI-opiskelijat

17/20: Keittokirja IV

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

- Ilmoittaudu OODI:n kautta ainakin luentojen kohdalle, jotta olet mukana opintotoimiston listoilla.

Transkriptio:

Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 1 / 27

Esittelyluento: luennon jälkeen Tiedät, miten tämä kurssi on järjestetty ja mitä sinun pitää tehdä, jotta saisit kurssin suoritetuksi. Tiedät, mitä tarkoitetaan ohjelmoinnilla. Osaat kirjoittaa yksinkertaisen tietokoneohjelman. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 2 / 27

Mihin teekkari / diplomi-insinööri tarvitsee ohjelmointia? CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 3 / 27

Mihin teekkari / diplomi-insinööri tarvitsee ohjelmointia? Pienet laskentasovellukset Mittauslaitteen tms. ohjaaminen Matriisilaskenta- ja taulukkolaskentaohjelmia käyttäminen Valmiiden ohjelmien toiminnan opettelu ja ymmärtäminen Työelämässä paljon tehtäviä, joissa vaaditaan sekä jonkin insinöörialan tuntemus että hyvä ohjelmointitaito. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 3 / 27

Esimerkki harjoitustyöstä, jossa tarvitaan ohjelmointia Kurssi: ENE-58.129 Rakennusten energiatalous (aikaisemmalta vuodelta) Annettu: Tiedot rakennuksen koosta, rakenteesta, sijainnista, lämmitysjärjestelmästä, eri asioiden kustannuksista jne. Tehtävä (osa harjoitustyöstä): Hae optimaalinen yhdistelmä seuraaville viidelle parametrille 1. seinien eristyspaksuus 2. yläpohjan eristyspaksuus 3. ikkunoiden U-arvo 4. lämpöpumpun kompressorin nimellisteho 5. höyrystymislämpötila siten, että seinämien lämpöeristysten, ikkunoiden ja lämmöntuottojärjestelmän muodostaman investoinnin sekä rakennuksen lämmityskustannusten yhteensä muodostamat elinkaarikustannukset saavat minimiarvon tarkasteluaikana ja rakennus on energiatehokkuusluokassa A. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 4 / 27

Tämä kurssi Oppimistavoitteena ohjelmoinnin perusasiat Ohjelmointikieli Python Mahdollisia jatkokursseja: CS-A1121 Ohjelmoinnin peruskurssi Y2 CS-A1130 Tietotekniikka sovelluksissa CS-A1141 Tietorakenteet ja algoritmit Y ELEC-A7100 C-ohjelmoinnin peruskurssi Mahdollista suorittaa myös tietotekniikan sivuaine. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 5 / 27

Vaihtoehtona toinen ohjelmointikurssi Tämän kurssin sijaan on mahdollisuus suorittaa SCI-koulun omille opiskelijoille tarkoitettu kurssi CS-A1110 Ohjelmointi 1, joka on selvästi vaativampi. Jos haluaa kandidaatin tutkinnon suorittamisen jälkeen hakea tietotekniikan maisteriohjelmaan, niin vaatimuksena on Ohjelmointi 1:n suoritus. Kandidaatin tutkintoon voi sisällyttää molemmat kurssit CS-A1111 Ohjelmoinnin peruskurssi Y1 ja CS-A1110 Ohjelmointi 1 (toinen menee silloin vapaavalintaisiin opintoihin). CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 6 / 27

Yleistä Henkilökunta Luennoija Kerttu Pollari-Malmi, vastaanotot keskiviikkoisin klo 12:00 13:00 tietotekniikan talon huoneessa A141. 18 tuntiopettajaa. Tiedotus Kurssin kotisivu MyCourses-järjestelmässä Keskusteluryhmä Piazzassa https://piazza.com/aalto.fi/fall2017/csa1111 Mahdollisuus antaa palautetta luennoista ja harjoitustehtävistä Goblinissa. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 7 / 27

Ilmoittatuminen Ilmoittaudu kurssille Oodissa. Ilmoittautuminen luennolle tai kurssille, ei harjoitusryhmiin. Kurssille ei voi ilmoittautua sähköpostitse. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 8 / 27

Opetusmuodot Luennot ma 11.9. klo 12-14 ja sen jälkeen ke 14-16 ensimmäisellä viikolla Aalto-salissa, myöhemmin B-salissa. Ei luentoja 23. 27.10. Viimeinen luento 15.11. Luennoilla ei käsitellä kaikkia asioita. Harjoitukset, joissa opiskelijat ratkaisevat harjoitustehtäviä tietokoneella. 18 ryhmää viikossa Tietotekniikan talon salissa T7. Läsnäolo ei ole pakollista eikä siitä saa lisäpisteitä. Lukiolaisille omat ryhmät lukioiden tiloissa (pakollinen osanotto). CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 9 / 27

Opetusmuodot jatkuu Oppimateriaali Opetusmoniste (linkki MyCourses-sivulla) Perusteellisempaa materiaalia haluaville suositellaan Gaddis: Starting Out with Python, 2nd Ed tai 3rd Ed., Pearson. Lisäksi käytettävissä kalvot perusasioista. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 10 / 27

Pakolliset osasuoritukset Tentti Perustuu opetusmonisteeseen ja harjoitustehtäviin. Ensimmäinen mahdollisuus pe 1.12. klo 9:00 12:00. (Huom aika!) TENTTIIN ILMOITTAUTUMINEN ON PAKOLLISTA. Joulukuun tenttiin ei kuitenkaan tarvitse ilmoittautua, jos ilmoittautunut kurssille. Harjoitustehtävät 9 kierrosta, joista 8 ensimmäistä pakollista. Palautetaan netin kautta automaattisille tarkastajalle (Goblin). Jos haluaa harjoitustehtävistä vähintään arvosanan 3, on myös viimeisestä kierroksesta saatava minimipisteet. Vapaaehtoiset lisätehtävät (Mastery Grids MG) Näiden avulla voit harjoitella lisää kurssin asioita 21.9. alkaen. Mahdollisuus saada 200 lisäpistettä harjoitustehtäviin. Kurssiarvosana on tenttiarvosanan ja harjoitusarvosanan keskiarvo, jos molemmat osasuoritukset on hyväksytty. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 11 / 27

Pakolliset osasuoritukset, jatkuu Paikkausmahdollisuudet Rästitentit. Harjoitustehtävien rästikierros. (Vain kierrosten minimipisteiden saavuttamiseen.) CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 12 / 27

HUOMAA 1. HARJOITUSTEHTÄVÄKIERROKSESTA Aallon IT-palveluissa on katko 16.-17.9. viikonloppuna, mikä hankaloittaa harjoitustehtävien tekemistä viikonlopun aikana. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 13 / 27

Tarvittavat ATK-tunnukset Gobliniin kirjautumiseen tarvitaan Aalto-tunnus. Ensimmäisellä kerralla kannattaa luoda itselleen oma tunnus ja salasana Gobliniin. Näin Gobliniin pääsee myös silloin, jos Aalto-tunnuksella kirjautuminen ei onnistu. Kurssin keskusteluryhmään luodaan tunnus Aalto-sähköpostiosoitteen avulla. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 14 / 27

Yhteistyö harjoitustehtävissä Tehtävien ratkaisuista saa keskustella muiden opiskelijoiden kanssa, mutta jokainen kirjoittaa oman koodinsa itse. Kaveria saa neuvoa, mutta valmista tai lähes valmista ratkaisua ei saa luovuttaa kaverille. Keskustelu tai neuvonta ei saa olla niin yksityiskohtaista, että molemmilla ohjelmissa täsmälleen samat käskyt samassa järjestyksessä. Opetusmonisteessa, luennoilla ja oppikirjassa esitettyä koodia saa käyttää apuna. Epäilyt harjoitustehtävien kopioinnista tai muusta vilpistä lähetetään Perustieteiden korkeakoulun opintoasian päällikön ja opintoasioista vastaavan varadekaanin tutkivattaksi. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 15 / 27

Arvio kurssin työmäärästä Kurssin laajuus on 5 op, joka vastaa noin 133 tuntia työtä. Sen on arvioitu jakautuvan seuraavasti: Luennot 20 tuntia (tai vastaava aika itseopiskeluun). Opetusmonisteen itseopiskelu 33 tuntia. Harjoitustehtävät keskimäärin 8 9 tuntia / krs, yhteensä 77 tuntia. Tentti 3 tuntia. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 16 / 27

Tutkimus Kurssilla kerätään harjoitustehtävien tekemisestä tietoa, jota käytetään tutkimustyöhön, jonka tavoitteena on kehittää entistä parempia työkaluja ja verkko-oppimisympäristöjä ohjelmoinnin opetukseen. Osa tutkimuksesta tehdään yhteistyössä University of Pittsburghin kanssa. Mitään opiskelijoiden henkilötietoja (ei myöskään esim. nimiä tai opiskelijanumeroita) ei välitetä Aalto-yliopiston ulkopuolelle. Jotta tutkimuksessa pystytään erottamaan, mikä on kurssilla opittua ja minkä opiskelija on osannut jo ennen kurssille tuloa, tehdään ensimmäisellä harjoitustehtäväkierroksella esitesti. Testin tekemisestä saa harjoitustehtäväpisteitä, joihin ei vaikuta mitenkään se, onko vastannut kysymyksiin oikein vai väärin. Älä säikähdä, vaikka et osaisi vastata testin kysymyksiin. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 17 / 27

Tietokoneen perusosat Prosessori eli suoritin Keskusmuisti Syöttölaitteet Tulostuslaitteet Lisäksi ulkoista muistia, joka voi toimia sekä syöttö- että tulostuslaitteena. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 18 / 27

Mikä on tietokoneohjelma? Keittokirjan resepti 1. Vatkaa munat ja sokeri vaahdoksi. 2. Lisää jauhot ja sekoita. 3. Kaada vuokaan ja paista 20 minuuttia. Tietokoneohjelma 1. Pyydä rahasumma markkoina ja lue se. 2. Jaa luettu rahasumma 5.94573:lla. 3. Tulosta jakolaskun tulos kuvaruudulle. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 19 / 27

Erilaisia tapoja esittää ohjelma tietokoneelle Käskyt esitetään konekielellä (bittijonoina). Symbolinen konekieli Lausekieli, esim. Python, Java, C, C++, Scala, Pascal jne. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 20 / 27

Kääntäjä ja tulkki Tietokoneen prosessori ymmärtää vain konekielellä annettuja käskyjä. Muussa muodossa annettu ohjelma pitää muuttaa konekielelle. Muuttaminen voidaan tehdä toisella tietokoneohjelmalla, kääntäjällä tai tulkilla. Kääntäjä ottaa koko ohjelman, kääntää sen konekielelle ja tallentaa konekielisen ohjelman tiedostoon. Tulkki muuttaa käskyn kerrallaan konekielelle ja suorittaa käskyn heti. Sen jälkeen se siirtyy ohjelman seuraavaan käskyyn. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 21 / 27

Kolme eri tapaa kirjoittaa ja ajaa Python-ohjelmia Käynnistä Python-tulkki ja anna sille käsky kerrallaan. Kirjoita ohjelma tiedostoon ja aja se komentotulkissa käskyllä python3 tiedosto.py Käytä työkalua, jolla voi sekä kirjoittaa että ajaa Python-ohjelmia, tällä kurssilla Eclipse. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 22 / 27

Ensimmäinen Python-ohjelma print("hyvaa paivaa") CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 23 / 27

Muuttujat Muuttujia käytetään ohjelman käsittelemien arvojen tallentamiseen ja käsittelyyn. Muuttujalle voi antaa arvon sijoituskäskyllä. nimi = "Matti" print("hei,", nimi) print("tervetuloa Python-kurssille!") Esimerkkiajo Hei, Matti Tervetuloa Python-kurssille! CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 24 / 27

Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea input-käskyllä. Käskyn sulkujen sisään kirjoitetaan käyttäjälle annettava kehote. Luetun arvon voi antaa arvoksi muuttujalle sijoituskäskyllä. nimi = input("kerro nimesi: ") print("hei,", nimi) print("tervetuloa Python-kurssille!") Ajoesimerkki Kerro nimesi: Minna Hei, Minna Tervetuloa Python-kurssille! CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 25 / 27

Lukuarvon lukeminen käyttäjältä Käsky input antaa aina luetun arvon tekstinä, merkkijonona. Jotta luettua arvoa voitaisiin käsitellä lukuna, se pitää ensin muuttaa kokonais- tai desimaaliluvuksi. Jos luettu merkkijono on muuttujan rivi arvona, saadaan sitä vastaava kokonaisluku muuttujan luku1 kokonaislukutyyppiseksi arvoksi seuraavasti: luku1 = int(rivi) Vastaava desimaaliluku saadaan muuttujan luku2 float-tyyppiseksi arvoksi seuraavasti: luku2 = float(rivi) CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 26 / 27

Esimerkki: eurolaskuri print("muutan markat euroiksi.") rivi = input("anna rahasumma markkoina: ") markat = float(rivi) eurot = markat / 5.94573 print("se on", eurot, "euroa.") Esimerkkiajo Muutan markat euroiksi. Anna rahasumma markkoina: 543.50 Se on 91.4101380318 euroa. CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2017 27 / 27