Skip to content

Web palvelinohjelmointi Ruby on Rails

Matti Luukkainen edited this page Jan 7, 2016 · 52 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ä 2012 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 kuuden 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 3.3. klo 9.00 A111

Opetus

Luento maanantaisin klo 16-18 salissa CK112.

Paja

Pajaohjaus pidetään luokassa B221

  • Keskiviikkoisin klo 13-15 (Kalle Ilves)
  • Torstaisin 13-15 (Leo Leppänen)

Materiaali ja laskarit

  • viikko 1 tehtävien deadline su 18.1. klo 23.59
  • viikko 2 tehtävien deadline su 25.1. klo 23.59
  • viikko 3 tehtävien deadline su 1.2. klo 23.59
  • viikko 4 tehtävien deadline su 8.2. klo 23.59
  • viikko 5 tehtävien deadline su 15.2. klo 23.59
  • viikko 6 tehtävien deadline su 22.2. klo 23.59
  • viikko 7 tehtävien deadline ma 2.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 laitoksella on ilmainen akateeminen lisenssi RubyMinen käyttöön. Lisenssin löydät täältä. Lisenssi oikeuttaa ohjelman asentamisen myös omalle koneelle. Kaikki @helsinki-emailosoitteen omaavat saavat lisenssin myös suoraan JetBrainsin sivuilta. Itse käytän RubyMineä ainoastaan editorina, Railsin komennot suoritan komentoriviltä.

Myös useat tekstieditorit (esim. SublimeText, TextMate, VIM, emacs) 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/

Clone this wiki locally