The page has been modified since the last reload. Refresh now?

There are {{ pendingUpdatesCount() }} pending paragraph updates.

Ohjelmointi 1/ Kysymyksiä ja vastauksia

Syksy 2017

Kysymykset ovat alun perin kotoisin demotehtävästä, missä sai esittää luennoitsijalle yhden kysymyksen. Vastaan näihin "henkilökohtaisiin" sitä mukaa kuin ehdin, mutta yleisempiin saa toki muutkin vastata.

Vastaajat

  • VL: Vesa Lappalainen
  • AJK: Antti Juhani Kaijanaho (mm. erilaisten kieliin liittyvien kurssien pitäjä)
  • TK: Tomi Karppinen (Jypeli-kehittäjä)
  • AJL: Antti-Jussi Lakanen (Ohj1-kurssin luennoija keväisin)
  • ji: Jonne Itkonen
  • VT: Ville Tirronen
  • JP: Jouni Potila (Ohj1-kurssin tuntiopettaja s2012 ja k2013)
  • TS: Tuomo Sipola (tutkija, tiedonlouhinta)
  • JV: Jukka Varsaluoma (jatko-opiskelija, pelitutkimusta ja peliaiheeseen liittyviä kursseja)
  • H-J: Heikki-Jussi Niemi (jatko-opiskelija, erilaisissa ohjaustehtävissä toiminut)
  • VS: Vesa Savolainen, Emeritus professori, tietojärjestelmätiede
  • MS: Markku Sakkinen, Emeritus professori, ohjelmistotuotanto
  • ML: Mauri Leppänen, lehtori, järjestelmäkehitys
  • TP: Tero Paavolainen, maisterivaiheenopiskelija (Pelit ja pelillisyys), tuntiopettaja

Vastausohjeet: Siirry himpun kysymyksen Q-kirjaimen vasemmalle puolella ja klikkaa syttyvässä sinivihreässä alueessa hiiren nappia ja valitse Edit. Kirjoita vastauksesi A: -kirjaimen perään ja laita vastauksen loppuun nimikirjaimsesi. Jos niitä ei ole ylläolevassa listassa, niin lisää en sinne. Editorin saat tallennettua myös Ctrl-S. Jos editoit paljon, voit siinä vasemman reunan menussa pistää pallukan Editin kohdalle, jolloin editori aukeaa tuplaklikkauksella. Jos haluat täydentää jotakin vastausta, niin tee siihen uusi A: uudelle riville ja lopeta edellinen \-merkkiin. Muista laittaa vastauksen loppuun viiva (-) ja omat nimikirjaimesi. Voit myös tarvittaessa siirtää kysymyksen toiseen kategoriaan, ks. ohjeita

1. Kurssin suorittaminen

Q: Mitä ohjelmointiin liittyvässä tentissä voidaan kysyä ja oletetaan tietävän?

A: Kurssin oleellisesta sisällöstä mitä vaan. Kokeessa pitää osata tehdä demojen tasoinen ohjelma. - vl

Q: - Kävin kesällä kurssista 3op:n version. Miten kurssin suorittaminen jatkuu tällä syksyn kurssilla? Odotanko kunnes päästään demo 8:n vai kuinka tulisi toimia?

  • Kurssin kotisivuilla on linkki jossa puhutaan kahdesta lisäkurssista ITKP106 ja ITKP107. En kuitenkaan löytänyt näitä kursseja korpista. Ovatko kurssikoodit vaihtuneet? Olisin kiinnostunut oppimaan miten harjoitustyö saadaan toimimaan mobiililaitteilla.

  • En saa comtestia toimimaan omalla kannettavallani enkä ole varma mistä kiikastaa. Käynkö ohjauksissa?

  • Luento01:n sivuilla oli koodin pätkä pallosta ja suorakolmiosta mitä voi käännellä hiiren avustuksella. Mitä kieltä koodi oli? Se ei näytä C#:lta. "ball=sphere(pos=vector(4,7,3)..."

A: Jolleivat ole Korpissa, tulevat varmasti syyskuun aikana. Apua kannattaa hakea ohjauksissa. Tuo 3D-ohjelma on VPython. - vl

Q: Selviääkö tästä kurssista?

A: Hommiin heittäytyvä selviää. - vl

Q: Voiko kurssin suorittaa kokonaan etänä?

A: Voi. Lue kurssin kotisivuja. - vl

Q: Kuinka haastava kurssi tulee olemaan, jos ei ole koskaan ohjelmoinut?

A: Samanlainen kuin mikä tahansa uusi asia. 70% teistä on samassa veneessä, eli ei ole tehnyt mitään aikaisemmin. - vl

Q: Voiko kurssilla pärjätä, vaikka ei ole aiempaa kokemusta ohjelmoinnista ja lähtee liikkeelle nollasta?

A: Ks. edellä - vl

Q: Oppiiko ohjelmoinnista mitään entuudestaan tietämätönkin perusperiaatteet ohjelmoinnista tällä kurssilla?

A: Varmasti jos asenne on kohdallaan. - vl

Q: Mitä neuvoja antaisit ihan aloittelevalle ohjelmoijalle?

A: Työtä, työtä ja työtä. Mutta kuitenkin järkevästi välillä apua hakien, eli turhaan ei kannata päätä hakata seinään. - vl

Q: Minkä vinkin tai neuvon antaisit opiskelijalle, jolla ei ole aiempaa kokemusta ohjelmoinnista?

A: Ks. edellä. - vl

Q: Mikä on paras neuvo ihmiselle joka aloittaa aikuisiällä tutustumisen ohjelmointiin?

A: Tuskimpa ikä tekee edelliset neuvot tarpeettomaksi. Jopa vielä enemmän pitää tuota korostaa koska iän myötä muiden velvollisuuksien määrä on kasvanut ja opettelutyölle on varattava aikaa... Pitää suhtautua asioihin kuten 4-vuotias lapsi. Maailma on täynnä uusia asioita joista ei mitään ymmärrä. Palapeliä vaan pitää hissukseen ruveta kokoamaan jostakin nurkasta ja välillä toisesta. Aikuiset haluavat heti järjestystä maailmaan ja se vaikeuttaa uuden oppimista. - vl

Q: Kun kurssi viimeksi järjestettiin, kuinka suuri osa kurssin läpäisseistä sai arvosanaksi 4?

A: 107 kpl arvolause 5, 49 kpl 4:ia, 27 kpl 3:ia jne... - vl

Q: Ovatko kalaiseni "keltanokat", jotka eivät ole koskaan aikaisemmin olleet tekemisissä ohjelmoinnin kanssa, pärjänneet hyvin tällä kurssilla?

A: Ks edellä. Noista 107:stä suurin osa on syksyllä aloittelijoita. - vl

Q: Voinko päästä kurssista läpi/ voinko oppia sen asiota kunnolla/ voinko pysyä hyvin kärryillä, vaikka ohjelmointi on minulle täysin vierasta enkä ole sitä koskaan tehnyt?

A: Ks. edellä - vl

Q: Onko aiempina vuosina ne opiskelijat, joilla ei ole kokemusta ohjelmoinnista, mieltäneet kurssin hankalaksi?

A: Jos sillä asenteella lähteelle liikkelle, niin joo. Mutta jos lähtee avoimin mielin, voi käydä niin kuin eräällä ekoissa pääteohjauksissa: "ajattelin että tämä on tosi tyhmää, mutta tämähän on hirmu koukuttavaa". - vl

Q: Kuinka monta prosenttia kurssilaisista läpäisee kurssin?

A: n. 70%. Mahdollisuus olisi helposti 80% jos malttaa tehdä hommat kunnolla. - vl

Q: Mitä ovat pääteohjaukset ja kannattaako niihin ilmoittautua?

A: Opetellaan tekniikkaa ohjaajien auttaessa ongelmissa. Kannattaa! - vl

Q: Mikä on tärkein neuvo tai ohje, jota noudattamalla kurssista suoriutuu hyvin arvosanoin?

A: Tekee hommat eikä luovuta tai masennu vastoinkäymisistä - vl

Q: Mitkä asiat kannattaa painaa mieleen heti alusta lähtien, ohjelmointia tehdessä.

A: Ongelmien hahmottaminen. Kielet on vain tapa ilmaista sitä sitten koneelle. - vl

Q: Mikä on paras tapa opetella ohjelmointia omatoimisesti?

A: Ohjelmoida ohjelma joka tekee jotakin, mikä itseä oikeasti kiinnostaa. - vl

Q: Jos syksy 1. periodissa on runsaasti opintoja ja viime syksynä jätin kurssin kesken neljä-viiden viikon jälkeen, onko tänä syksynä parempi ennuste omalle onnistumiselle?

A: Toivittavasti nyt ymmärrät sen että se n. 15 h/viikko pitää löytyä että pärjää. Jos sen tuntimäärän tekee hyödyllisesti, on onnistumiselle hyvät edellytykset. - vl

Q: Kuinka paljon esitietoa kurssi vaatii?

A: Valmiutta uuden oppimiseen - vl

Q: Kuinka nopeasti tippuu kärryiltä

A: Sanoisin että jos on kaksi viikkoa kurssin aikana tekemättä, niin on jo aika paljon muita jäljessä. Samoin jos tekee joka kerta pari tehtävää kun muut tekevät 6-8. Jos etenee muiden mukana, niin ei siitä silloin putoa. - vl

Q: Jos saan tälläkertaa kurssin suoritettua, niin olenko informatiopläjäyksen jälkeen a)sitkeämpi, b)parempi ohjelmoija tai c) kelvollinen osallistumaan ohjelmointi 2 kurssille

A: a) - vl

Lisää kysymys

**Q:** ⁞

**A:** -

2. Työkaluista

Q: Voiko macbookia käyttää tämän kurssin ohjelmoinnin tehtävien tekemiseen?

A: Voi. - vl

Q: Onko tällä kurssillä väliä, mitä käyttöjärjestelmää omaavaa tietokonetta käyttää?

A: Windowsille on eniten ohjeita ja Jyplin Windows-versio on pisimmällä. Muuten ei eroa kun malttaa pienet erot selvittää itse. Mutta oikea tietokone tarvitaan (Windows, Mäc tai Linux), mobiilikäyttöjärjestelmät eivät tälle kurssille riitä (iOS, Android). - vl

Q: Miksi monisteen palkit eivät tallennu, vaikka olen kirjaantuneena sisään?

A: - Näytäppä ongelmaa pääteohjauksissa. -vl

Q: Tämä jäänyt minulta aiemmin huomaamatta. Kysymys: Voiko jostain löytää hyvän listan peruskomentoja komentorivejä varten? Koitin netistä metsästää mutten löytänyt.

A: Meillähän on tuo oma komentorivisivu ja siltä on linkkejä muuhun materiaaliin. -vl

Q: Miksi Ohjelmointi1:n kielenä juuri C#, eikä Pythonia tai Javaa?

A: Aikanaan Nuorten peliohjelmointikurssia varten etsittiin sopivia työkaluja ja C# tarjosi silloin parhaan kompromissin tehokkuuden ja ilmaisuvoiman välillä. Lisäksi sillä pystyi tekemään mobiilipelejä. Siksi Jypeli rakennettiin C#:illa ja sitten huomattiin että jos tämä sopii 11+ v nuorille, niin miksei myös 18+ v. Javalla ei tuolloin olisi saanut sellaist koodia, jossa monimutkaiset asiat piiloutuvat näkyvistä. Pyhtonilla ei voinut tehdä mobiilijuttuja ja kyllä TIMiä tehdessä on selkeästi tullut vastaan että Python on tulkattava ja siksi hitaampi kuin käännettävät kielet.

Q: Miksi kurssilla käytetään juuri C# eikä esim. Pythonia?

A: ks edellä. - vl

Q: Miksi monissa muissa yliopistoissa opetetaan ohjelmointi Python-kielellä?

A: Niillä ei ole Jypeli :-) C# ja/tai Java ovat ihan hyviä aloitukseen, niistä on hyvä siirtyä muihin suuntiin. - vl

Q: Voiko versionhallintana käyttää gitiä SVN:n ylitse?

A: Joo, jos hallitsee tai opettelee git-svn -komennon käytön. Helpommalla pääsee, jos vain käyttää svn:ää. (Itsekin käytän mielummin gittiä ;-) -ji

Q: En osaa kysyä mitään, tämä on ensimmäinen kurssi missä käsitellään tietokoneella muutakin kuin wordin ja excelin käyttöä. Kysymyksiä tulee varmaan myöhemmässä vaiheessa enemmänkin.

A: Luuelempa että niitäkään ei ole käsitelty loppuun asti kunnolla :-) Osaatko tehdä makroja? Käyttää tyylejä? - vl

Q: Jypeli ei näy Visual Studiossa kotikoneellani

A: -

Lisää kysymys

**Q:** ⁞

**A:** -

3. Eri kielistä

Q: oppiiko ihminen muistamaan eri ohjelmointikielien käskyjen erot, niin että käskyt ei mene sekaisin eri kielien välillä? Saako keskittyä vain yhteen kieleen ja kääntää jollain ohjelmalla koodin toiselle kielelle, toimiiko se?

Terv. kielinero, jolla jotkin kielen sanat dominoi ja tulee muihinkin kieliin

A: Tuo varmasti vaihtelee. Mutta mulla oli kerran auto, jossa vaiheet olivat eri järjestyksessä kuin tavallisessa autossa. Pakki normaalin ykkösne paikalla ja ykkönen kakkosen paikalla. Alkuopettelun jälkeen pelkästään se, että istui autoon toi automaattsiesti sen vaihdekuvion. Vähän sama on ohjelmointikielissä. Jos "ajaa" vähän, menee aluksi hapuiluksi, mutta määrän lisääntyessä automaatio kasvaa. - vl

A: Eipä kannata tuollainen kääntely. Tulos on yleensä aina lukijalle hirvittävä kokemus, tosi poikkeuksiakin on. Töissä ei sitten aina pääse valitsemaan haluamaansa kieltä, joten jossain vaiheessa on pakko opetella uusia kieliä. Kannattaa aloittaa se nyt. -ji

Q: Kummalla on helpompi opetella ohjelmoimaan: Javalla vai C#:lla?

A: Jos ei käytetä syvällisesti kielten ominaisuuksia, niin ei eroa tällä tasolla. - vl

Q: Mikä ohjelmointikieli kannattaa opetella työllistymisen kannalta Suomessa?

A: Kannattaa opetella ohjelmoimaan. Kieliä tulee ja menee. Kuitenkin täällä opettelemme tietysti niitä, joista uskomme olevan hyötyä. - vl

Q: Onko eri ohjelmointikielten haltuunottaminen hankalaa?

A: Samassa kieliperheessä ei niinkään (esim. C# vs Java), mutta erilainen paradigma (olio vs funktio) tuottaa enemmän päänvaivaa, siksi kannattaa tutustua erilaisiinkin. - vl

Q: XNA game stuodio asennettu ilman virheilmoituksia ja löydän sen new project valikosta. MIksi en kuitenkaan nää/voi valita projektityyppiä? (siis esim. Windows Game)

A: Jos on kannettava, niin näytä ongelmaa pääteohjauksessa. - vl

Q: Onko parempi osata mahdollisimman montaa ohjelmointikieltä vähän vai yhtä kieltä melkein täydellisesti?

A: Ehdottomasti laaja-alaisesti, mutta sitten kun tekee työtä, on tietysti keskityttävä niihin työkaluihin joita siinä käytetään. Liiasta nippelitiedosta ei ole hyötyä. Mitä esimerkiksi teen sillä tiedolla että osasin ulkoa joskus MS-DOSin keskeytyksistä suurimman osan. Tosin sellainen ulkoaosaaminen tulee siitä, että kun käyttää, jää mieleen eikä aina tarvitse manuaalista katsoa. Mutta ulkoaosaamista tärkeämpi on että tietää mitä etsii ja mistä. Esimerkiksi en osaa hyvin Pythonia, mutta kun TIMiä koodaa ja tietää että tarvitsee esimerkiksi tiedon siitä, että miten Pythonissa poistetaan vaikka alkio listan keskeltä, niin tietää myös mitä pitää etsiä. Edellisestä huolimatta, kyllä joku kieli kannattaa osata kohtuullisen hyvin. Mutta liika snobbailu erityispiirteillä tekee vaan ohjelman vaikeasti luettavaksi muille. - vl

A: Mahdollisimman monta kieltä eri ohjelmointitavoista ja mahdollisimman hyvin. -ji

Q: Mikä ohjelmointikieli on hyvä pelialalle?

A: C# on ihan varma aloitusvalinta. Unityssäkin (= yksi eniten käytetyistä "pelikirjastoista") sillä kirjoitetaan koodiosat. C++ en koske enää pitkällä tikullakaan (kuin se yhden op:n kurssin Ohj2:n perään). Androidia varten tietysti Java. Mutta tässkin kuten muissakin asioissa, yleinen ymmärrys on kieltä tärkeämpää.

Q: Mikä on käytännön ero suosituimmilla ohjelmointikielillä? (esim. käyttötarkoitus)

A: Mitkä ovatkaan suosituimmat kielet? Jahas, C/C++ ero on, että C:llä on hankalampi kirjoittaa ohjelmia kuin C++:lla, mutta jotkut haluaa vielä uskoa, että C:llä saa nopeampia ohjelmia kuin millään muulla kielellä. Molemmat ovat lähinnä tehokas tapa saada hermoromahdus.

C# ja Java ero on, haluatko olla osa Oraclen vai Microsoftin maailmaa. Jos käytät vain Windowsia, valinta on helppo: C#.

C#/Java vs C/C++ ero on, että ensinmainituilla hermoromahdukseen kestää hieman pidempään kuin jälkimmäisillä. Python on PHP tehtynä oikein ja PHP on rikos ihmisyyttä vastaan. Javascript on nykyajan Basic, siis kaikkialla ja joka paikassa, mutta vaikka onkin hyviltä puoliltaan parempi kuin kaikki edellä mainitut, sisältää paljon ikäviä yllätyksiä ja vahvasti aiemmista erilaisen näkökulman ohjelmointiin. -ji

Q: Mitkä ohjelmointikielet on relevanteimpia opetella tällä hetkellä työmarkkinoita ajatellen?

A: Tylsät ja hankalat kielet ohjelmoida, katso seuraavan kysymyksen "teollisuusnäkökulma" -lista ja edellinen kysymys. -ji

Q: Mitä ohjelmointikieliä olisi hyvä osata?

A: Erilaisia kieliä, joilla ohjelmoidaan eri tavoin. Suosittelen seuraavia (aakkosjärjestyksessä): Common Lisp, Erlang, Forth, Haskell, Piet, Smalltalk, ja symbolinen konekieli.

Sitten jos ajattelet "teollisuusnäkökulmaa", niin lista voisi olla (satunnaisessa järjestyksessä): Javascript, C, C++, Python, Lua, C#, Java, Swift, Objective-C, Ruby, Rust, Go, Fortran ja Visual Basic.

Ensimmäisestä listasta hyödyt ja opit enemmän ja se on haastavampi. -ji

Lisää kysymys

**Q:** ⁞

**A:** -

4. Kurssin sisällöstä

Q: Milloin päästään koodaamaan?

A: 1. viikolla. -vl

Q: Onko erityisiä vinkkejä kurssin etäsuorittamiseen?(huomioitavaa, päivämäärät, "pakolliset" läsnäolokerrat)

A: Lue kurssin kotisivut ja sitten sieltä on linkki etäsuorittamiseen. Dmeojen takarajat ja HT takarajat samat kuin muillakin. Samoin debug-näyte. -vl

Q: Mihin ohjelmointikieliin tulemme tällä kurssilla tutustumaan?

A: Pääasiassa C#. Vilaukselta nähdään toki muitakin, nähty on jo VPython, CMD-promtin kieli, PowerShellin kieli, Alice, AWK, Perl. Viikolla 2 vilahtaa Java, bash ainakin. - vl

Q: Miten ohjelmointi oikeastaan toimii tietokoneissa?

A: Jaa, vaikea tietää mitä kysymyksellä tarkoitetaan. Miten ohjelma toimii tietokoneessa? Siitä tulee dmeotehtävä "Ollaan tietokoneena". - vl

Q: Mitkä ohjelmointiin liittyvät kurssit olisivat ohj2 lisäksi hyviä kursseja käydä työelämää ajatellen, jos aikomuksena ei ole työskennellä ohjelmoijana, mutta haluaisi silti laajan kuvan ohjelmoinnista?

A: Kyllä ne meidän aineopinnot kokonaisuudessaan ovat tärkeät. Jos siellä olisi asiaa, joka on tarpeetonta, korvattaisiin ne tunnit lisäohjelmoinnilla, mutta kun mitään ei voi jättää pois. Ja sitten syventävissä tulee lisää... - vl

Q: Millainen voisi olla markkinoinnin (ja sivuaineena tietojärjestelmätieteen) opiskelijalle hyödyllisin harjoitustyö, jos pelin tekeminen ei innosta?

A: Sellainen joka itseä kiinostaa ja liittyy jotenkin omaan alaan. Jostakin datasta laskea jotakin mielenkiintoista. - vl

Q: Millaisia matemaattisia valmiuksia kurssilla tarvitaan? Pärjääkö lukion lyhyellä matematikalla?

A: Varsinaista matematiikkaa ei juuri yläkoulun matematiikkaa enemmän ole. Mutta matematiikan takana oleva ajattelu on erittäin hyödyllistä. Ja ymmärtää se, milloin joku on oikein tai ei ole oikein. Se että joku toimii sinnepäin, ei ole vielä oikein. Myös matematiikan tapa jäsentää asioita ja pilkkoa pngelmat pienemmiksi osiksi, on erittäin tärkeä ajattelutapa, meillä ehkä jopa tärkein. Asioita on välillä katsottava kokonaisuuksina ja sitten välillä paneuduttava yksityiskohtiin jolloin kokonaisuus on pakko unohtaa tai ei kykene etenemään liian ison kuorman kanssa. - vl

Q: Onko ulkomaalla/Suomessa etäopiskelevien mahdollista hankkia oheislukemistokirjan Java-ohjelmointi postitse?

Mitä ohjelmointikieliä ohjelmointi kursseilla 1 ja 2 opetellaan?

A: Kysytään Jormalta suostuuko postittamaan. Ohj1: C#, Ohj2 Java, Ohj2 jatkokurssilla C/C++.

Q: Jos tahdon opiskella ohjelmointia itsenäisesti, mitä materiaalia tai kieltä suosittelisit?

A: Tällä kurssilla ei juuri ole vaihtoehtoa: C# ja lue meidän luentomoniste ja tee tehtävät. Muuten toki maailma on avoin ja mikään ei ole toistaan parempi ja toisten mielestä joku materiaali on parempi kuin toisen. - vl

Q: Keitä pääteohjauksissa käyvät ohjaajat ovat?

A: Katso 1. kerran videot. -vl

Q: Ohjelmointi1 kuuluu tutkintorakenteeseen, osallistun kurssille mielelläni ja se vaikuttaa kiinnostavalta. En kuitenkaan suuntaudu ohjelmointiin. Mietin, kuinka saisin parhaimman mahdollisen hyödyn kurssista ja pystyisin hyödyntämään oppimaani. Opiskelen työn ohessa ja odotan aina kursseilta jotakin, mitä voin 'realisoida' samantien.

A: Harjoiotustyössä voi realisoida kyllä jotakin. Tosin hirveä suurta emme tällä kurssilla pysty tekemään. Mutta toivottavasti kurssi opettaa ymmärtämään vähän sitä mitä tietokone on, mihin se pystyy nyt ja tulevaisuudessa. Rajoitteiden ja mahdollisuuksein ymmärtäminen auttaa muussakin kuin siinä että itse koodaa. - vl

5. Jypeli

Q: Milloin harjoitustyötä kannattaa aloittaa tekemään?

A: Heti kun meillä on siihen riittävästi osaamista. Kurssin aikataulua on hvyä seurata, mielellään etupainotteisesti. - vl

Lisää kysymys

**Q:** ⁞

**A:** -

6. Yleistä ohjelmoinnista

Q: Kuinka paljon täytyy osata ohjelmointia, että voi ohjelmoida omaa elämää helpottavia yksinkertaisia sovelluksia kännykkään? Mikä ohjelmointikieli on paras android-sovelluksia tehtäessä?

A: Sanoisin että n. vuoden verran pitää opiskella. Androidiin toimii parhaiten Java ja myös C# on ihan hyvä. - vl

Q: Miten voi menestyä ohjelmoinnissa?

A: Ohjelmoinmalla ja harjoittelemalla ja tutustumalla laajasti aiheeseen. Algoritmit yms pitää osata. Sekä ymmärtää mitä koneessa tapahtuu. Mutta kaikkien tärkeint on osata kohdealue, johon ohjelmaa kirjoittaa. Jos ei ole koskaan käynyt kirjastossa, on mahdotonta tehdä kirjastojärjestelmää. - vl

Q: Mikä on mielestäsi tärkein piirre aloittelevalla ohjelmoijalla?

A: Halu oppia uutta ja jaksaa pienten "haasteidenkin" kanssa - vl

Q: Tarkoittaako ohjelmointi samaa asiaa kuin koodaaminen?

A: Osittain, mutta pitää pitää ero siinä, että joskus oli ammattikunta jotka lävistivät reikäkortteja, eli koodasivat ohjelmoijan antamaa tekstiä reikäkorteille. Ohjelmointi on toivottavasti käsitettävä paljon laajemmaksi. missä pitää ymmärtää koko prosessi tarpeesta koneelle vietyihin ohjeisiin saakka. Ja silloin sitä on vaikea ulkoistaa. - vl

Q: Onko ohjelmointia vaikea oppia?

A: Pikkuisen oppii äkkiä. Täydellisesti ei ikinä. Olen lentänyt 33 vuotta ja vielä haukat menevät nostossa ohi... - vl

Q: Kuinka suuri merkitys ohjelmoinnin osaamisella on tulevaisuudessa työnhaun kannalta?

A: Varma työpaikka - vl

Q: Mitkä ovat ohjelmoinnin isoimmat haasteet?

A: Aloittaminen ja mielikuvitus. Syntaksin yms. voi aina tarkistaa oppaista, tai sitten ohjelmointiympäristö auttaa siinä. -ji

Q: Mitä ohjelmoinnissa on vaikeinta oppia?

A: Seuraava ohjelmointitapa. Ohjelmoinnin oppiminen on helppoa. Toki mitä enemmän haluaa oppia, sitä haastavammaksi se käy. Kaikkein hankalinta on kuitenkin oppia täysin uusi tapa ohjelmoida. Uusi ohjelmointitapa muuttaa kokonaan sen, miten näette ohjelmoinnin tai miten ratkaisette ongelman ohjelmoimalla. Pääsette kokemaan tämän, kun tulette olio- tai funktio-ohjelmointikurssille.

Sama ongelma tulee vastaan muuallakin, kun haluatte tai joudutte vaihtamaan näkökulmanne täysin toiseksi. Suosittelen sen takia jokaista ottamaan yhdeksi sivuaineeksi jotain aivan täysin muuta, kuin luonnontieteitä/kaupallisia aineita. -ji

Q: Mitä on ohjelmointi?

A: Kts. vastaukseni kysymykseen "Miten ohjelmoinnista hyötyy työelämässä?". -ji

Q: Miten ohjelmoinnista hyötyy työelämässä?

A: Kaikin mahdollisin tavoin. Ohjelmointi on työväline ongelmien ratkaisuun, kuten kirjoittaminen, lukeminen, laskeminen, piirtäminen ja ajattelukin. Kun vähän oppii ohjelmointia, huomaa monessa paikkaa asioita, joita voi helpottaa tai korvata sen avulla. Myös monet ohjelmistot tekstinkäsittelystä multimediaspektaakkelisäveltimiin asti tukevat nykyään 'skriptausta', eli pienten ohjelmien avulla ohjelmiston toiminnan automatisointia. -ji

Q: Kuinka suuressa osassa matematiikka on ohjelmoinnissa?

A: -

Q: Hyötyykö kauppatieteilijä ohjelmointiosaamisesta työelämässä?

A: -

Q: Mitä hyötyä on ohjelmoinnin perusteiden hallinnasta?

A: -

Q: Mikä on parasta ohjelmoinnissa?

A: Epäonnistuminen. Se on hienoa, kun homma menee ensin pieleen, mutta kun jaksaa pohtia ja kokeilla, löytää viimein keinon korjata tuon, ja sitten onkin taas yhtä kokemusta viisaampi.

Kyllä sekin tosin on mahtavaa, kun saa jonkun hyvän idean toteutettua :-) -ji

Q: Onko ohjelmointi hauskaa?

A: Riippuu päivästä. Joskus mikään ei onnistu ja se masentaa, joskus onnistuu ja se tuo hyvän fiiliksen (kunhan ei olisi käyttäjiä jotka aina haukukvat kaiken :-). - vl

Q: Miten voin yhdistellä eri ohjelmointikielillä kirjoittamiani ohjelmia?

A: Haastava kysymys, mutta tässä muutama tapa: .Net-virtuaalikone osaa esim. ajaa C#, F# ja joukoittain muilla kielillä kirjoitettuja ohjelmia, koska niille on tehty kääntäjiä, jotka kääntävät ko. kielen ohjelmat .Net:ille. Vastaavasti on kääntäjiä, jotka kääntävät kielen, suoraan prosessorilla ajettavaksi natiivikoodiksi niin, että useita kieliä voi käyttää yhteen. Luulisin, että LLVM ja GNU CC ovat tämän osaavia ympäristöjä.

Kääntäjällä voi myös luoda kirjastoja, joita voi kutsua useasta eri kielestä. Joskus tähän kutsumiseen tarvitaan sovituskoodi väliin, mutta kääntäjä ja/tai kehitysympäristö osaa tehdä sen. Monesti tämä tapahtuu jostain kielestä C-kielellä kirjoitettuun ohjelmaan päin, esim. Pythonista kutsutaan C-aliohjelmaa.

Sitten voi vielä luoda yhteisen 'viestikanavan' ohjelmien välille. Tällöin kielille on kirjoitettu keino liittyä kanavalle, sekä kuunnella sen liikennettä ja lähettää sinne viestejä, joita muut ohjelmat kuuntelee ja niihin reagoi. Jokaisesta käyttöjärjestelmästä löytyy tällainen ja sitten on tarjolla esim. ZeroMQ yhtenä yleisenä ratkaisuna. Tähän samaan syssyyn voi lisätä verkkopalvelut, eli voithan aina tehdä jotain verkkoprotokollaa käyttävän palvelun (vaikka HTTP), ja keskustella sen välityksellä kielestä toiseen. -ji

Q: Montako ohjelmointikieltä on olemassa? (suunnilleen)

A: Liian vähän, mutta katsopa täältä: http://www.99-bottles-of-beer.net -ji

Q: Miten CSS ja HTML eroavat varsinaisista ohjelmointikielistä?

A: Mainitsemissasi on tiukka syntaksi, kuten on ohjelmointikielissäkin. Se on yhteistä ja sen ymmärtäminen auttaa. Mutta noilla ei voi (kai?) kirjoittaa esimerkiksi silmukoita tai rekursiota, jonka takia niillä ei voi tehdä yleiskäyttöisiä ohjelmia (Turing-täydellisiä kieliä). Ne ovat kuvauksia jollekin, joka voidaan esittää (staattisesti) selaimessa. Mutta sitten kun lisätään noihin JavaScript, niin toki tilanne muuttuu. -vl

Lisää kysymys

**Q:** ⁞

**A:** -

7. Henkilökohtaista

Q: Mikä on omasta mielestäsi parasta, hauskinta, haastavinta ja kamalinta ohjelmoinnissa?

A: luominen ja onnistuminen - vl

Q: Mikä ohjelmoinnissa on mielestäsi kivointa?

A: Ks. edellä - vl

Q: Mikä on mielestänne mielenkiintoisinta ja haastavinta ohjelmoinnissa?

A: Ks. edellä. - vl

Q: Tykkäätkö Kebabista

A: Kyllä se välillä on ihan OK - vl

Q: Mikä on mielestäsi paras ohjelmointikieli?

A: Sitä ei ole olemassa - vl

Q: Mikä oli ensimmäinen ohjelmointikieli, jonka opettelit?

A: HP:n taskulaskimen kieli. - vl

Q: Miten sä oot hyötyny ohjelmointiosaamisesta muuten kuin itse ohjelmoidessa? Onks siitä ollu jotain ns. yleismaallista hyötyä?

A: No ei mun omakotitalo ole virkamiehen palkalla velattomasti rakennettu :-) - vl

Q: Mikä on opettajan henkilökohtainen suosikkiohjelmointikieli?

Q: Mikä on lemppari ohjelmointikielesi?

A: Useimmiten se, jolla tekee hommia. Tosin kieltä vaihaessa se uusi on melkein aluksi enemmän vihan kuin mieltymyksen kohde kun tuntuu että kaikki toimii eri tavalla. Konekieli ei tuottanut juuri koskaan yllätyksiä, vaan teki juuri kuten käski. Ilmaisuvoima oli tietysti huonompi kuin korkean tason kielillä. - vl

Q: Mikä sai teidät kiinnostumaan ohjelmoinnista?

A: Se että sillä saa jotakin näkyvää ja toimivaa aikaiseksi. - vl

Lisää kysymys

**Q:** ⁞

**A:** -

8. Lajittelemattomat

Q: Miksi?

A: -

Lisää kysymys

**Q:** ⁞

**A:** -

9. Vastauksia joihin ei ole kysymystä

10. Ohjeita

Jos haluat siirtää kysymyksen toiseen kategoriaan:

  1. Mene kysymyksen kohdalle jonka haluat siirtää.
  2. Aukaise edit-menu (kpl vasemmalla puolella klikkaa sinivihreää aluetta)
  3. Paina alhaalla olevaa kynän kuvaa.
  4. Valitse Cut paragraph.
  5. Mene kohtaa johon haluat siirtää kysymyksen.
  6. Ota taas edit menu ja sieltä Paste (jos se ei näy, paina taas kynän kuvaa)
  7. Avaa edit menu ja ota edit ja vastaile kysymykseen.