Ohjelmoinnin perusteet

Kuka tahansa voi oppia ohjelmoimaan. Tie osaavaksi koodariksi vaatii kuitenkin pitkäjänteistä harjoittelua ja sitoutumista. Huippukoodariksi kehittyykin vain tekemällä. Tästä huolimatta vähäisetkin ohjelmointitaidot auttavat ymmärtämään digitalisaation mukana tuomia uusia mahdollisuuksia.

Ohjelmoinnin perustiedot ja -taidot auttavat ymmärtämään ja tekemään muita ohjelmointiin, ohjelmistotuotantoon ja ohjelmistoprojekteihin liittyviä asioita.

FITech-yliopistot tarjoavat laajan valikoiman perustasoisia ohjelmoinnin kursseja. Kursseilla omaksut mm. ohjelmoinnin peruskonsepteja sekä Python-ohjelmointikielen.

Huom! Joillekin kursseille voi ilmoittautua rajoitettu määrä FITech-opiskelijoita. Näille kursseille etusijalla ovat ne henkilöt, joilla ei ole voimassaolevaa opinto-oikeutta suomalaiseen yliopistoon.

Eikö sinulla ole lainkaan kokemusta ohjelmoinnista?

Tutustu FITechin Ohjelmointi 101 -kursseihin, joilla ei ole esitietovaatimuksia!

Perustason ohjelmoinnin kurssit:

= Contact learning
= Online learning
= Blended learning (online & contact learning)
Tampereen yliopisto: Tietokantojen perusteet, 5 ECTS. 26.8.–21.10.2019.

Hakuaika on päättynyt.

Kurssikoodi: TIEP3

Kurssitaso: Perustaso

Opetuskieli: suomi

Käsiteltäviä aiheita ovat tietokannan perustaminen, päivittäminen ja kyselyt SQL-kielellä, ER-kaaviot ja muunnos ER-kaaviosta SQL-tietokannan (relaatiorakenteisen tietokannan) kaavioksi.

Opintojakson suoritettuaan opiskelija

  • tuntee SQL-tietokantojen (relaatiorakenteisten tietokantojen) peruskäsitteet ja -rakenteet
  • tuntee ER-mallinnuksen peruskäsitteet ja -periaatteet
  • osaa mallintaa tietoa ER-kaavioilla
  • osaa muuntaa ER-kaavion suoraviivaisesti SQL-tietokannan kaavioksi
  • osaa perustaa tietokannan ja päivittää ja hakea tietokannan tietoja SQL-kielen avulla

Vastuuopettaja: Kati Iltanen (kati.iltanen(at)tuni.fi)

Lisätietoja Tampereen yliopiston sivuilla.

Tampereen yliopisto: Ohjelmointi 1 – Johdanto, 5 ECTS. 26.8.–22.12.2019.

Hakuaika on päättynyt.

Kurssikoodi: TIE-02101

Kurssitaso: Perustaso

Opetuskieli: suomi

Kurssisisältö:

  • Ohjelman ja algoritmin käsitteet. Pienten ohjelmien suunnitteleminen ja testaus.
  • Suunnitteleminen jakamalla pienempiin osakokonaisuuksiin: funktiot. Parametrit ja paluuarvon välitys.
  • Ohjelman kontrollirakenteet.
  • Muuttujat. Näkyvyysalue. Tiedon tyyppi. Listat ja sanakirjat.
  • Tiedostojen peruskäsittely.

Osaamistavoitteet:

Arvosanan “hyvä” saavuttanut opiskelija pystyy toteuttamaan yksinkertaisia ohjelmia itsenäisesti: opiskelija osaa tehtävänannosta muodostaa ongelmaan ratkaisun ja valita oikeat ohjelmointikielen rakenteet sen toteuttamiseksi sekä toteuttaa suunnittelemansa ohjelman ohjelmointikielellä ja testata sen. Opiskelija pystyy tulkitsemaan toisen kirjoittamaa ohjelmaa.

Vastuuopettaja: Ari Suntioinen (ari.suntioinen(at)tuni.fi)

Lisätietoja Tampereen yliopiston opinto-oppaassa.

Tampereen yliopisto: Ohjelmointi 2 – Perusteet, 5 ECTS. 26.8.–22.12.2019.

Hakuaika on päättynyt.

Kurssikoodi: TIE-02201

Kurssitaso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Opintojakso TIE-02100 Ohjelmointi 1: Johdanto arvosanalla 3 tai parempi. Jos olet suorittanut jonkin vanhemman perusohjelmoinnin opintojakson, tämä vaatimus ei koske sinua. Jos olet suorittanut Johdatus ohjelmointiin -opintojakson ennen syksyä 2016, siinäkään tapauksessa tämä ei koske sinua.

Kurssisisältöjä mm. luokat ja modulaarisuus, olio-ohjelmoinnin perusteet, graafisen käyttöliittymän ohjelmoinnin alkeet (Qt Designer) sekä versionhallinta ja Git (yhden ohjelmoijan projekteissa).

Arvosanan “hyvä” saavuttanut opiskelija pystyy suunnittelemaan ja toteuttamaan pienehköjä ohjelmia itsenäisesti: opiskelija osaa jakaa ohjelman erikseen toteuttavissa oleviin osiin tarkoituksenmukaisesti sekä suunnitella ja toteuttaa yksinkertaiset tietorakenteet ja algoritmit. Opiskelija pystyy arvioimaan toisen kirjoittaman ohjelman rakennetta.

Vastuuopettaja: Maarit Harsu (maarit.harsu(at)tuni.fi)

Lisätietoja Tampereen yliopiston opinto-oppaassa.

Tampereen yliopisto: Ohjelmointi 3 – Tekniikat, 5 ECTS. 26.8.–22.12.2019.

Hakuaika on päättynyt.

Kurssikoodi: TIE-02402
Kurssitaso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Opintojakso TIE-02201 Ohjelmointi 2: Perusteet.

Kurssisisältöjä mm. versionhallinnan käyttö usean henkilön projekteissa, testaus ja yksikkötestaus, modulaarisuus sekä muistinhallinta.

Arvosanan “hyvä” saavuttanut opiskelija

  • pystyy osallistumaan suuremman ohjelmiston toteuttamiseen
  • osaa käyttää yleisesti käytettäviä ohjelmointityökaluja
  • osaa ohjelmoida moduuleja, jotka ovat yhteydessä ympäristöönsä ennalta annettujen rajapintojen kautta
  • pystyy tulkitsemaan rajapintadokumentaatiota ja ymmärtää sopimussuunnittelun periaatteet
  • tuntee aiempaa enemmän ohjelmointikielten rakenteita ja osaa käyttää niitä ohjelmissaan
  • osaa selittää periytymisen käsitteet ja käyttää niitä ohjelmissaan.

Vastuuopettaja: Terhi Kilamo (terhi.kilamo(at)tuni.fi)

Lisätietoja Tampereen yliopiston opinto-oppaassa.

LUT-yliopisto: Käyttöjärjestelmät ja systeemiohjelmointi, 6 ECTS. 2.9.–13.12.2019.

Hakuaika on päättynyt.

Kurssikoodi: CT30A3370

Maksimimäärä FITech-opiskelijoita: 20

Kurssitaso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Ohjelmoinnin perusteet, C-ohjelmointi, tietorakenteet ja algoritmit.

Kurssisisältö:

  • Käyttöjärjestelmän perusrakenteet ja -toiminnot: tiedostojärjestelmä, prosessit, prosessien ajoitus ja hallinta,  muistinhallinta, oheislaitteet
  • Unix-järjestelmän rakenne
  • C-ohjelmointikieli ja sen ohjelmointiympäristö ja työkalut Unix-järjestelmässä
  • Unixin komentotulkkiohjelmointi
  • Standardi I/O-kirjasto, kehittyneet I/O-toiminnot
  • Järjestelmätiedot ja -tiedostot
  • Prosessit, prosessien hallinta, prosessien väliset suhteet
  • Säikeet ja niiden hallinta
  • Palveluprosessit
  • Prosessienvälinen kommunikointi
  • Signaalit ja niiden hallinta

Opintojakson suoritettuaan

  • opiskelija ymmärtää, kuinka käyttöjärjestelmä rakentuu, miten se keskeiset toiminnot on toteutettuja miten se toimii yhdessä sovellusohjelmien kanssa.
  • opiskelija osaa jakaa monimutkaiset ongelmat pienempiin kokonaisuuksiin ja tietää, miten käyttöjärjestelmän kokoinen iso ohjelmistoprojekti suunnitellaan ja toteutetaan.
  • opiskelijalla on kokonaiskuva tietokonejärjestelmän rakenteesta ja sen liittymäkohdista algoritmiikkaan, tietokonearkkitehtuuriin, käyttöjärjestelmiin, kääntäjiin ja tulkkeihin sekä ohjelmistotuotantoon.
  • opiskelija ymmärtää systeemiohjelmoinnin merkityksen sovelluskehityksessä ja järjestelmän ylläpidossa.
  • opiskelija tuntee käyttöjärjestelmän perustoiminnot.
  • opiskelija osaa kirjoittaa Posix-ohjelmia käyttäen C-kieltä sekä osaa soveltaa Posix-kirjastoja ja järjestelmätason funktioita ohjelmissaan.
  • opiskelija osaa ohjelmoida Unix-järjestelmän komentosarjoja.

Vastuuopettaja: Jussi Kasurinen (jussi.kasurinen(at)lut.fi)

Turun yliopisto: Tietojenkäsittelyn perusteet I, 5 ECTS. 3.9.–24.10.2019.

Hakuaika on päättynyt.

Kurssikoodi: TKO_5736

Kurssitaso: Perustaso

Opetuskieli: suomi

Kurssilla esitellään aluksi informaatioteknologian perusteita ja keskeistä käsitteistöä. Lisäksi tutustutaan pintapuolisesti tietokoneen rakenteeseen ja toimintaan.

Pääpaino on algoritmien ja ohjelmoinnin peruskäsitteiden ja rakenteiden esittelyssä käyttäen pseudokieltä: kontrollirakenteet, modulaarisuus, moduulit, abstrakti tietotyyppi ja tietorakenteet. Lopuksi opetellaan yksinkertaisten algoritmien kirjoittamista Python-ohjelmointikielellä.

Kurssin jälkeen opiskelija

  • tuntee pääpiirteissään informaatioteknologian osa-alueet ja keskeisimmät käsitteet sekä tietokonelaitteiston osat ja toimintaperiaatteen
  • ymmärtää algoritmisen ajattelun, ohjelmointiin liittyvät peruskäsitteet ja osaa kirjoittaa yksinkertaisia algoritmeja käyttäen pseudokieltä sekä Python-ohjelmointikieltä.

Vastuuopettaja: Erno Lokkila (erno.lokkila(at)utu.fi)

Lisätietoja Turun yliopiston opinto-oppaassa.

Aalto-yliopisto: Ohjelmoinnin peruskurssi Y1, 5 ECTS. 9.9.–28.11.2019.

Hakuaika on päättynyt.

Kurssikoodi: CS-A1111

Maksimimäärä FITech-opiskelijoita: 100

Kurssitaso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Tietokoneen ja yleisimpien sovellusten (esim. sähköposti) peruskäyttötaito. Ei esitietovaatimuksia ohjelmoinnista.

Kurssilla suoritetaan Python-kielellä perinteisiä koodaustehtäviä, joissa kirjoitetaan lyhyitä ohjelmia annettujen ohjeiden mukaisesti.

Kurssisisältö:

  • Lausekielinen ohjelmointi Python-kielen avulla
  • Rakenteinen ohjelmointi
  • Ohjelmistosuunnittelun alkeet
  • Perustietorakenteet
  • Hyvä ohjelmointityyli

Kurssin suoritettuasi osaat kirjoittaa pieniä tietokoneohjelmia esimerkiksi insinööritehtävissä tarvittaviin laskentasovelluksiin ja pienten tietomäärien muokkaamiseen. Ymmärrät myös muiden kirjoittamia vastaavia ohjelmia.

Kurssin pakollisia osasuorituksia ovat harjoitustehtävät sekä kurssin päätteeksi järjestettävä tentti. Kurssi järjestetään etäopintoina (online) lukuunottamatta Espoon Otaniemessä järjestettävää tenttiä.

Vastuuopettaja: Sanna Suoranta (sanna.suoranta(at)aalto.fi)

Lisätietoja: Kurssisivu Aalto-yliopiston WebOodissa.

Aalto University: Machine learning with Python, 2 ECTS. 9.9.–13.12.2019.

Application period has ended.

Course code: CS-EJ3211

Course level: Basic

Language: English

Prerequisites: Basic knowledge of mathematics (functions, vectors and matrices) and basic programming skills in any high-level programming language (e.g. Python).

This course introduces some of the most widely used machine-learning methods such as regression, classification, feature learning and clustering. We will discuss ML in a hands-on fashion using coding assignments, in which we implement ML methods in the Python programming language.

The course is organised in six rounds: introduction, regression, classification, model validation and selection, clustering and dimensionality reduction. Each round covers a certain part of the course book and includes a Python notebook with a coding assignment.

After the course the student understands the basic principles that underlie machine learning. They are able to implement some basic machine learning methods in Python to solve small data science tasks.

For Aalto students: The content of this course overlaps with CS-E3210 Machine learning: basic principles. Both courses cannot be included into degrees.

Responsible teacher: Alex Jung (alex.jung(at)aalto.fi)

Aalto University: Object oriented programming with C++, 5 ECTS. 10.9.–13.12.2019.

Application period has ended.

Course code: ELEC-A7151

Max amount of FITech students: 50

Course level: Basic

Language: English

Prerequisites: Basic programming skills with some other programming language are beneficial but not nessessary.

Course content:

  • Basic concepts of C++
  • Object oriented programming and generic programming in C++
  • C++ standard library
  • Tools for robust programming

After completing the course, the student knows the principles and concepts of the object oriented programming with C++ programming language and can produce programs in C++ language.

More information in Aalto University’s WebOodi course page.

Responsible teacher: Pasi Sarolahti (pasi.sarolahti(at)aalto.fi)

Aalto-yliopisto: Tietorakenteet ja algoritmit Y, 5 ECTS. 10.9.–20.12.2019.

Hakuaika on päättynyt.

Kurssikoodi: CS-A1141

Maksimimäärä FITech-opiskelijoita: 50

Kurssitaso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Perusohjelmointitaito (esim. Ohjelmoinnin peruskurssi).

Kurssisisältö:

  • Lineaariset tietorakenteet, puurakenteet ja verkot
  • Haku- ja järjestämismenetelmiä
  • Algoritmianalyysin perusteet

Kurssin suoritettuasi osaat määritellä, vertailla ja toteuttaa perustietorakenteita ja algoritmeja sekä nimetä ja valita niitä esim. hakurakenteiksi, järjestämisongelmaan ja verkon läpikäyntiin. Lisäksi kykenet tunnistamaan ja esittelemään tarkemmin annetun tietorakenteen tai algoritmin sekä osaat antaa esimerkkejä niiden toiminnasta. Pystyt myös keskustelemaan muista keskeisistä tietorakenteista ja algoritmeista käyttäen alan tyypillistä terminologiaa.

Kurssi järjestetään etäopintoina (online) lukuunottamatta Espoon Otaniemessä järjestettävää tenttiä.

Lisätietoja: Kurssisivu Aalto-yliopiston WebOodissa.

Vastuuopettaja: Ari Korhonen (ari.korhonen(at)aalto.fi)

Aalto-yliopisto: Ohjelmointi 1, 5 ECTS. 11.9.–11.12.2019.

Hakuaika on päättynyt.

Kurssikoodi: CS-A1110

Maksimimäärä FITech-opiskelijoita: 100

Kurssitaso: Perustaso

Opetuskieli: Suomi ja englanti. Part of the hand out materials are in English.

Esitietovaatimukset: Tietokoneen ja yleisimpien sovellusten (esim. sähköposti) peruskäyttötaito. Ei esitietovaatimuksia ohjelmoinnista.

Tällä kurssilla opit mm. ohjelmakoodin vaiheista, lauseista ja lausekkeista sekä ohjelmointityylistä. Kurssilla opetellaan lukemaan, muokkaamaan ja kirjoittamaan ohjelmia.

Kurssin suoritettuasi

  • tunnet ohjelmoinnin ja olio-ohjelmointiparadigman keskeisimmät käsitteet ja osaat keskustella niistä.
  • osaat soveltaa tuntemiasi käsitteitä lukiessasi ja kirjoittaessasi tietokoneohjelmia ainakin tapauksissa, joissa ohjelmointitehtävä on tarkkaan rajattu.
  • ymmärrät ainakin auttavasti, miten tietokone toimii suorittaessaan ohjelman.
  • tunnet ohjelmakoodin tuottamiseen liittyviä työvaiheita ja osaat käyttää ohjelmoijan työkaluja näiden vaiheiden aikana.
  • osaat lukea toisten kirjoittamia ohjelmia ja ohjelmadokumentaatiota sekä hyödyntää valmiita osaratkaisuja omien ohjelmiesi osina.
  • ymmärrät, että ohjelmia ei kirjoiteta vain tietokoneita varten vaan ihmisten avuksi ja myös ihmisen luettaviksi.
  • osaat muotoilla kirjoittamasi koodin hyvällä ohjelmointityylillä.

Kurssin suoritettuasi ohjelmointi on sinusta hyödyllistä ja hauskaa ja olet motivoitunut oppimaan lisää.

Kurssi järjestetään etäopintoina (online) lukuunottamatta Espoon Otaniemessä järjestettävää tenttiä.

Opettajat: Otto Seppälä (otto.seppala(at)aalto.fi), Juha Sorva (juha.sorva(at)aalto.fi)

Lisätietoja: Kurssisivu Aalto-yliopiston WebOodissa.

Vaasan yliopisto: Ohjelmointi, 5 ECTS. 30.9.–27.11.2019.

Hae viimeistään 23.9.2019

Kurssikoodi: TITE1070

Maksimimäärä FITech-opiskelijoita: 38

Kurssin taso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Suositellaan lauselogiikan tuntemusta.

Kurssilla opitaan ohjelman suunnittelun ja toteutuksen eri työvaiheet sekä ohjelman perusrakenteiden (määrittelyt, muuttujat, taulukot, sijoitus-, ehto- ja toistolauseet, metodit ja niiden kutsut, syöttö ja tulostus) ymmärtäminen ja toteuttaminen Java-ohjelmointikielellä.

Opintojakson jälkeen opiskelija ymmärtää ohjelman suunnittelun ja toteutuksen eri työvaiheet ja osaa rutiininomaisesti tehdä pieniä tietokoneohjelmia ohjelmoinnin perusrakenteita käyttäen. Opintojakso kehittää analyyttisiä taitoja, luovuutta sekä ongelmanratkaisukykyä.

Vastuuopettaja: Teemu Saari (teemu.saari(at)univaasa.fi)

Muut opettajat: Juha Miettinen (juha.miettinen(at)univaasa.fi)

Lisätietoja Vaasan yliopiston WebOodi-sivulla.

Turun yliopisto: Algoritmien ja ohjelmoinnin peruskurssi, 5 ECTS. 29.10.–19.12.2019.

Hae viimeistään 16.10.2019

Kurssikoodi: TKO_2038

Kurssitaso: Perustaso

Opetuskieli: suomi

Oppimisen apuvälineenä ja esimerkkiohjelmointikielenä kurssilla on Java.

Kurssilla käsiteltäviä aiheita ovat mm.

  • ohjelmien kirjoittaminen editorilla
  • kääntäjän käyttäminen
  • hyvä ohjelmointitapa
  • peruskontrollirakenteet
  • syöttö ja tulostus
  • algoritminen ongelmanratkaisu

Kurssilla tutustutaan olio-ohjelmointikielen peruskäsitteisiin ja rakenteisiin, opetellaan ohjelmoinnissa tarvittavaa algoritmista ajattelua sekä hankitaan editorin ja kääntäjän kanssa työskentelyyn riittävä käytännön ohjelmointitaito.

Opiskelijalta edellytetään teorian opiskelun lisäksi kurssin alusta asti jatkuvaa, itsenäistä käytännön harjoittelua kääntäjällä. Demonstraatiotehtävät ratkaistaan kääntäjää käyttäen.

Keskeisin tavoite on oppia laatimaan pieniä, toimivia, 1–3 aliohjelman laajuisia sovelluksia, jotka perustuvat peräkkäisyyteen, valintaan ja toistoon.

Vastuuopettajat: Erkki Kaila (erkki.kaila(at)utu.fi), Erno Lokkila (erno.lokkila(at)utu.fi)

Lisätietoja Turun yliopiston opinto-oppaassa.

Tampereen yliopisto: Johdatus mobiiliohjelmointiin, 5 ECTS. 7.1.–31.5.2020.

Hae viimeistään 16.12.2019

Kurssikoodi: PLA-32820

Kurssitaso: Perustaso

Opetuskieli: suomi

Esitietovaatimukset: Olioajatteluun perustuvan ohjelmointikielen osaaminen on välttämätöntä, koska kurssin harjoitustehtävät ovat ohjelmointitehtäviä.

Kurssin tavoitteena on tutustua langattomien päätelaitteiden, kuten matkapuhelimien ja tablettien, ohjelmointiin ja sovellusten erityispiirteisiin. Mobiililaitteen ohjelmointiin tutustutaan esimerkkiohjelmilla ja niihin liittyvien ohjelmointiharjoitustehtävien avulla.

Opintojaksolla tutustutaan ajankohtaisiin ohjelmoinnin työvälineisiin ja käyttämiseen mobiililaitteen ohjelmoinnissa. Lisäksi kurssin tavoitteena on tutustua mobiililaitteissa käytettyihin sovellusarkkitehtuureihin.

Kurssilla tutustutaan myös mobiiliohjelmoinnin ansaintamalleihin, eli miten ansaita mobiilisovelluskehittäjänä. Lisäksi sovelluskehityksessä hyväksikäytetään pilvipalveluita tiedon tallennukseen ja autentikointiin.

Vastuuopettaja: Mika Saari (mika.saari(at)tuni.fi)

Lisätietoja Tampereen yliopiston opinto-oppaassa.

Lisätietoja opinnoista:

Aalto-yliopisto

Sanna Suoranta (sanna.suoranta(at)aalto.fi)

LUT-yliopisto

Jussi Kasurinen (jussi.kasurinen(at)lut.fi)

Turun yliopisto

Erno Lokkila (erno.lokkila(at)utu.fi)

Tampereen yliopisto

Teemu Rauhala (teemu.rauhala(at)tuni.fi)

Vaasan yliopisto

Maria Tuuri (maria.tuuri(at)univaasa.fi)

Lisätietoja hakemisesta:

Pilvi Lempiäinen (pilvi.lempiainen(at)fitech.io)

Type of study unit

Set of courses

Teaching semester

2019–2020

Host university

Aalto University, LUT University, Tampere University, University of Turku, University of Vaasa

Open for degree student

Yes

Open for non-student

Yes

Level of studies

Basic

Teaching methods

Online or blended learning

Place of contact learning

Espoo, Turku, Vaasa

Programme suitable for

Beginners with some experience in programming

Language

Finnish & English

Go back to all Courses & Programs

Go back