Web-selainohjelmointi

582354
5
Ohjelmistojärjestelmät
Aineopinnot
Kurssilla käsitellään web-sovellusten selainpuolen toiminnallisuuden toteuttamisen perustekniikoita. Pääpaino kurssilla on sivustojen dynaamisuuden ja interaktiivisuuden toteuttamisessa nykyaikaisilla tekniikoilla. Osallistujien kannattaa ottaa myös periodissa 1 oleva kurssi "Web-palvelinohjelmointi". Kurssi korvaa aiemman kurssin "Digitaalisen median tekniikat". Kurssista ei järjestetä erilliskokeita. Uusintakokeisiin osallistuminen edellyttää kurssin harjoitustehtävien tekemistä kurssin aikataulussa.

Koe

11.12.2012 09.00 A111,B123
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2012 syksy 29.10-04.12. 2-2 Suomi Arto Hellas

Luennot

Aika Huone Luennoija Päivämäärä
Ma 10-12 B123 Arto Vihavainen 29.10.2012-29.10.2012
Ti 10-12 CK112 Arto Vihavainen 29.10.2012-04.12.2012
Ma 10-12 D122 Arto Vihavainen 05.11.2012-04.12.2012

Ilmoittautuminen tälle kurssille alkaa tiistaina 9.10. klo 9.00.

Registration for this course starts on Tuesday 9th of October at 9.00.

Yleistä

Kurssilla käsitellään web-sovellusten selainpuolen toiminnallisuuden toteuttamisen perustekniikoita. Pääpaino kurssilla on sivustojen dynaamisuuden ja interaktiivisuuden toteuttamisessa nykyaikaisilla tekniikoilla. Palvelinpuolen toiminnallisuuden toteuttamisesta kiinnostuneita suositellaan ottamaan ensimmäisessä periodissa järjestettävä kurssi web-palvelinohjelmointi.

Muutamia aihepiiriin kuuluvia teemoja: Responsive web design, HTML, CSS, Javascript ("natiivi", jQuery, Backbone.js/MarionetteJS, Mustache.js), DOM, JSON, MV*, Twitter Bootstrap.

Riippuen aikataulusta ja kurssin etenemisestä, kurssilla saatetaan tutustua myös selainpelien tekemiseen.

Kurssin suorittaminen

Kurssista on mahdollista saada neljästä kuuteen opintopistettä. Viidennen ja kuudennen opintopisteen saamiseen tarvittava projekti:

http://docs.google.com/document/d/12o5SmUYoCg8TKwSXhI4z0xY6-KLvI--j4EQKvUo56ZY/view

Kurssilla on viikoittain 4 tuntia luentoja. Maanantain luennolla käydään läpi pääosin teoriaa, tiistaisin pääosin työstettyjä esimerkkejä. Pääpaino kurssilla on harjoitustehtävissä ja niiden tekemisessä. Harjoitustehtävien tekemiseen tarjotaan tukea ohjelmointisaleissa kurssilla sovittuina aikoina. Kurssin harjoitukset alkavat jo ensimmäisellä viikolla.

Harjoitusajat

Kurssin harjoitukset järjestetään pajamuotoisina, joissa tehtäviä tehdään paikan päällä ohjaajien avustamana. Harjoitukset järjestetään seuraavina aikoina:

  • Tiistaisin klo 12-16, B221 (poikkeus, ensimmäisellä viikolla vain 14-16)
  • Torstaisin klo 12-16, BK107
  • Perjantaisin klo 12-14, B221

Huom! Ohjelmistotuotantoprojektien demojen takia 7.12. järjestettävä harjoitustilaisuus alkaa vasta klo 14:15 salissa B221. Ohjausta järjestetään kunnes viimeinen kurssilainen lähtee salista tai Exactum suljetaan.

Deadlinet ovat aina maanantai-aamuisin klo 06:00.

IRC

Kurssilla jatkokäytetään web-palvelinohjelmointi -kurssin IRC-kanavaa: #wad @ IRCNet

Ohjeet IRC:n käyttöön selaimen kautta http://mooc.cs.helsinki.fi/content/irc-ohjeet ( huom! vaihda #mooc.fi -kanava muotoon #wad )

Koe

Kurssikoe järjestetään tiistaina 11.12. klo 09:00.

Kurssin alustavat tulokset ovat saatavilla osoitteessa https://www.cs.helsinki.fi/i/avihavai/weso2012/

Arvostelu

Kurssin arvosana koostuu tehtäväpisteistä ja koepisteistä. Tehtävistä voi saada 30 pistettä, kokeesta 30 pistettä. Arvosanan 5 voi saada 51 pisteellä, arvosanaan 1 riittää 31 pistettä.

Kurssilla on käytössä koeleikkuri, eli kokeesta täytyy saada vähintään puolet pisteistä päästäkseen kurssista läpi.

Tehtävistä saatavat kurssipisteet määräytyvät tehtyjen tehtävien mukaan. Pistemäärä lasketaan lineaarisesti mahdollisten tehtäväpisteiden mukaan. Saadakseen viikolta täydet kurssipisteet, tulee kerätä vähintään 90% viikolla saatavista tehtäväpisteistä.

Huom! Tehtäväpisteitä laskettaessa joistakin tehtävistä saa enemmän kuin yhden pisteen. Esimerkiksi viikon 1 tehtävästä 8 saa 3 tehtäväpistettä.

Viikoittain tehtävistä on jaossa pisteitä seuraavasti:

viikko 1 2 3 4 5 6
maksimipisteet 4 4 5 5 6 6
 
Erilliskokeet

Kurssista ei järjestetä erilliskokeita, eli sitä ei voi tenttiä. Kurssin aikana kerätyt tehtäväpisteet otetaan huomioon jokaisessa uusintakokeessa.

 

Kirjallisuus ja materiaali

Kurssilla käsiteltävään laajahkoon aihealueeseen ei ole olemassa yksittäistä hyvää oppikirjaa (muutamia aihepiirin osia käsitteleviä kylläkin, esim DOM Scripting ja JavaScript: The Good Parts -- nämäkään eivät kata kurssin aihepiiristä kuin vain osan). Kurssille rakennettavalla luentomateriaalilla ja erittäin aktiivisella omatoimisella tiedon etsimisellä pärjännee hyvin.

Kurssimateriaalia julkaistaan kurssin edetessä osoitteeseen http://www.cs.helsinki.fi/group/java/s12-weso/

Ensimmäisen viikon luentojen esimerkki löytyy osoitteesta http://www.cs.helsinki.fi/u/avihavai/weso/weso1/esim1.html

Kolmannen viikon luentojen lopulla ollut vielä rikkinäinen koodi löytyy osoitteesta http://www.cs.helsinki.fi/u/avihavai/weso/weso3/

Viikon neljä aikana luennoilla luotiin seuraavanlainen sovellus: http://www.cs.helsinki.fi/u/avihavai/weso/weso4/

Viikon viisi aikana luennoilla rakenneltiin mm. seuraavaa: http://www.cs.helsinki.fi/u/avihavai/weso/weso5/ -- törmäysten tarkistus kannattaa toteuttaa siten, että tarkistetaan osuuko toinen hahmo pelihahmon neliöön neljästä ilmansuunnasta, yksi ilmansuunta kerrallaan. Jos yhdestäkään suunnasta osutaan, hahmoon osutaan. Luennolla piirretyn kuvan muistelusta on todennäköisesti hyötyä. Pelihahmot kannattaa myös toteuttaa olioina, joilla on omat piirto- ja törmäyksen tarkistusta tekevät funktiot.

Tehtävät julkaistaan aina viimeistään maanantaisin klo 18:00.