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 peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

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

Ohjelmoinnin perusteet Y Python

TIE Johdatus ohjelmointiin

T Ohjelmoinnin perusteet Y (Python)

Ohjelmoinnin peruskurssi Y1

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

Ohjelmointi 1. Kumppanit

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Ohjelmoinnin peruskurssi Y1

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

Tietorakenteet ja algoritmit CSE- A1140 (5 op)

Tietorakenteet ja algoritmit Y CSE- A1141 (5 op)

4. Lausekielinen ohjelmointi 4.1

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin perusteet Y Python

Tietokoneen toiminta (Computer Organization I)

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

Kemiantekniikan ohjelmointikurssi CHEM-A2600 (5 op)

Tietokoneen toiminta (Computer Organization I)

Ohjelmoinnin perusteet Y Python

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

Tietokoneen toiminta (Computer Organization I)

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

Ohjelmoinnin perusteet Y Python

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

Tietokoneen toiminta (Computer Organization I)

Mallilukujärjestys Teknistieteellinen kandidaattiohjelma Tietotekniikka, 2. vuosikurssi

Ohjelmoinnin perusteet Y Python

Mallilukujärjestys 1. vuosi 2013

Luento 1 Tietokonejärjestelmän rakenne

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

Fysiikan opinnot Avoimen yliopiston opiskelijoille

Ohjelmoinnin peruskurssi Y1

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

T Johdatus tietoliikenteeseen 5 op. Kevät 2013

Ohjelmoinnin perusteet Y Python

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

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

Ohjelmoinnin perusteet Y Python


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

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Luento 1 Tietokonejärjestelmän rakenne

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

Kemian tekniikan kandidaattiohjelman ohjelmointikurssi (5 op)

Ohjelmoinnin peruskurssi Y1

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Johdatus Ohjelmointiin

Ohjelmoinnin perusteet Y Python

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

HISTORIAN OPPIAINE KEVÄTLUKUKAUSI Historian perusopinnot


Ohjelmoinnin peruskurssi Y1

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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

Ohjelmoinnin peruskurssi Y1

Korpusten käsittely clt131, P Luento 5

Ohjelmoinnin perusteet Y Python

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

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

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Kurssiesite Lausekielinen ohjelmointi I Kesä Jorma Laurikkala Tietojenkäsittelytieteet Luonnontieteiden tiedekunta Tampereen yliopisto

Ohjelmoinnin perusteet Y Python

WebOodin opinto-opas ja ilmoittautuminen

Ohjelmoinnin peruskurssi Y1

Fysiikan opinnot Avoimen yliopiston opiskelijoille

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

Transkriptio:

Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 1 / 25

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 19.1.2009 2 / 25

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 19.1.2009 3 / 25

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 suoritettava tämän kurssin sijaan / lisäksi kurssi T-106.1203 Ohjelmoinnin perusteet L (Java) (5 op) T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 4 / 25

Yleistä Henkilökunta Luennoija Kerttu Pollari-Malmi, vastaanotot keskiviikkoisin klo 12:00-13:00 tietotekniikan talon huoneessa B209. 16 tuntiopettajaa ja Goblin-ylläpitäjä. 2 tukiassistenttia Tiedotus Kurssin kotisivu Nopassa Uutisryhmä opinnot.tik.opey. T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 5 / 25

Ilmoittatuminen Ilmoittaudu kurssille WebOodilla 20.1. klo 15:00 mennessä. Ilmoittautuminen opetustapahtumaan OPEY kurssi-ilmoittautuminen. Jälki-ilmoittautuminen (WebOodissa) on mahdollista, mutta myöhästyttää harjoitustehtävien tekemisessä välttämättömän Goblin-tunnuksen saamista. Luennoille tai harjoitusryhmiin ei ilmoittauduta. Kurssille ei voi ilmoittautua sähköpostitse. T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 6 / 25

Opetusmuodot Luennot ma 12-14 ja ke 14-16 salissa A. (Ke 4.2. poikkeuksellisesti salissa B.) Ei luentoja 16. 18.2. eikä 9. 11.3. Viimeinen luento 1.4. 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 (saatavilla kurssin Noppa-sivulta, paperiversion voi tilata WebOodin kautta). Perusteellisempaa materiaalia haluaville suositellaan Gaddis: Starting Out with Python, Pearson 2009. T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 7 / 25

Pakolliset osasuoritukset Tentti Perustuu opetusmonisteeseen ja harjoitustehtäviin. Ensimmäinen mahdollisuus 8.5. klo 13:00 17:00. MUISTA ILMOITTAUTUA VIIMEISTÄÄN VIIKKOA AIKAISEMMIN. Harjoitustehtävät 9 kierrosta, joista 8 ensimmäistä pakollista. Palautetaan netin kautta automaattisille tarkastajille (Goblin ja Ville). 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 19.1.2009 8 / 25

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 19.1.2009 9 / 25

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. (Ville-tehtävät 0 0,5 tuntia ja Goblin-tehtävät 8 8,5 tuntia / krs.) Tentti 20 tuntia (valmistautuminen ja osallistuminen). T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 10 / 25

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 19.1.2009 11 / 25

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 19.1.2009 12 / 25

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 19.1.2009 13 / 25

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 19.1.2009 14 / 25

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 19.1.2009 15 / 25

Ensimmäinen Python-ohjelma print "Hyvaa paivaa" T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 17 / 25

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 19.1.2009 19 / 25

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 19.1.2009 21 / 25

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 19.1.2009 23 / 25

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 19.1.2009 25 / 25