TEE 

JOTAIN 

HYÖDYLLISTÄ 

VASARALLA?

ohjelmoinnista...
http://dy.fi/4zt

kokemusta?
koko kurssin ajan: miettikää ideoita!

intro


"Ei mua tekniikka kiinnosta"

... ihmisistä ja yhteiskunnasta

ei tartte olla kiinnostunut ohjelmoinnista sinänsä nauttiakseen siitä!
(hauskinta on työn tulos)

moni teistä toki päätyy toimimaan teollisuudessa, 
puhtaasti teknologian parissa. 

 vaikuttaminen yhteiskuntaan

Tietokoneohjelmat vaikuttavat melkein kaikkeen??

Terveydenhuollon tietojärjestelmien tuskien taival

Haastattelemani HUS:n hallintoylilääkäri, dosentti [...]  Lehtonen pudottelee kuin liukuhihnalta kovaa tekstiä siitä, miten toimimattomat tai puutteelliset potilastietojärjestelmät tuottavat harmaita hiuksia koko ammattikunnalle. Vaikeaa on kuulemma löytää lääkäriä, jolla ei olisi kokemuksia koko tietojärjestelmän kaatumisesta, käyttökatkoksista, toimintojen hitaudesta tai jopa tietojen äkillisestä katoamisesta.

http://yle.fi/aihe/artikkeli/2012/04/02/terveydenhuollon-tietojarjestelmien-tuskien-taival

Ohjelmointi on kuin

tanssia?

keskustelu?

paini mutaojassa?

kieltenopiskelua? matematiikkaa?

ei älykkyyttä, vaan puhdasta halua yrittää uudestaan

ja uudestaan

ja uudestaan

 miten ohjelmointia opitaan?

Pitää oppia uusi ajattelutapa!


Älykkyys ei riitä, tarvitaan työtä!


OIVALLUS syntyy sitten, kun syntyy


(Jari Kitinoja, 2002)

työmäärästä

Jos olet ohjelmoinut, kurssi on helppo,
mutta voit halutessasi oppia uutta

Ellet, varaa aikaa yhteensä noin 12
tuntia viikossa !


Kirjat eivät tentissä välttämättä auta.
Kukaan ei ole seppä syntyessään.
Kysy !


(Jari Kitinoja, 2002)

Miksi suorittaa kurssi?


  • Työmarkkinat
  • Ei-ohjelmistoinsinöörinkin hyvä tietää, miten ohjelma syntyy
  • Usein toisen alan asiantuntijat määrittelevät ohjelmiston, jonka ohjelmoijat koodaavat


(Jari Kitinoja, 2002)

Title

keskustelu tietokoneen kanssa?

Viesti:



Terve,

Lähetkö sinne leffaan tänään?
Mihin aikaan?

Jani


 




Jos tietokone
ymmärtäisi suomea
(kirjakieltä),
miten se vastaisi? 


KESKUSTELU TIETOKONEEN KANSSA?

Viesti: Vastaus:


Terve,

Lähetkö sinne leffaan tänään? Mihin aikaan?

Jani



OK

Tuntematon symboli: "Lähetkö", "leffaan"

Liian monta virhettä. Keskeytetty.

kärsivällisyys / sen puute

 

normaalitila

kuka täällä opettaa?


  • jos löydätte hyviä verkkokursseja 
  • tai ootte koodannu jtn ite, 

lähettäkää mulle ni voin antaa palautetta

ja kertokaa jos voin jakaa sen koko kurssille

tavoitteet


oppia loogista ajattelua 
+ tietokoneen pinnanvenytyksen sietämistä

ohjelmoinnin perusteet
käytännössä haltuun

debuggaus, hakukoneen (esim. googlen) käyttäminen apuna virheilmoitusten ymmärtämisessä

käytännön asioita

Joka kerralla luento
(luentorunko rakentuu kurssin edetessä)

Lue luentomateriaali ennen luentoa Viopesta

KÄYTÄNNÖN ASIOITA 2


oon täällä auttamassa.
käyttäkää hyväks parhaanne mukaan.

ei tartte viitata, kysykää

KÄYTÄNNÖN ASIOITA - suorittaminen

opintojaksosta 100 pisteellä läpi
työvoitto, ei vaikeaa kun käyttää vähän aikaa

IDEOINTI/MÄÄRITTELYTEHTÄVÄ 10p

VIOPE 1p/tehtävä (monivalinnat+ohjelmointi)
C-tehtäviä  123+66 kpl
C++-tehtäviä 69+98 kpl

WIKI/tuubi Qt-tehtävät
4p/tehtävä

    ideointi/määrittelytehtävä

     (Milloin tahansa kurssin aikana, max. 10p)

    Mikä tietokoneohjelma, nettipalvelu tai mobiilipalvelu on sinusta mielenkiintoinen tai erityisen hyvä?

    TAI

    Onko jokin ohjelma tai palvelu jota ei vielä ole, mutta mielestäsi pitäisi olla?

     

    Kirjoita ohjelman/palvelun määrittely: Miten se toimii, mitä ominaisuuksia siinä on? Mitä parannettavaa ohjelmassa olisi?Kirjoita 1 A4-sivu tekstiä tekstinkäsittelyohjelman oletusfonttikoolla -> 10p

    viope

    Rekisteröityminen:
    C-kieli: http://dy.fi/i3b
    (valittuna oleva kurssi on oikein, älkää vaihtako) 

    Kirjautuminen:

    Lue teoriasivut, tee tehtävät 
    1p/tehtävä (ohjelmointi- ja monivalinta)
    C-tehtäviä  123+66 kpl
    C++-tehtäviä 69+98 kpl

    viope

    Ensimmäiset kappaleet voivat olla haastavimmat

    • esittävät peruskäsitteet, joita ei vielä tunneta
    • Antavat yleiskuvan
    • Joskus johdannon ymmärtää vasta kun on lukenut koko materiaalin
    • Alku esittelee käsitteitä
    • Syvempi oppiminen tapahtuu pidemmän ajan mittaan, useamman vuoden aikavälillä

    Wiki/tuubi: QT-tehtävät

    Kun C/C++ -perusteet opittu
    4p/tehtävä


    Tehtävät wikissä:

    Koodaus virtuaalikoneessa Metropolian luokassa tai kotiin asennetulla Qt-ympäristöllä

    Palautus Tuubiin

    Tietokoneohjelma

    Tietokoneohjelma on lista oikeassa järjestyksessä olevia käskyjä

    C-kielinen Ohjelma

    • kirjoitetaan lausekielellä
    • käännetään konekielelle (kääntäjä, compiler)
    • ajetaan, suoritetaan (to run a programme)


    (Jari Kitinoja, 2002)

    Syöte ja tuloste

     Ohjelma saa tietoja ohjelman
    käyttäjältä, eli syötteen (input ).

    Ohjelman suorituksen aikaansaamaa
    tietoa kutsutaan tulosteeksi (output ).


    Syöte --> Ohjelma (ohjelman suoritus) --> Tuloste
    jäi sivulle 6

    (Jari Kitinoja, 2002)

    ohjelmointikielet


    (JavaScript)

    C

    C++

    Qt

    Nettikoodaus, mobiili?

    Yhteistä: bugien etsintä ja korjaus, eli debuggaus

    computer problems

    ohjelmien kääntäminen


    1. Tallenna main.cpp
    2. Käännä ohjelma, esim.:
      g++ main.cpp o main.exe


    • Jos ei virheitä: kääntäjä ei anna mitään palautetta
    • Jos koodissa (syntaksi-)virheitä, kääntäjä antaa virheilmoituksen


    3. Käynnistä main.exe

    • Jos koodissa loogisia virheitä, ohjelma toimii väärin mutta ei valita


    tahvo, viope-esimerkki


    1. Mene lentoasemalle
    2. Osta lippu
    3. Mene lentokoneeseen
    4. Juo kahvit
    5. Poistu lentokoneesta
    6. Mene lentoaseman pääsisäänkäynnille
    7. Odota, kunnes tulen hakemaan


    https://en.wikipedia.org/wiki/File:HD_Master_plane.jpg

    • Siirry grafiikkatilaan.
    • Piirrä kohtaan (50, 50) sininen ympyrä, jonka säde on 20.
    • Odota näppäimenpainallusta.
    • Palaa perustilaan.

    debuggaus

    debuggaus ottaa aina päähän. normaalia!

     

    debuggaus

    Sanoita mitä olet tekemässä 
    niin on helpompi ajatella:

    1. Selvitä itsellesi tarkkaan miten haluat ohjelman toimivan
    2. Selvitä miten ohjelma toimii nyt?
    3. Miksi toimii nyt niinkuin toimii?
    4. Mitä pitää lisätä? Poistaa? Muuttaa?

    debuggaus - apua?


    debuggaus

    kääntäjän virheiden tulkinta googlella


    IRC #qt on freenode
    ohjelmointifoorumit

    Ohjelmoinnin perusteet 2013-2014

    By Olli Savolainen

    Ohjelmoinnin perusteet 2013-2014

    • 2,527