Skip to content
Matti Luukkainen edited this page Mar 13, 2016 · 48 revisions

Ajankohtaista

Yleistä

Kurssilla tutustutaan nykyaikaisten, skaalautuvien ja virheenkestävien web-sovellusten toteuttamiseen, testaamiseen ja julkaisemiseen.

Kurssilla keskitytään palvelinpuolen toiminnallisuuden toteuttamiseen, kurssilla tuotettavat käyttöliittymät tulevat olemaan alkeellisia. Kurssi ei ole johdatuskurssi selainohjelmointiin ja käyttöliittymäsuunnitteluun, HTML:n, CSS:n ja Javasacriptin rooli kurssilla on hyvin vähäinen. Selainohjelmoinnista kiinnostuneiden kannattanee tutustua syksyllä 2015 järjestetyn kurssin web-selainohjelmointi materialiin.

Kurssin laajuus on 5 opintopistettä. Kurssiin liittyy periodilla 4 järjestettävä vapaaehtoinen 1-2 opintopisteen laajuinen harjoitustyö.

Vaikka kurssi on sisällöllisesti hyvin samankaltainen kuin Web-palvelinohjelmointi, molempin kurssien suorittaminen on mahdollista.

Esitietovaatimukset

Ohjelmoinnin harjoitustyö ja Tietokantojen perusteet. HTML on hyvä tuntea siinä laajudessa kuin asiaa käsitellään kurssilla Tietokone työvälineenä

Kurssille osallistuminen edellyttää hyvää ohjelmointirutiinia sekä valmiutta omatoimiseen opiskeluun.

Suoritusmuoto

Kurssin rakenne poikkeaa jossain määrin laitoksen kurssistandardista. Kurssilla tehdään ainoastaan yksi sovellus (joka tulee viikon 7 jälkeen näyttämään suunilleen tällaiselta), samaa sovellusta tehdään sekä teoriamateriaalissa että teorian sekaan upotetuissa laskareissa. Kurssin teoriamateriaalia ei pystykään pelkästään lukemaan; Materiaalia seuratessa tulee itse rakentaa matkan varrella täydentyvää sovellusta, sillä muuten tehtävien tekeminen on mahdotonta. Toisin sanoen kurssia on seurattava tasaisesti koko seitsemän viikon ajan.

Osa viikon tehtävistä on käytännössä pakollisia, muuten eteneminen pysähtyy viikon osalta. Osa tehtävistä taas on vapaaehtoisia, ei-kriittisten ominaisuuksien toteutuksia.

Yksi kurssin tärkeimmistä oppimistavoitteista on itsenäiseen tiedonhakuun kannustaminen. Tämän takia kurssimateriaali ei ole kaikilta osin yksinään riittävä tehtävien ratkaisemiseen. Kurssilla ei esim. varsinaisesti opeteta Rubyä ollenkaan, jokaisen osallistujan on hankittava kurssin aikana omatoimisesti riittävät valmiudet Rubyn käyttöön, ks. ruby-ohjeita

Arvosteluperusteet

Kurssin kokonaispistemäärä on 45 pistettä, laskuharjoitusten maksimi on 30 pistettä ja kokeen 15 pistettä. Kurssin läpäisy edellyttää vähintään 50% sekä kokonaispisteistä että koepisteistä. Laskuharjoitusten maksimipistemäärän saamiseen vaaditaan noin 90% tehtävien tekemistä. Puolet laskaripisteistä saa tekemällä noin 50% tehtävistä.

Kurssikoe ti 8.3. klo 9.00 A111

Opetus

Luento maanantaisin klo 16-18 salissa CK112.

Paja

Pajaohjaus pidetään luokassa C221

Ajat:

  • Keskiviikko 12-14 (Chang / Coolness)
  • Torstai 12-14 (mluukkai)
  • Perjantai 12-14 (Chang / Coolness)

Materiaali ja laskarit

  • viikko 1 tehtävien deadline su 24.1. klo 23.59
  • viikko 2 tehtävien deadline su 31.1. klo 23.59
  • viikko 3 tehtävien deadline su 7.2. klo 23.59
  • viikko 4 tehtävien deadline su 14.2. klo 23.59
  • viikko 5 tehtävien deadline su 21.2. klo 23.59
  • viikko 6 tehtävien deadline su 28.2. klo 23.59
  • viikko 7 tehtävien deadline ma 7.3. klo 23.59

Linkkejä

Railsin asentaminen

git- ja githubohjeita

Ruby-ohjeita

tehtäväkirjanpito

Kurssin Tietokone työvälineenä HTML:ää koskeva osuus

Editori/IDE

Rails-tuki löytyy useimmista kehitysympäristöistä. Koska Ruby on dynaamisesti tyypitetty, tulkattava kieli, kehitysympäristöjen tuki (esim. automaattinen koodintäydennys) ei ole läheskään samaa luokkaa kuin esim. Javalla ohjelmoitaessa.

Tämän hetken "paras" Rails-kehitysympäristö on Jetbrainsin kehittämä RubyMine http://www.jetbrains.com/ruby/ Ohjelma on maksullinen, mutta kaikki @helsinki-emailosoitteen omaavat saavat opiskelijalisenssin ilmaiseksi JetBrainsin sivuilta.

Itse käytän RubyMineä ainoastaan editorina, Railsin komennot suoritan komentoriviltä.

Myös useat tekstieditorit (esim. SublimeText ja Atom) tarjoavat kohtuullisen Rails-tuen.

Hyödyllisiä Rails-linkkejä

http://guides.rubyonrails.org/

http://api.rubyonrails.org/

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

http://www.ruby-lang.org/en/documentation/

http://railscasts.com/