Web-palvelinohjelmointi

582353
5
Ohjelmistojärjestelmät
Aineopinnot
Kurssilla tutustutaan nykyaikaisten, skaalautuvien ja virheenkestävien web-sovellusten toteuttamiseen, testaamiseen ja julkaisemiseen. Kurssilla keskitytään palvelinpuolen toiminnallisuuden toteuttamiseen. Kurssi korvaa aiemman kurssin "Web-sovellusohjelmointi". Kurssista ei järjestetä erilliskokeita. Uusintakokeisiin osallistuminen edellyttää kurssin harjoitustehtävien tekemistä kurssin aikataulussa.

Koe

16.10.2013 09.00 B123 ja CK112
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2013 syksy 03.09-09.10. 1-1 Suomi Arto Hellas

Luennot

Aika Huone Luennoija Päivämäärä
Ke 10-12 CK112 Arto Vihavainen 03.09.2013-02.10.2013
Ma 14-16 B120 Arto Vihavainen 07.10.2013-07.10.2013

Information for international students

Unfortunately there is no English material for the course, but you can still join by e.g. using Google translate. The lab times (tue 12-16, fri 12-16) are also useful, as there are people who can support your work also in English. The strict course deadlines are on tuesdays at 23:59, and if you participate to the course, you need to keep the TMC-plugin option "Send snapshots of my progress for study" enabled. 

If you can and will contribute to voluntary english translations of the exercises, please use the following Google documenthttps://docs.google.com/document/d/14rC02vfOI8PI1Y6qI4noNJ1uS0DpLXE7TDz7vcXWmyc/edit

Some keywords for the first week: Maven, NetBeans, URI, DNS, HTTP, HTML, Servlets, JSP, JSTL, EL

About grading

On this course, there are two options for grading.

Option 1; exercises and the exam:

You can get points from the exercises as follows: 

Week 1, max 4 course points
Week 2, max 4 course points
Week 3, max 5 course points
Week 4, max 5 course points
Week 5, max 6 course points
Week 6, max 6  course points

The maximum course points for each week can be acquired by successfully completing and returning at least 90% of the exercises* for the specific week, if you complete less, the scale is linear. In the paper exam, the maximum amount of points is 30, and you need to get atleast half of the exam points to pass the exam. In order to get a grade 5, you need to get at least 55 points from the course, and for grade 1, you need at least 30 points.

Option 2; exercises and an optional viva voce:

The course can also be completed by successfully completing a specific number of exercises. Grade 1 can be received by successfully solving and returning at least 60% of the exercises*, and grade 4 by successfully solving and returning 90% of the exercises. If the participant does over 90% of the exercises, she can participate in a viva voce, which can raise the course grade to a 5.

You are free to choose the option you take. If you come to the course exam at the end of the course, you have chosen the option 1. If you do not participate in the course exam, you have chosen option 2. If you chose option 2, and aim for the grade 5, send a mail to the instructor at the end of the course to agree on the time for the viva voce.

* Here, exercises mean the exercise points. For week 1, a total of 11 exercise points was available.

Note: working in teams and pairs is ok and encouraged, but everyone has to complete their own exercises themselves -- you are not allowed to paste in solutions made by others. 

Yleistä

Huom! Kurssin koe järjestetään 16.10. klo 9:00 salissa A111. Suullinen koe järjestetään luokassa C221.

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. Kurssin suoritus perustuu vahvasti tehtävien tekemiseen: kurssilla opetellaan sitä, miten asioita oikeasti tehdään, eikä sitä miten asiat teoriassa toimivat kliinisessä laboratorioympäristössä.

Kurssin pääohjelmointikieli on Java: käytämme suurimmassa osaa esimerkeistä Spring-sovelluskehystä. Joitakin buzzwordeja: HTTP, CLIENT-SERVER, MVC, N-TIER, REST, ORM, SOA, IAAS, PAAS, SAAS, OWASP, NOSQL...

Kurssi ei ole johdatuskurssi selainohjelmointiin ja käyttöliittymäsuunnitteluun; HTML:n ja CSS:n rooli kurssilla on hyvin vähäinen. Selainohjelmoinnista kiinnostuneiden kannattanee tutustua syksyllä 2012 järjestetyn kurssin web-selainohjelmointi materialiin.

Huom!

Kurssin viimeinen luento järjestetään jo maanantaina 7.10. klo 14 salissa B120. Keskiviikkona 9.10. ei siis ole luentoa.

 

Esitietovaatimukset

  • Kurssi ohjelmoinnin harjoitustyö. Lisäksi mm. tietokantasovellus-kurssin tekemisestä on huomattavasti hyötyä.

Kurssin suorittaminen

Pääpaino kurssilla on harjoitustehtävissä, joita tehdään omatoimisesti ja pajassa. Kurssin harjoitukset alkavat jo ensimmäisellä viikolla.

Harjoitustehtävät

Kurssilla on viikoittaiset harjoitustehtävät joiden deadline on aina tiistaisin klo 23:59. Harjoitustehtävät julkaistaan tyypillisesti keskiviikkoisin. 

Harjoitusajat

Kurssilla on ohjattuja harjoitusaikoja tiistaisin ja perjantain klo 12-16 mikrosalissa B221. Ohjatuissa harjoitusajoissa osallistuja tekee tehtäviä paikan päällä, ja samalla voi kysyä neuvoa kurssin ohjaajilta. 

Arvostelu

Kurssilla tarjotaan kaksi vaihtoehtoa arvosteluun.

Vaihtoehto 1:

Kurssin tehtävistä saa pisteitä seuraavasti: 

Viikko 1, max 4 pistettä
Viikko 2, max 4 pistettä
Viikko 3, max 5 pistettä
Viikko 4, max 5 pistettä
Viikko 5, max 6 pistettä
Viikko 6, max 6 pistettä

Maksimipistemäärän saa tekemällä 90% kunkin viikon tehtävistä*. Kokeesta voi saada 30 pistettä, ja läpipääsyyn vaaditaan vähintään puolet kokeen pisteistä. Arvosanaan 5 vaaditaan noin 55 pistettä, arvosanan 1 saa noin 30 pisteellä.

Vaihtoehto 2:

Kurssin voi suorittaa myös puhtaasti tehtävillä. Arvosanan 1 saa tekemällä 60% tehtävistä*, ja arvosanaan 4 vaaditaan 90% kurssin tehtävistä. Jos osallistuja tekee yli 90% tehtävistä, osallistujan halutessa järjestetään erillinen suullinen kuulustelu, jolla voi saada arvosanan 5. 

* Tehtävillä tarkoitetaan tehtäväpisteitä. Esimerkiksi viikolla 1 tehtäväpisteitä oli jaossa yhteensä 11.

Vaihtoehdon voi valita vapaasti. Jos tulet kurssikokeeseen, valitsit vaihtoehdon 1. Jos et tule kurssikokeeseen, valitsit vaihtoehdon 2 -- jos tähtäät arvosanaan 5, sovi aika kuulusteluun sähköpostitse kurssin viimeisellä viikolla.

Kirjallisuus ja materiaali

Kurssilla käsiteltävään laajahkoon aihealueeseen ei ole olemassa yksittäistä hyvää oppikirjaa. Kurssilla käytettävällä luentomateriaalilla ja aktiivisella omatoimisella tiedon etsimisellä pärjää kurssilla hyvin.

Kurssin materiaali päivittyy osoitteeseen http://www.cs.helsinki.fi/group/java/wepa/ -- tehtävät julkaistaan TMC:ssä keskiviikkoisin.

Kurssin (epä)virallinen IRC-kanava on #wadup (IRCnetissä).

 

Huom! Kurssista on myös vapaaehtoinen 2op harjoitustyö. Lisätietoja löytyy osoitteesta https://www.cs.helsinki.fi/courses/582373/2013/s/a/1.