keskiviikko 29. marraskuuta 2017

Ohjelmoinnin perusteet kurssin yhteenveto ja vastoinkäymisiä


Ensimmäinen kurssi koulussa oli Ohjelmoinnin perusteet, jossa päästiin harjoittelemaan koodausta Visual Studiolla. Onnistuin omasta mielestäni harjoituksia hyvin ja vaikka minun opiskelu tapahtuu eri aikaan muiden kanssa, sain apua ryhmäkeskusteluista ja luentonauhoitteista. Viimeisen harjoituksen kanssa mulla oli pientä luomisen tuskaa, en saanut saunan ohjausta toimimaan, mutta katsomalla muiden tekemien toteutusten läpikäyntiä, sain tosi paljon apua ja onnistuin palauttamaan toimivan ohjelman.


SQL perusteet ja Relaatiotietokannan hallinta kurssien kanssa meillä on sukset ristissä. Olen nyt kolme viikkoa tapellut asennusten kanssa ja ne eivät vaan onnistu! Olen katsonut luentonauhoitteet ja seurannut kurssin tallenteita, mutta asennusten epäonnistumisen johdosta, tehtävien tekeminen on täydessä stopissa, todella turhauttavaa. Aion vielä yrittää tällä viikolla, juttelen opettajien kanssa ja kokeilen, josko saisin VMwaren toimimaan. Tai siis ongelma on se, että Windows 10 asennus ei käynnisty virtuaalikoneelle.

maanantai 23. lokakuuta 2017

Kolmas ja neljäs opiskeluviikko: Ajan käytön ongelmat, argh!!

Viimeiset kaksi viikkoa on ollut aikamoista taiteilua, että olen ehtinyt opiskella. Olen kuitenkin saanut katsottua luennot ja tuutori tapaamiset. Kurssi tehtävää tehdessäni tämä ajanpuute kuitenkin näkyi, koska vaikka tiesin teoriassa mitä haluan tehdä koodilla, en saanut koodia fyysisesti toimimaan. Todella ärsyttävää, mutta koska tajuan että olen sisäistänyt teorian, minun tulee vaan etsiä aikaa Visual Studion kanssa leikkimiseen ja koodin kirjoittamiseen. Olen todella motivoitunut ja opiskelu on ollut hauskaa. On myös helpottavaa huomata, että kurssikaverit painivat samojen asioiden kanssa.

 Minusta on myöskin hyvä oppimistekniikka, että meillä on katsottavissa etukäteen nauhoitetut luentonauhoitteet ja sitten Juha käy ne vielä uudestaan läpi.

keskiviikko 11. lokakuuta 2017

Luentoja ja algoritmeja


Viikon kaksi luentomateriaalien katselua ja muistiinpanoja

Viikon kaksi luentojen seuraamisen ohessa tein muistiinpanoja ja seurasin esimerkkejä harjoituksista Visual Studiossa ennen kuin aloin tekemään harjoitustehtäviä. Harjoitustehtävien pohdinta osion julkaisin etukäteen edellisessä postauksessani.  Hauskasti olen huomannut, että C# tuntuu kielenä helpommalta kuin aikanaan ensikosketukseni koodaukseen Visual Basicista. Toki tähän vaikuttaa se että olen aikanaan jo opiskellut koodausta, vaikkei se tuoreassa muistissa olekkaan.
Leikkasin tähän minun algoritmi harjoituksen, valitsin kiinnostavaksi algoritmiksi kahvin keiton:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        { 
            TaytaVedenkeitinVedella();
            LaitaKahvinpurutPerkulaattoriin();
            OdotaVedenKiehumista();
            LisaaVesiPerkulaattoriin();
            OdotaKaksiMinuuttia();
            KaadaKahviKuppiin();
        }
    }
}

C# Silmukat, jotka löysin netistä:
for, kaksiulotteinen for-silmukka, while, do while

Toistaiseksi harjoitukset ovat olleet kivoja ja sopivan haastavia. Luentonauhoitteet auttaa. Pyrin tekemään harjoitukset ensin itse trial & error- tyylillä, ja sen jälkeen katson esimerkkimallit luentonauhoitteista. 



sidenote: Vaikka en itse pääse noihin meidän yhteisiin luentoihin, niistä on ollut tosi paljon apua ja on kiva huomata että muillakin on samoja asioita ollut pohdinnan alla! 😊

maanantai 2. lokakuuta 2017

Ohjelmoinnin perusteet, pohdinta harjoituksia, 2.Kurssipaiva

1 Etsi ja nimeä kolme erilaista lajittelu-algoritmia
Esimerkkejä lajittelu algoritmeista: Pikalajittelu, kekolajittelu ja laskentalajittelu.

o    Mihin ihmeeseen tarvitaan kolmea (tai useampaa) algoritmia jotka tekevät samaa asiaa? Valittu algoritmi riippuu siitä, millaisen tiedon käsittelyyn sitä tarvitaan, mitä kriteereitä tekemiselle asetetaan.
o    C#-ohjelmointikielessä on lista-luokalla valmis Sort-rutiini. Mitä em. algortimeista luulet Sort-rutiininin käyttävän? Kekolajittelu voisi sopia tähän tehtävään, mutta lajittelualgoritmeista löytyisi varmaan sopivampikin vaihtoehto.


2 Etsi seuraavat käsitteet verkosta tai kirjallisuudesta, ja suomenna ja selitä ne lyhyesti
o    Class=Luokka. Olio-ohjelmoinnin elementti, jonka sisällä on olio. Luokka tarjoaa metodeja, joiden avulla luokan sisäistä tietoa päästään muuttamaan. Luokalla voi olla julkisia ominaisuuksia tai sisäisiä metodeja
o    Object=Ohjelman ajon aikainen elementti, joka on tehty luokasta.
o    Interface=Rajapinta, jonka välityksellä kaksi tai useampi tekijä voi kommunikoida.
o    Exception=Poikkeus. Ajonaikainen ongelmatilanne tai odottamaton tapahtuma
3 Kuvaa C#-ohjelmointikielen ja SQL-kyselykielen toimintaa ja eroavaisuuksia.
o    Mitä huomaat?

SQL: tiedonmäärittely- ja käsittelykieli relaatiotietokantojen käsittelyyn, C# olio orientoitunut ohjelmointikieli. C# periaatteessa vertautuu SQL:ään, silla molemmissa vastaanotetaan tietoa ja tiedon käsittelylle annetaan määritteitä.

4 Lue vuoden 1982 artikkeli ”Real Programmers Don't Use PASCAL”
o    Artikkeli löytyy täältä:  http://www.ee.ryerson.ca/~elf/hack/realmen.html
o    Millaisesta maailmasta teksti kertoo?
o    Mitkä kuvatuista asioista ovat pysyneet samoina? Mitkä muuttuneet?
Artikkeli antaa kyynisen ja sarkastisen kuvan ohjelmoinnista. Tosi koodarit kayttaa tekstieditoria ja heksalukuja, olio-ohjelmointi on huijaamista. Peruskouluissa opetetaan ohjelmoinnin perusteita ja käytetään laskimia. EI ole minusta laiskaa vaan nykyisen teknologian ja kehityssuunnan hyödyntämistä. Toki ”tosikoodarin” työkaluja käytetään vielä tänä paivanakin, tekstieditoria esimerkiksi. Artikkeli kuvastaa aikaa, jolloin tietokoneen kanssa aloitettu superkehitys oli vasta alkutekijöissään, artikkelin kirjoittaja tuskin osasi kuvitella mihin suuntaan ohjelmointi menee ja miten paljon monimutkaisempia ja suurempia kokonaisuuksia nykyisin voidaan tehdä ohjelmoinnilla.

sunnuntai 1. lokakuuta 2017

Viikko 1: Opiskelun aloitus ja ajankäytön haasteita

Ensimmäinen viikko opiskelua takana! Ekat päivät meni sujuvasti asennusten parissa sekä oppimisympäristöihin tutustuessa. Visual Studion asennus takkusi oikein huolella, mutta onnistuihan se sitten lopulta. :) Seuraavaksi tein orientaatiotehtäviä ja osaamiskartoitusta, oli oikeastaan ihan kiva pohdiskella mitä tältä koulutukselta haluan. Minulla on aika selkeät päämäärät, haluan työllistyä koodarina, olen jo pitkään unelmoinut ammatista joka mahdollistaisi etätyöskentelyn. En pelkää työntekemistä, mutta mitä vanhemmaksi tulen, sitä selkeämmäksi omat tavoitteet tulevat.

Seuraavaksi palasin ohjelmoinnin perusteisiin, muistin sopukoissa on hämärä muistikuva samoista harjotteista aikanaan, mutta opiskeltavaa riittää. Käytin kaksi päivää perehtyen annettuihin matskuihin ja harjoittelin luennon mukaisesti ensimmäistä koodin pätkän tekemistä. Sitten innostuin tutkimaan netistä lisää ohjeita ja keskusteluita koodaukseen liittyen.

Eka viikko meni nopeasti ja nyt alkaa heti perään torstaina nauhotettujen luentojen katseleminen ja materiaaliin perehtyminen. Olen tosi innoissani tästä koulutuksesta, pää on avattu ja tästä on hyvä jatkaa!