Ohjelmoinnin perusteet Y Python



Samankaltaiset tiedostot
Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

T Ohjelmoinnin perusteet Y (Python)

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

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin perusteet Y Python

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

TIE Johdatus ohjelmointiin

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

T Ohjelmoinnin perusteet Y (Python)

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

Tietorakenteet ja algoritmit CSE- A1140 (5 op)

Ohjelmoinnin peruskurssi Y1

Tietorakenteet ja algoritmit Y CSE- A1141 (5 op)

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

Ohjelmointi 1. Kumppanit

Ohjelmoinnin peruskurssi Y1

Fysiikan opinnot Avoimen yliopiston opiskelijoille

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

Ohjelmoinnin perusteet Y Python

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

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

Kurssin käytännön järjestelyt. Tuotantotalous 1 Jukka Kurki

Ohjelmoinnin perusteet Y Python

4. Lausekielinen ohjelmointi 4.1

Kemiantekniikan ohjelmointikurssi CHEM-A2600 (5 op)

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

T Johdatus tietoliikenteeseen 5 op. Kevät 2013

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Tietokoneen toiminta (Computer Organization I)

Ohjelmoinnin perusteet Y Python

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

Tietokoneen toiminta (Computer Organization I)

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6op

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

Ohjelmoinnin peruskurssi Y1

Tietokoneen toiminta (Computer Organization I)

Fysiikan opinnot Avoimen yliopiston opiskelijoille

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

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

Kurssiesite. Rakentamisen tekniikat RAK-C3004. Syksy 2016, periodi I (+ II)

Tietokoneen toiminta (Computer Organization I)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

HISTORIAN OPPIAINE KEVÄTLUKUKAUSI Historian perusopinnot

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

WebOodin opinto-opas ja ilmoittautuminen

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

Johdatus Ohjelmointiin

T harjoitustehtävät, syksy 2011

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python


Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut

Kurssiesite. Rakentamisen tekniikat RAK-C3004

Ohjelmoinnin perusteet Y Python

17/20: Keittokirja IV

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

Kemian tekniikan kandidaattiohjelman ohjelmointikurssi (5 op)

C-ohjelmointikielen perusteet, osa 1

SAS-ohjelmiston perusteet 2010

Johdanto kurssiin ja ohjelmoijan työkaluihin

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Mallilukujärjestys 1. vuosi 2013

Lahden kaupunginkirjasto ASIAKASKOULUTUKSET

Kemiantekniikan ohjelmointikurssi CHEM-A2600 (5 op)

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

Transkriptio:

Ohjelmoinnin perusteet Y Python T-106.1208 17.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 1 / 27

Mihin teekkari / diplomi-insinööri tarvitsee ohjelmointia? Pienten laskentasovellusten kirjoittaminen. Mittauslaitteen tms. ohjaaminen. Ohjelmointitaidosta on apua myös matriisilaskenta- ja taulukkolaskentaohjelmia käytettäessä. Pienikin ohjelmointitaito auttaa valmiiden ohjelmien toiminnan opettelussa ja ymmärtämisessä. Työelämässä paljon tehtäviä niille, joilla on sekä jonkin insinöörialan tuntemus että hyvä ohjelmointitaito. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 2 / 27

Esimerkki harjoitustyöstä, jossa tarvitaan ohjelmointia Kurssi: ENE-58.129 Rakennusten energiatalous (syksy 2007) Annettu: Tiedot rakennuksen koosta, rakenteesta, sijainnista, lämmintysjä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. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 3 / 27

Tämä kurssi Tavoitteena on oppia ohjelmoinnin perusasiat. Aikaisempi ohjelmointitaito ei ole tarpeen. Ohjelmointikielenä käytetään Pythonia. Kurssi keskittyy perusasioihin. Kurssin jälkeen voi jatkaa toiselle tai molemmille seuraavista kursseista: T-106.1223 Tietorakenteet ja algoritmit Y (5 op) AS-0.1101 C-ohjelmoinnin peruskurssi (4 op) mutta ei muille ohjelmointikursseille. Niiden, jotka haluavat opiskella ohjelmointia pidemmälle, on täydennettävä tietojaan ennen muita jatkokursseja. Tarkemmat vaatimukset selviävät kevään aikana. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 4 / 27

Yleistä Henkilökunta Luennoija Kerttu Pollari-Malmi, vastaanotot keskiviikkoisin klo 12:00-13:00 tietotekniikan talon huoneessa B209. 17 tuntiopettajaa. Tiedotus Kurssin kotisivu Nopassa Uutisryhmä opinnot.tik.opey. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 5 / 27

Ilmoittatuminen Ilmoittaudu kurssille WebOodilla. Ilmoittautuminen luennolle, ei harjoitusryhmiin. Kurssille ei voi ilmoittautua sähköpostitse. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 6 / 27

Opetusmuodot Luennot ma 12-14 salissa A ja ke 14-16 salissa M (19.1. ja 26.1.) tai salissa B (2.2. alkaen) Ei luentoja 21. 23.2 eikä 7. 9.3. Viimeinen luento 30.3. Harjoitukset, joissa opiskelijat ratkaisevat harjoitustehtäviä tietokoneella ja assistentit kiertävät neuvomassa. 19 ryhmää viikossa, ajat Nopassa. Osanotto ei ole pakollista eikä siitä saa lisäpisteitä. Tehtävät ovat pakollisia, mutta niitä voi palauttaa myös netin kautta. Oppimateriaali Opetusmoniste (Nopassa, paperiversion tilaus WebOodissa). Perusteellisempaa materiaalia haluaville suositellaan Gaddis: Starting Out with Python, Pearson 2009. Tiiviimpää, mutta Python-ohjelmointia laajemmin käsittelevää materiaalia haluaville suositellaan Budd: Exploring Python, McGraw-Hill 2010. Opetusvideot T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 7 / 27

Haluatko antaa palautetta luennoista? Luennoista on mahdollisuus antaa palautetta kännykällä 24.1. alkaen. Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast ilmo numeroon 16403 tai vaihtoehtoisesti täytä lomake osoitteessa http://opey.experq.com/register Joka luennon jälkeen ilmoittautuneiden joukosta arvotaan 80 opiskelijaa, joille lähetään yksi kysymys luennosta (esim. Anna arvosana luennolle asteikolla 1-5, (5 on paras) Kysymykseen voi vastata ilmaisella tekstiviestillä, joka on muotoa Vast *num* *vapaa palaute*, esim. Vast 3 enemmän esimerkkejä. Myös ne, jotka eivät ole kysymystä luennon jälkeen saaneet, voivat lähettää vapaamuotoista palautetta ja kysymyksiä (24.1. alkaen) numeroon 16403 tekstiviestillä, joka on muotoa Vast *vapaa palaute*, esim Vast enemmän esimerkkejä. Yhteystietoja ei luovuteta kolmansille osapuolille eikä vastauksia liitetä takaisin puhelinnumeroihin. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 8 / 27

Pakolliset osasuoritukset Tentti Perustuu opetusmonisteeseen ja harjoitustehtäviin. Ensimmäinen mahdollisuus 19.5. klo 13:00 16:00. MUISTA ILMOITTAUTUA VIIMEISTÄÄN VIIKKOA AIKAISEMMIN. KESÄTENTIN ILMOITTAUTUMISAIKA PÄÄTTYY VIELÄ AIKAISEMMIN. 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. Kurssiarvosana on tenttiarvosanan ja harjoitusarvosanan keskiarvo, jos molemmat osasuoritukset on hyväksytty. Paikkausmahdollisuudet Rästitentit. Harjoitustehtävien rästikierros. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 9 / 27

Tarvittavat ATK-tunnukset Gobliniin kirjautumiseen tarvitaan TKK:n Weblogin-tunnus. Jos et voi jostain syystä saada vielä tunnusta (esim. jatko-opiskelija, jonka jatko-opintohakemusta ei ole virallisesti vielä hyväksytty), lähetä sähköpostia luennoitsijalle Goblin-tunnuksen saamiseksi. Pääteluokissa työskentelyyn tarvitaan lisäksi Aalto-tunnus. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 10 / 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. Opetusmonisteessa, luennoilla ja oppikirjassa esitettyä koodia saa käyttää apuna. Suojaa työhakemistosi, jotta muut eivät kopioisi vastauksiasi tietämättäsi! Harjoitustehtävien kopioinnista seuraa yleensä koko harjoitustehtäväsuorituksen (kaikki tehtävät) hylkääminen ja ilmoitus opiskelijan tutkinto-ohjelman kansliaan. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 11 / 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 36 tuntia (tai vastaava aika itseopiskeluun). Harjoitustehtävät 8,5 tuntia / krs. Tentti 20 tuntia (valmistautuminen ja osallistuminen). T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 12 / 27

Tietokoneen perusosat Prosessori eli suoritin Keskumuisti Syöttölaitteet Tulostuslaitteet Lisäksi ulkoista muistia, joka voi toimia sekä syöttö- että tulostuslaitteena. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 13 / 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. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 14 / 27

Erilaisia tapoja esittää ohjelma tietokoneelle Käskyt esitetään konekielellä (bittijonoina). Symbolinen konekieli Lausekieli, esim. Python, Java, C, C++, Pascal jne. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 15 / 27

Kääntäjä ja tulkki Tietokoneen prosessori ymmärtää vain konekielellä annettuja käskyjä. Jos tietokoneohjelma annetaan jossain muussa muodossa, pitää se muuttaa konekielelle. Muuttaminen voidaan tehdä toisella tietokoneohjelmalla. Tarkoitukseen tehdyt tietokoneohjelmat jaetaan kahteen luokkaan, kääntäjiin ja tulkkeihin. Kääntäjä ottaa koko ohjelman, kääntää sen konekielelle ja tallentaa konekielisen ohjelman tiedostoon. Ohjelma voidaan ajaa tästä tiedostosta halutun määrän kertoja, eikä ohjelmaa tarvitse kääntää uudelleen. Tulkki ottaa käskyn kerrallaan, muuttaa sen konekielelle ja suorittaa käskyn heti. Sen jälkeen se siirtyy ohjelman seuraavaan käskyyn. Jos ohjelma halutaan suorittaa uudelleen, se pitää tulkata joka kerta uudelleen. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 16 / 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ä python tiedosto.py Käytä työkalua, jolla voi sekä kirjoittaa että ajaa Python-ohjelmia, tällä kurssilla Eclipse. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 17 / 27

Ensimmäinen Python-ohjelma print "Hyvaa paivaa" T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 19 / 27

Muuttujat Muuttujia käytetään ohjelman käsittelemien arvojen tallentamiseen ja käsittelyyn. Muuttujalle voi antaa arvon sijoituskäskyllä, jota merkitään =:lla. nimi = "Matti" print "Hei,", nimi print "Tervetuloa Python-kurssille!" Esimerkkiajo Hei, Matti Tervetuloa Python-kurssille! T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 21 / 27

Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen sisään kirjoitetaan käyttäjälle annettava kehote. Luetun arvon voi antaa arvoksi muuttujalle sijoituskäskyllä. nimi = raw_input("kerro nimesi: ") print "Hei,", nimi print "Tervetuloa Python-kurssille!" Ajoesimerkki Kerro nimesi: Minna Hei, Minna Tervetuloa Python-kurssille! T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 23 / 27

Lukuarvon lukeminen käyttäjältä Lukuarvojen lukeminen on vähän monimutkaisempaa, sillä raw_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) Jos luettu merkkijono on muuttujan rivi arvona, saadaan sitä vastaava desimaaliluku muuttujan luku2 float-tyyppiseksi arvoksi seuraavasti: luku2 = float(rivi) T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 25 / 27

Esimerkki: eurolaskuri print "Muutan markat euroiksi." rivi = raw_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. T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 27 / 27