SMD038 - Imperativ Programmering


Senast uppdaterad 2001-10-14 (Tips och exempel hittar ni längst ned på denna sida)

Laborationsanvisningar

En stor del i programmering handlar återanvändning och att kunna förstå vad andra har gjort och hur de gjort det. Oftast är man inte den första som har stött på det problem som man står inför, likväl verkar det ofta som om programmerare "måste" uppfinna hjulet på nytt, varje gång! Ett sätt att undvika att behöva uppfinna hjulet är att veta hur man använder färdiggjorda komponenter (i Java kallas de klasser och metoder). För att kunna se dem så måste ni lära er att läsa och förstå någonting som kallas "Java 2 Platform, Standard Edition, v 1.3.1 API Specification".

Laborationen består av två delar, en mindre där varje student sätter upp en miljö så att denne kan använda datorn som ett verktyg och för redovisning. Den större delen handlar om att göra en applikation (ett program) som hämtar en HTML fil från en web-sida för att gå igenom den och spara ned de viktiga uppgifterna ur den sidan och kunna visa informationen på olika sätt. Här finns en behändig snabbreferens till Java som Per Holm ställt samman [lokal kopia].

För att ni skall kunna göra laborationen och övningsuppgifter krävs det lite förberedelse till datorsystemen som vi använder. Därför gör ni först uppgifterna i "Introduktion till laborationen" (klicka på länken till vänster så kommer ni rätt), innan ni påbörjar laborationen nedan.


Laboration

I denna kurs laborerar man parvis (två stycken), vilket man även gör med räkneövningarna.

För att kunna bli godkänd på laborationerna måste man vara aktiv och förstå alla ingående delar i laborationen. Innan ni kan göra laborationen behöver ni känna till de olika miljöerna (UNIX/Windows) och veta hur man använder verktygen som finns tillgängliga för er (Emacs, BlueJ, Forte, JDK, etc).
Utöver detta skall varje student ha gjort i ordning en hemsida för dennes övningsuppgifter och labbar. Det inkluderar att skapa en web-sida (HTML) som presenterar studenten, visar länkar till övningsuppgifterna, och annat som behövs för att vi som håller i kursen skall kunna kika på det som ni har gjort. Alltså ett sätt att redovisa arbetet kontinuerligt.

Följande moment kommer att bedömas vid poängberäkning:


Labbuppgifter

Denna laboration handlar om att med hjälp av ert program hämta hem en websida från följande address (http://www.sm.luth.se/csee/courses/smd/038/2001/LP1/Lab/Bibdia_java146.html). Denna sida innehåller ett sökresultat från en litteratursökning på titlar som innehåller ordet "java" från vårt bibliotek (http://www.lib.luth.se:81/sv/frm_qsim.html). Vi vill att ert program skall klara följande för godkänt resultat:

Den fungerande och kompletta laborationen inlämnas senast måndag den 15 oktober 2001 klockan 17.00 i A3311.


Tips och exempel

Här finner ni en del tips och även vissa exempel (som vi inte nämnt tidigare).

  1. Hur fixar vi att läsa websidan?
  2. Finns det några andra sätt att läsa och skriva?
  3. Hur fungerar det med strängar?

     

  4. Övriga tips och exempel som nämnts under nyheter (2001-09-10):
    För er som vill gå händelserna i förväg eller kika på andra exempel (labbrelaterat) så har kurserna SMD112 och SMD091 många bra exempel och tips. T.ex. SMD112 lektion 9 om I/O. SMD112 lektion 13 om läsa websida (URL).
    SMD091s lektionssida har info i handouts och Javaexempel, Räknatecken, Telefonlista (påminner i viss mån om en boklista). Och mycket annat matnyttigt! Även förra årets SMD038 har en rad exempel "Program från föreläsningar" (8 st olika, bl.a. sortera och I/O), ganska långt ned på sidan. Den som söker ... glöm ej heller Java API Spec.
  5. Teckenkoder (samma som redan delats ut till alla grupper) för Latin-1: html-tabell, och UNICODE för 0000-00FF. Länk till Skolverkets sida om Specialtecken.
  6. Här finns exemplet som visades på lektionen (2001-10-01) på hur ni skall dokumentera er programkod.
  7. En metod för att ersätta delar av strängar med en annan sträng (replace.txt).
  8. Här är exemplena från dagens lektion: sortera svenska ord på "rätt" sätt (behöver kompletteras) (se mer om det på Java Tutorial om Customize rules) samt en länk till en metod för att ersätta HTMLtkn med "vanliga" bokstäver (unescapeHTML).

  9. javadoc Notera att ni för att få med @author och @version måste "säga det" till programmet "javadoc". Gör så här ... vid promten:> (dvs, lägg till 2 "flaggor", -author -version).

  10. För att ni skall kunna arbeta med och modifiera er laboration på tentan bör ni (för att förenkla för er när ni skall hämta filerna från "er" hemmakatalog) packa ihop alla filer som har med laborationen att göra. Det innebär att alla relevanta filer är sammanpackade i en enda fil. Gör så här (när ni är klara med laborationen) vid kommandoprompten i katalogen där era laborationsfiler finns:


Frågor, kommentarer? Kontakta Jan-Åke Lehto, Jan-Ake.Lehto@cdt.luth.se