C-ohjelmoinnin peruskurssi. Pasi Sarolahti
|
|
- Aleksi Melasniemi
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 C! C-ohjelmoinnin peruskurssi Pasi Sarolahti
2 Palautteita Tällä kierroksella oli erittäin hyviä ja valaisevia tehtäviä. Hyvä ensimmäinen kierros. Ympäristön valmisteleminen vaatii aikaa ja vaivaa. Windows ja C eivät sovi yhteen, varsinkaan Valgrindin suhteen... Hankalaa oli se, että C-kielen syntaksi eroaa varsin paljon muista aiemmin oppimistani ohjelmointikielistä." Liukuvan luvun ymmärtäminen oli hieman haastavaa, sillä tietoa piti ettiä muistakin lähteistä. Myös printf-fuktion rakenne jäi epäselväksi, erityisesti %d %u tapauksissa. Muuten tekstin rakenne ja opetusjärjestys oli johdonmukainen, selkeä ja motivoiva. TIM järjestelmä oli minulle uusi, mutta se ei haitannut sillä se on tosi looginen ja intuitiivisesti interaktiivinen. Hieman olisi enemmän voinut kertoa eri ohjelmointiympäristöjen eduista ja miten ne soveltuu tälle kurssille. Jäi esimerkiksi epäselväksi,että toimiiko python1-kurssilta tuttu ja aloittelijalle hyväksitodettu Eclipse C-ohjelmoinnissa? 2
3 Toiveeni / Tavoitteeni kurssille Mitä haluan saavuttaa kurssilla? Voiko kurssista olla jotain hyötyä itselleni tulevaisuudessa? presemo.aalto.fi/c18 3
4 Mikä C? 4
5 Ken Thompson & Dennis Ritchie 5
6 C vs Python Python friends = ['john', 'pat', 'gary', 'michael'] for i, name in enumerate(friends): print "iteration {iteration} is {name}".format(iteration=i, name=name) C #include <stdio.h> int main(void) { const char *friends[] = { "john", "pat", "gary", "michael" }; for (int i = 0; i < 4; i++) { printf("iteration %d is %s\n", i, friends[i]); } } 6
7 C vs. Python C-lähdekoodi Python-koodi C-kääntäjä Ohjelmabinääri Käyttöjärjestelmä Tietokone Python-tulkki Käyttöjärjestelmä Tietokone 7
8 C vs. Python - eroja Muotoilu C-kielessä sisennyksillä tai rivinvaihdoilla ei (teknisesti ottaen) väliä - Äärimmillään koko ohjelman voi kirjoittaa (melkeinpä) yhdelle riville - Käytännössä ohjelma pitää muotoilla selkeästi Muuttujat C:ssä staattinen tyypitys: tyyppi määritellään käännösaikana Muuttujien yhteydessä niiden tyyppi on aina määriteltävä Syntaksi Puolipiste lopettaa aina lauseen: unohtaminen aiheuttaa virheen Lohkorakenteet merkitään aaltosuluilla Muistinhallinta Yms. 8
9 Mikä C? Pieni yksinkertainen kieli, vain muutamia kielen avainsanoja Toiminnallisuus funktioissa, data muuttujissa Ei olioita Melko matalan tason kieli Osoittimien avulla päästään tietokoneen muistin tasolle Staattinen tyypitys muuttujien tyyppi päätetään kiinteästi käännösaikana I/O, merkkijonojen käsittely, ym. monimutkaiset operaatiot toteutettu kirjastoissa Funktioita, joita kutsutaan, eivät kielen ominaisuuksia 9
10 Kurssin tavoitteet C-kielen perusteiden hallinta, mm. Perusrakenteet, tietotyypit ja syntaksi Osoittimet Muistinhallinta Bittien käsittely Kyky toteuttaa itsenäisesti lyhyitä C-ohjelmia Kyky löytää ja korjata virheitä omasta (ja toisten) koodista Tarvittavien koodaus- ja debugaustyökalujen tunteminen C-guruksi tullaan ohjelmoimalla ja kokemuksen kautta 5 op:n kurssi on vain alkusysäys 10
11 Työskentelytavat Ohjelmoimaan oppii parhaiten ohjelmoimalla Paljon ohjelmointiharjoituksia Palautus automaattiselle tarkistimelle Materiaali verkossa Vähän luentoja Tarkoitus ei toistaa verkkomateriaalin asioita sellaisenaan Ota luennolla esiin epäselviksi jääneitä asioita Voidaan tarkastella myös ajankohtaisia harjoitustehtäviä 11
12 Aikataulu (katso tarkemmat tiedot MyCoursesista) Kymmenen osiota & tehtäväkierrosta Määräajat pääsääntöisesti viikon välein Arviointiviikoilla tauko Ajoittuvat periodeille III ja IV Max pistettä jaossa / 100 pistettä per kierros Periodi V: ohjelmointitehtävä ja ohjelmointikoe Määräajat perjantaisin klo 23:59 Ensimmäinen: pe
13 Ruuhkaa? 13
14 Luennot Torstaisin klo 12:15 Joinain viikkoina ei luentoja, seuraa tiedotteita Alkupään luennot ja tilaisuudet To käydään läpi työkaluja ja esimerkkejä To 1.2. Osoittimet ja merkkijonot To 2.2. Debugaustyökalut 14
15 Arviointi 40% Ohjelmointiharjoituksista Saatava vähintään 500 pistettä Vähintään 7 kierroksesta saatava 50 pistettä tai enemmän 20% Ohjelmointitehtävästä 40% Kokeesta Vähintään 50% tehtäväpisteistä saatava Koe tehdään koneella ja järjestetään toukokuun alkupuolella Kustakin osa-arvosana, josta painotettu keskiarvo => arvosana 15
16 Maarintalon harjoitukset (Ensisijaisesti Maari-A, tarvittaessa Maari-C) Mahdollisuus saada apua ongelmiin Toimintaohjeita: Ei kannata odottaa käsi pystyssä, assarit kiertävät salia järjestyksessä Kannattaa tarkistaa mitä naapuri tekee, odottaessa tehtäviä voi miettiä yhdessä Kaveria saa neuvoa Koodin kopioiminen ei ole hyödyllistä auttamista (kostautuu kokeessa) Järjestelmälliseen kopiointiin puututaan Assarit paikalla Ma To Svenska: Ti 14 16, Fr Maari-C Ti Pe Ke
17 Assarit (kts. MyCourses) 17
18 Kurssimateriaali Verkossa: Tehtävät upotettu materiaalin sekaan Tehtäväpalautus samassa Rekisteröidy ensin aalto-sähköpostiosoitteella Myös kirjallisuutta kannattaa käyttää Hyvä perinteinen kirja: Kernighan, Ritchie: The C Programming Language, 2 nd edition. Prentice Hall. - C is not a big language, and it is not well served by a big book Netissä paljon tietoa 18
19 Palaute Joka kierroksen lopussa pieni palautekysely 5 pistettä Palautteita käsitellään luennoilla Yhteenveto ilmestyy myös kunkin kierroksen loppuun määräajan jälkeen Lisäksi kysellään hyvää tyyppiä Onko joku ollut erityisen avulias tehtävien kanssa? Assari / toinen opiskelija / muu kaveri /. Pieniä palkintoja luvassa 19
20 Keskustelukanavat Suositeltu: Slack Liity: Erityisesti kätevä pastebin toiminnon kanssa Voit jakaa ohjelmasi ja kysyä siihen liittyen apua 20
21 C - ohjelman tuottaminen
22 C-ohjelmoinnin vaiheet 1. Kirjoitetaan ohjelmakoodi tekstieditorilla Ohjelmatiedostot nimetään.c päätteellä Suuret ohjelmistot koostuvat useista lähdetiedostoista 2. Käännetään ohjelmakoodi Esikäännös: koodin alkuprosessointi Käännös: c-koodista objektitiedostoksi (yksi per.c tiedosto) Linkkaus: koostetaan objektitiedostot suoritettavaksi ohjelmaksi Mikäli varoituksia tai virheitä, mennään kohtaan 1 ja korjataan 3. Testataan ohjelmaa Mikäli virheitä, mennään kohtaan 1 ja korjataan 22
23 C-kehityksessä käytetyt tiedostot.c päätteiset tiedostot sisältävät lähdekoodin Suurempi ohjelma voi sisältää näitä useita Yhdistetään yhdeksi ohjelmaksi linkkausvaiheessa.h päätteiset tiedostot ovat otsakkeita Tietotyyppien ja funktioiden määrittelyt Viittaukset.c tiedostoista #include - komennolla Tarvitaan, jotta lähdekoodi voi käyttää ulkopuolisia määrittelyjä Makefile ohjeistus make-työkalulle Kertoo mitkä tiedostot ohjelmaan kuuluvat Sisältää ohjeet ohjelman kääntämiseksi Sekä mahdollisesti muita kehityksessä tarvittavia toimintoja 23
24 Ohjelman kääntäminen Usein käytetään GNU C (gcc) kääntäjää Yksinkertaisimmillaan komentorivillä: gcc <lähdetiedosto.c> Tuottaa a.out nimisen tiedoston, joka suorittaa ohjelman Jos ohjelma koostuu useasta lähdetiedostosta, kaikki.c tiedostot listataan komentorivillä.h tiedostoja ei listata tässä 24
25 Kääntämisen tulos Jos kaikki sujuu hyvin: ei tulostetta Kurssin ohjelmissa syntyy src/main ja test/test - tiedostot Käännösvirheet Kääntäjä ei pysty tuottamaan suoritettavaa binääritiedostoa Tutki virheilmoitukset, ja yritä korjata koodi niiden mukaan Varoitukset Kääntäjä tuottaa suoritettavan koodin ja binääritiedosto syntyy Koodissa on hyvin todennäköisesti vikaa Varoitukset syytä aina korjata (tarkistin sakottaa näistä) Ilmoituksissa rivinumero ongelman paikantamiseksi 25
26 Yksinkertainen esimerkki #include <stdio.h> int main(void) { /* The following line will print out some text */ printf( hello, world\n"); } #include sisällyttää stdio-kirjaston ohjelmaan (printf funktio on määritelty täällä) int main määrittelee ohjelman aloittavan main-funktion /*.. */ on kommentti: se saa sisältää mitä vaan Printf tulostaa annetun tekstin 27
27 Mitä C-ohjelmalle tapahtuu? ASM global _main extern _printf section.text main: push message call _printf add esp, 4 ret message: db hello, world', 10,
28 Mitä C-ohjelmalle tapahtuu? Konekieli b8 21 0a #moving "!\n" into eax a3 0c #moving eax into first memory location b8 6f 72 6c 64 #moving "orld" into eax a #moving eax into next memory location b8 6f 2c #moving "o, W" into eax a #moving eax into next memory location b c 6c #moving "Hell" into eax a #moving eax into next memory location b #moving pointer to start of memory location into ecx ba #moving string size into edx bb #moving "stdout" number to ebx b #moving "print out" syscall number to eax cd 80 #calling the linux kernel to execute our print to stdout b #moving "sys_exit" call number to eax cd 80 #executing it via linux sys_call 29
29 Palautteita Tällä kierroksella oli erittäin hyviä ja valaisevia tehtäviä. Hyvä ensimmäinen kierros. Ympäristön valmisteleminen vaatii aikaa ja vaivaa. Windows ja C eivät sovi yhteen, varsinkaan Valgrindin suhteen... Hankalaa oli se, että C-kielen syntaksi eroaa varsin paljon muista aiemmin oppimistani ohjelmointikielistä." Liukuvan luvun ymmärtäminen oli hieman haastavaa, sillä tietoa piti ettiä muistakin lähteistä. Myös printf-fuktion rakenne jäi epäselväksi, erityisesti %d %u tapauksissa. Muuten tekstin rakenne ja opetusjärjestys oli johdonmukainen, selkeä ja motivoiva. TIM järjestelmä oli minulle uusi, mutta se ei haitannut sillä se on tosi looginen ja intuitiivisesti interaktiivinen. Hieman olisi enemmän voinut kertoa eri ohjelmointiympäristöjen eduista ja miten ne soveltuu tälle kurssille. Jäi esimerkiksi epäselväksi,että toimiiko python1-kurssilta tuttu ja aloittelijalle hyväksitodettu Eclipse C-ohjelmoinnissa? 30
30 Työkaluista Perinteinen: komentorivi + tekstieditori Editori: esimerkiksi Kate, Emacs, Vi, Notepad++ Ohjelman kääntäminen ja suorittaminen komentoriviterminaalissa Integroitu kehitysympäristö (IDE) Kaikki toiminnot yhdessä paketissa Netbeans, Eclipse, Vistual Studio, Xcode Esim. Debuggerin käyttö helpompaa Ohjeita MyCoursesissa 31
31 Työkalut eri järjestelmille Linuxissa hyvä kehitystuki Tarvittavat ohjelmat usein asennettu oletusarvoisesti Paras tuki ohjelmien analysoimiseen ja debugaukseen Mac OS X XCode-ohjelmointiympäristön mukana tarvittavat työkalut - Asenna lisäksi komentorivityökalut - XCode IDE:n käyttö havaittu epäkäteväksi kurssilla Kääntäjä ja debuggeri eroavat Linuxista Valgrind ei välttämättä toimi Windows-tilanne on hyvä jos Win 10 käytössä Asenna Ubuntu-paketti, Asetuksista Windows subsystem for Linux Myös Visual Studio mahdollinen, mutta kääntäjässä joitain eroja kurssilla käytettyyn 32
C-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 12.1.2017 presemo.aalto.fi/c17 1/12/17 Mikä C? 3 Ken Thompson & Dennis Ritchie http://www.computerhistory.org/fellowawards/hall/bios/ken,thompson/ 4 Mikä C?
LisätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 4.6.2018 Mikä C? 4 Ken Thompson & Dennis Ritchie http://www.computerhistory.org/fellowawards/hall/bios/ken,thompson/ 5 C vs Python Python friends = ['john',
LisätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia
LisätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 20.6.2016 Mikä C? 2 Kurssin tavoitteet C-kielen perusteiden hallinta, mm. Perusrakenteet, tietotyypit ja syntaksi Osoittimet Muistinhallinta Bittien käsittely
LisätiedotAS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013
LisätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti 12.1.2016
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti 12.1.2016 Mikä C? 2 Ken Thompson & Dennis Ritchie http://www.computerhistory.org/fellowawards/hall/bios/ken,thompson/ 3 Mikä C? Pieni kieli, vain muutamia kielen
LisätiedotLoppukurssin järjestelyt
C! Loppukurssin järjestelyt 29.3.2018 Ohjelmassa Yhteenvetoa palautteesta Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Kysyttävää / kerrattavaa 10-kierroksen asioista? Aikatauluista 10. kierroksen
LisätiedotLoppukurssin järjestelyt C:n edistyneet piirteet
C! Loppukurssin järjestelyt C:n edistyneet piirteet 30.3.2017 Ohjelmassa Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Esikääntäjä Parametrilistat Funktio-osoittimet Kunniamainintoja Kuura
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
LisätiedotT harjoitustehtävät, syksy 2011
T-110.4100 harjoitustehtävät, syksy 2011 Kurssiassistentit Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto T-110.4100@tkk.fi Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä ja harjoitustehtävät
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely
LisätiedotT harjoitustyö, kevät 2012
T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,
LisätiedotDynaaminen muisti. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät 2017.
C! Dynaaminen muisti 9.2.2017 Agenda Kertausta merkkijonoista Dynaaminen muisti Valgrind-perusteet ja esimerkkejä Seuraava luento to 2.3. Ei harjoituksia arviointiviikolla 13.2. 17.2. 2 Palautetta merkkijonoihin
Lisätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
LisätiedotPythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
LisätiedotOhjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
LisätiedotKurssin aloitus. AS-0.110 XML-kuvauskielten perusteet Janne Kalliola
Kurssin aloitus AS-0.110 XML-kuvauskielten perusteet Janne Kalliola English Summary The lectures will be held in Finnish The slides are in Finnish, too All other material is in English The course book
LisätiedotModuli 5: Kehittyneitä piirteitä
C! : Kehittyneitä piirteitä 19.4.2016 Aikataulusta 5. harjoituskierroksen määräaika: pe 22.4. Maari-C keskiviikkoisin ja torstaisin (12-14) Ti 26.4. Harjoitustentti (eli kertausluento) Normaalin luennon
LisätiedotTT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu
LisätiedotTietueet. Tietueiden määrittely
Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2015 Työkaluista Perinteinen: komentorivi + tekstieditori Editori: esimerkiksi Kate, Notepad++, Aquamacs (Emacs) Ohjelman kääntäminen ja suorittaminen komentoriviterminaalissa TMC - komentorivityökalu
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotTIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli
TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2
LisätiedotLyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
LisätiedotApuja ohjelmointiin» Yleisiä virheitä
Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
LisätiedotTIE Principles of Programming Languages CEYLON
TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita
LisätiedotOhjelmointi Linuxissa. Sisällysluettelo. 1. Mitä tarvitaan sovellusten tuottamiseen? Tehnyt: Antti Martikainen (1300698)
Ohjelmointi Linuxissa Tehnyt: Antti Martikainen (1300698) Sisällysluettelo 1. Mitä tarvitaan sovellusten tuottamiseen?...1 2. GNU Toolchain...2 3. Tekstieditorit...2 4. Hello world-sovelluksen luominen
LisätiedotBinäärioperaatiot Tiedostot ja I/O
C! Binäärioperaatiot Tiedostot ja I/O 8.3.2018 Tiedotteita Viimeinen luento to 29.3. Ohjelmointitehtävä, ohjelmointikoe ja niiden järjestelyt Ohjelmointikokeeseen ilmoittautuminen auki 2 .c tiedostot ja.h
LisätiedotOsoittimet ja taulukot
C! ja taulukot 1.2.2018 Tiedotteita Tämän jälkeen taas pari väliviikkoa (tenttiviikko) Seuraava luento 22.2. Laskareita ei tenttiviikolla 12.2. 16.2. 2 ja muisti Muisti Keskusyksikkö Suorittaa muistissa
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009
Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00
LisätiedotRakenteiset tietotyypit Moniulotteiset taulukot
C! Rakenteiset tietotyypit Moniulotteiset taulukot 22.2.2018 Agenda Rakenteiset tietotyypit Vilkaisu 6. kierroksen tehtäviin Moniulotteiset taulukot Esimerkki Seuraava luento to 8.3. Ilmoittautuminen ohjelmointikokeeseen
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n
LisätiedotChapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotBinäärioperaatiot Tiedostot ja I/O
C! Binäärioperaatiot Tiedostot ja I/O 16.3.2017 Tiedotteita Määräaikoja pidennetty Myös 7. kierros uudestaan auki perjantaihin asti Seuraava ja viimeinen luento 30.3. Makrot, funktio-osoittimet Kokeen
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
LisätiedotHarjoitus 6 (viikko 42)
Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien
LisätiedotJohdatus ohjelmointiin 811122P Yleiset järjestelyt: Kurssin sivut noppa -järjestelmässä: https://noppa.oulu.fi/noppa/kurssi/811122p/etusivu 0. Kurssin suorittaminen Tänä vuonna kurssin suorittaminen tapahtuu
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
LisätiedotKYMENLAAKSON AMMATTIKORKEAKOULU
1 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Ole Halonen GNU-ohjelmointityökalut Linux-järjestelmät 206101310 Seminaarityö 22.11.2012 2 Sisällysluettelo 2 1 Johdanto
LisätiedotXML tehtävien työnkulku
XML tehtävien työnkulku -- TMC työskentelyohjeet LYHYT VERSIO XML harjoitusten toimintaohjeet (lyhyt versio) (XMLStarlet ohjeet löytyvät pitkästä versiosta) ELEC-C1220 - Automaatio 2 Sisältö LYHYT VERSIO
LisätiedotP e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN
LisätiedotModuli 4: Moniulotteiset taulukot & Bittioperaatiot
C! : Moniulotteiset taulukot & Bittioperaatiot 15.3.2016 Agenda Pieni kertausharjoitus Moniulotteiset taulukot Esimerkki taulukoista Tauko (bittitehtävä) Binäärioperaatioista Esimerkki (vilkaistaan IP
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotHarjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5
Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät tekniset ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida
LisätiedotTT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Info 15/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Info 2) Arvostelu 3) Kurssin sisältö 4) Alustava aikataulu 5) Projekti 6) Kertaustarve
LisätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua
LisätiedotHarjoitus 2 (viikko 45)
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän
LisätiedotOhjelmointi 1 / syksy /20: IDE
Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne
LisätiedotSoveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen
Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotHarjoitus 5 (viikko 41)
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä, käytä
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
LisätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
LisätiedotKemian tekniikan kandidaattiohjelman ohjelmointikurssi (5 op)
Kemian tekniikan kandidaattiohjelman ohjelmointikurssi (5 op) Antti Karttunen ja Juhani Teeriniemi Osa 1 Ohjelmoinnin peruskäsitteitä, Python, Spyder-kehitysympäristö, tulostaminen, syötteen lukeminen,
LisätiedotC-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.
Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
LisätiedotTentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.
Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen
LisätiedotRuby. Tampere University of Technology Department of Pervasive Computing TIE Principles of Programming Languages
Tampere University of Technology Department of Pervasive Computing TIE-20306 Principles of Programming Languages Ruby Ryhmä 8 Juho Rintala Sami Paukku Sisällysluettelo 1 Johdanto... 3 2 Paradigma... 3
LisätiedotOhjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.
Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan
LisätiedotCVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen
CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot
LisätiedotC-ohjelmointikielen perusteet, osa 1
C-ohjelmointikielen perusteet, osa 1 Kurssi johdattaa sinut askel askeleelta C-ohjelmoinnin perusteisiin. Kurssi suoritetaan kokonaan netissä vuorovaikutteisella alustalla itseopiskeluna tutorin avustuksella.
LisätiedotOhjelmoinnin perusteet Y Python
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.
LisätiedotPRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER
PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotTIE Principles of Programming Languages. Seminaariesityksen essee. Ryhmä 18: Heidi Vulli, Joni Heikkilä
TIE-20306 Principles of Programming Languages Seminaariesityksen essee Ryhmä 18: Heidi Vulli, Joni Heikkilä SISÄLLYSLUETTELO 1. Johdanto... 1 2. Ohjelmointikielen perusperiaatteet... 1 2.1 Paradigmat...
LisätiedotLaiteläheinen C-kieli osa 1 pva
Laiteläheinen C-kieli osa 1 pva 12.7.2016 Osion sisältö Ohjelmoimaan oppii vain itse tekemällä Ensimmäinen projekti ja ensimmäinen ohjelma hello.c Oletus Sinulla on käytössäsi 1. GNU/Linux (Mint) pöytäkone
LisätiedotHarjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:
Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
LisätiedotDart. Ryhmä 38. Ville Tahvanainen. Juha Häkli
Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 10: Aliohjelmat, foreign function interface Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 3. 2013 Sisältö 1 Aliohjelmien käyttäminen
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotLausekielinen ohjelmointi II Ensimmäinen harjoitustyö
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Yleistä Tehtävä: Tee Javalla StringStats-ohjelma, joka laskee esikäsittelemästään merkkijonosta joitakin tunnuslukuja. Lausekielinen ohjelmointi II
LisätiedotHarjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.
Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien
LisätiedotD-OHJELMOINTIKIELI. AA-kerho, 33. Antti Uusimäki. Arto Savolainen
D-OHJELMOINTIKIELI AA-kerho, 33 Antti Uusimäki Arto Savolainen 2 D-OHJELMOINTIKIELI D-kielen historia alkaa vuodesta 1999, kun Walter Bright aloitti uuden ohjelmointikielen kehittämisen. Ensimmäinen versio
LisätiedotHarjoitus 5 (viikko 48)
Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa
LisätiedotNäin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi
Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut Ohjelmointikurssin järjestäminen Helsingin yliopiston Ohjelmoinnin MOOC-kurssimateriaalin avulla 15.4.2016 1 Linkki Tietojenkäsittelytieteen
Lisätiedot