T Ohjelmistotekniikan seminaari

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

Encapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

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

7.4 Variability management

812336A C++ -kielen perusteet,

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

Ohjelmoinnin peruskurssien laaja oppimäärä

M. Merikanto 2012 XML. Merkkauskieli, osa 2

Kandidaatintyöprosessi Sähköenergiatekniikan laitoksella


TIEA341 Funktio-ohjelmointi 1, kevät 2008

Seminaariesitys. Jokainen pitää työstään seminaariesityksen. Kesto n. 10 min Käytössä piirtoheitin ja dataprojektori

Sopimuspohjainen olio-ohjelmointi

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Graafisen käyttöliittymän ohjelmointi Syksy 2013

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

Department of Media Technology EMO

Interfacing Product Data Management System

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

1. Olio-ohjelmointi 1.1

Ohjelmointi 1 / syksy /20: IDE

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

A! PEDA INTRO (5 op)

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

OPINTOKYSELY Tämä on Inkubion vuoden 2014 opintokysely

Toimilohkojen turvallisuus tulevaisuudessa

Bootstrap / HTDP2 / Realm of Racket. Vertailu

RINNAKKAINEN OHJELMOINTI A,

Siirtyminen TS2005:stä TS2013:een

Johdanto. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

Ohjelmistojen mallintaminen

9. Periytyminen Javassa 9.1

Tärkeää huomioitavaa:

PERUSAINEIDEN LAAJA OPPIMÄÄRÄ Syksyn 2007 informaatiotilaisuudet: MA 3.9. klo G-salissa/ TI 4.9. klo G-salissa TERVETULOA!

15. Ohjelmoinnin tekniikkaa 15.1

DOORSin Spreadsheet export/import

Johdatus ohjelmointiin

HYVIEN KÄYTÄNTÖJEN JUURTUMINEN. Paremmat arjentaidot hankkeiden tapaaminen

Tärkeää huomioitavaa:

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

4. Lausekielinen ohjelmointi 4.1

13/20: Kierrätys kannattaa koodaamisessakin

HAHMONTUNNISTUKSEN PERUSTEET

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Ohjelmistoarkkitehtuurit. Syksy 2010

PROJEKTITOIMINTA Tietoa käytännöistä

Ohjelmistoarkkitehtuurit. Kevät

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

UML:n yleiskatsaus. UML:n osat:

TIEA255 Tietotekniikan teemaseminaari ohjelmointikielet ja kehitysalustat. Antti-Juhani Kaijanaho. 16. helmikuuta 2011

1 Siirry tämän osion viimeisen kysymyksen jälkeen kysymykseen Siirry tämän osion viimeisen kysymyksen jälkeen kysymykseen 17.

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

PERUSAINEIDEN LAAJA OPPIMÄÄRÄ Syksyn 2008 informaatiotilaisuudet: to 4.9. klo L-salissa/ pe 5.9. klo L-salissa TERVETULOA!

ELM GROUP 04. Teemu Laakso Henrik Talarmo

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

Apuja ohjelmointiin» Yleisiä virheitä

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

TIE Principles of Programming Languages CEYLON

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

Kandidaatintyö Elektroniikan laitoksella. Kandidaatintyöluennot (Ala kirjoittaa! -luentosarja)

Museo 2015 järjestelmä ja Museoiden luettelointiohjeet

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

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

Luku 5. Monadit. 5.1 Siirrännän ongelma

VAPAAEHTOISTYÖN PORTFOLIO MAAHANMUUTTAJILLE

Keskeisiä kehittämiskohteita eri roolien näkökulmasta, mikä toimii, mikä ei? Mira Pihlaja, Vaasan AMK

PERUSTIETEIDEN LAAJA OPPIMÄÄRÄ Syksyn 2010 informaatiotilaisuudet: to 2.9. klo L-salissa / pe 3.9. klo F-salissa TERVETULOA!

KanTa. ereseptin käyttöönoton valtakunnallinen

OPETUSSUUNNITELMA SYMBIAN KOULUTUS. Oulussa Koulutuksen aloitus, lähtötason testaus, henkilökohtainen opiskelusuunnitelma

Opiskelijan motivaation rakentuminen ja ylläpitäminen virtuaaliympäristössä

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

KEMIANTEKNIIKAN DI-OHJELMA MASTER S DEGREE PROGRAMMES IN CHEMICAL ENGINEERING 2014-

15. Ohjelmoinnin tekniikkaa 15.1

VUOKATIN URHEILUOPISTO SUOMEN HIIHDONOPETTAJAT RY. Hiihdonopettajakoulutus kaudella PERUSKURSSIT

Kandidaatintutkielma 6 op (+Äidinkielinen viestintä 3 op) (+Tutkimustiedonhaku 1 op) (+Kypsyysnäyte 0 op) Kevät 2015 Jaakko Kurhila

812341A Olio-ohjelmointi, I Johdanto

Rekrytointi ja henkilöstöhallinto

Ohjelmointi 1 C#, kevät 2013, 2. tentti

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

KJR-C2004 Materiaalitekniikka. Käytännön järjestelyt, kevät 2017

Java Runtime -ohjelmiston asentaminen

MOLTO-konekäännösprojekti ja Grammatical Framework

Microsoft Visual J++ ohjelmointiympäristö

Tietotekniikan kandidaattiseminaari

Tieto- ja palvelujohtamisen erikoistumisalue opintojen suunnittelu

PHYS-A0120 Termodynamiikka (TFM) Maanantai

HOJ J2EE & EJB & SOAP &...

Ohjelmoinnin peruskurssien laaja oppimäärä

4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS Tutkinnon rakenne. Matemaattisten aineiden koulutusohjelma

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Artikkelikansio (2 op), tentitään tiedekunnan tai I oppiaineryhmän tenttipäivänä. Tentaattori Veli-Pekka Lehtola.

Vanhuspalvelujen asiakasraati

Muistitko soittaa asiakkaallesi?

Visualisointi informaatio- verkostojen opinto-oppaasta Informaatioverkostojen kilta Athene ry Opintovastaava Janne Käki 19.9.

Transkriptio:

T-106.5800 Ohjelmistotekniikan seminaari Scala-lukupiiri, kevät 2013 Teemu Sirkiä teemu.sirkia@aalto.fi 31.1.2013

Kenelle tämä lukupiiri on suunnattu? Scalasta kiinnostuneille Erityisesti heille, joita kiinnostaa toimia syksyllä uuden Scalalla pidettävän ohjelmoinnin peruskurssin assistentteina hakuaika päättyy 3. helmikuuta, lisähakuja tulossa keväällä (?) hakuilmoitus: tori.tyopaikat lisätietoja Juha Sorvalta

Esitietovaatimukset Scalasta ei tarvitse tietää mitään, mutta hyvä aiempi ohjelmointitaito ja -kokemus on hyödyksi, jotta uusia asioita on helpompi omaksua Ohjelmoinnin peruskurssit on siis syytä olla suoritettuna, mutta muita virallisia esitietovaatimuksia ei ole

Lukupiirin tavoitteita Scalan syntaksi ja funktionaalinen ohjelmointi tutuksi Scalaan liittyvät perusteet ja käsitteet hyvin hallussa Miten asioita kannattaa katsoa aloittelijan näkökulmasta Keskustelua kielen piirteistä ja niiden hyödyllisyydestä esimerkiksi muihin kieliin verrattuna yms. Tarkoitus ei ole kuitenkaan käydä koko kieltä ja sen kirjastoja yksityiskohtaisesti läpi!

Kirja Odersky, Spoon & Venners: Programming in Scala, 2. painos Kirjassa käytetään versiota 2.8, tällä hetkellä uusin versio on 2.10 Sähköinen ja paperinen versio olemassa

Käytännön järjestelyt Viikoittaiset tapaamiset: torstaisin n. kahden tunnin tapaaminen klo 14-18. Mikä olisi sopivin aika? torstaisin klo 14:15 16:00 torstaisin klo 15:00 17:00 torstaisin klo 16:15 18:00 jokin muu n. kahden tunnin aika ko. aikavälillä? Tarvitaanko kaksi erillistä ryhmää?

Käytännön järjestelyt Lukupiiristä saa 2-5 opintopistettä Mikäli haluaa saada yli 2 op, niin seuraavista kustakin yksi opintopiste lisää: lyhyt esitys jostakin kirjan luvusta kyseisen kerran alussa loppuraportti pienehkö koodausprojekti lopuksi Arvostellaan hyväksytty/hylätty Mikäli osallistuu vain lukupiiriin (lukee kirjan ja käy viikottaisissa tapaamissa), kurssin suoritusmerkintä tulee todennäköisesti jollakin toisella kurssikoodilla.

Aikataulu 1 A Scalable Language 19 Type Parameterization X 7.2.2013 14.2.2013 21.2.2013 28.2.2013 14.3.2013 2 First Steps in Scala 3 Next Steps in Scala 4 Classes and Objects 5 Basic Types and Operations 6 Functional Objects 7 Built-in Control Structures 8 Functions and Closures X 9 Control Abstraction X 10 Composition and Inheritance X 11 Scala's Hierarchy 12 Traits X 13 Packages and Imports 14 Assertions and Unit Testing 15 Case Classes and Pattern Matching X 16 Working with Lists X 17 Collections X 18 Stateful Objects X 21.3.2013 28.3.2013 4.4.2013 11.4.2013 18.4.2013 25.4.2013 20 Abstract Members X 21 Implicit Conversions and Parameters X 22 Implementing Lists 23 For Expressions Revisited X 24 The Scala Collections API X 25 The Architecture of Scala Collections X 26 Extractors X 27 Annotations 28 Working with XML X 29 Modular Programming Using Objects X 30 Object Equality 31 Combining Scala and Java X 32 Actors and Concurrency X 33 Combinator Parsing X 34 GUI Programming X 35 The SCells Spreadsheet Ruksilla merkityistä aiheista on mahdollista pitää n. 10-15 minuutin esitys kyseisen kerran alussa.

Esitys kirjan luvusta Yhteenveto sisällöstä ja tärkeimmistä asioista, kesto noin 10 15 minuuttia. Toimii alustuksena aiheelle. Miten ominaisuus X toimii mielestäsi Scalassa paremmin kuin kielen Y ominaisuus Z? Kuinka hyödyllisenä pidät ominaisuutta X? Onko se juuri se, mikä puuttuu kielestä Y, vai lähinnä koriste? Mitä asian opettamisessa pitäisi mielestäsi huomioida?

Aikataulu 1 A Scalable Language 19 Type Parameterization X 7.2.2013 14.2.2013 21.2.2013 28.2.2013 14.3.2013 2 First Steps in Scala 3 Next Steps in Scala 4 Classes and Objects 5 Basic Types and Operations 6 Functional Objects 7 Built-in Control Structures 8 Functions and Closures X 9 Control Abstraction X 10 Composition and Inheritance X 11 Scala's Hierarchy 12 Traits X 13 Packages and Imports 14 Assertions and Unit Testing 15 Case Classes and Pattern Matching X 16 Working with Lists X 17 Collections X 18 Stateful Objects X 21.3.2013 28.3.2013 4.4.2013 11.4.2013 18.4.2013 25.4.2013 20 Abstract Members X 21 Implicit Conversions and Parameters X 22 Implementing Lists 23 For Expressions Revisited X 24 The Scala Collections API X 25 The Architecture of Scala Collections X 26 Extractors X 27 Annotations 28 Working with XML X 29 Modular Programming Using Objects X 30 Object Equality 31 Combining Scala and Java X 32 Actors and Concurrency X 33 Combinator Parsing X 34 GUI Programming X 35 The SCells Spreadsheet Ruksilla merkityistä aiheista on mahdollista pitää n. 10-15 minuutin esitys kyseisen kerran alussa.

Kysymyksiä, kommentteja tai ideoita? Hankkikaa kirja mahdollisimman pian, jollei sitä jo ole Ottakaa kirja mukaan lukupiiriin Sähköposti: teemu.sirkia@aalto.fi