Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Hej, jag heter Ingela Johansson och hälsar dig välkommen till kursen Programutveckling med Java. Den är på 7.5 högskolepoäng och går under läsperiod 1 höstterminen 2007, vilket innebär att den startar onsdag 5 september kl. 8.15 och avslutas med tentamen torsdag den 1 november 2007. Kursen går parallellt både som campus- och distanskurs. Vad är programutveckling? Du kanske har tidigare erfarenhet av programutveckling eller programmering och behöver inte ställa frågan. Men kursen är en grundkurs och du behöver inte ha några förkunskaper förutom behörighetskraven. För dig som inte har någon tidigare erfarenhet inom området kan man kort säga att programutveckling handlar om problemlösning, att skriva datorprogram för att lösa ett problem eller en uppgift. En del kanske har en bild av att programutveckling handlar om att sitta framför en dator och skriva kod. Den bilden är delvis rätt men programutveckling är hela arbetet från ett problem till ett färdigt fungerande program. Arbetet består dels av problemspecifikation, dels av att formulera en lösning till problemet samt att skriva programkoden och utföra tester så att det färdiga programmet fungerar som avsett. Programutveckling innebär alltså mycket planeringsarbete innan arbetet med att skriva koden kan påbörjas. Vad handlar en kurs i programutveckling om? I denna kurs skall vi öva oss att lösa enklare problem eller uppgifter. Vi börjar med att strukturera problemet och lösningen är ett färdigt och fungerande program som är skrivna i programspråket Java. Motiven för att välja Java är att det idag är ett vanligt förekommande språk samt att det är ett så kallat objektorienterat språk. Planeringsarbetet, dvs den del som i denna kurs kallas Algoritmik, är i stort sett detsamma oberoende av programspråk. Kursen består av två olika avsnitt. Dessa avsnitt beskrivs endast kort här. Mer information ges på den första obligatoriska kursträffen samt i studiehandledningen för respektive avsnitt. Algoritmik Namnet kommer från ordet algoritm som beskriver lösningen för ett problem i ett antal väldefinierade steg. I detta avsnitt ska vi utgå från olika exempel och utforma en problemspecifikation samt bestämma hur problemet ska lösas. Den färdiga lösningen måste beskrivas på något sätt, antingen kan den skrivas ungefär som en bruksanvisning, kallas pseudokod, eller också kan den illustreras som en ritning. Inom programutveckling kallas denna ritning för flödesschema. i Java Flödesscheman översätts till färdiga (exekverbara program) program. Här lär du dig grunderna i programspråket Java, allt från variabler till objekt. - 1 -
Vilka är kursens mål? Efter avslutad kurs kan du använda och beskriva de grundläggande principerna inom programmering. har du lärt dig grunderna i programspråket Java och du kan skriva applikationsprogram på grundläggande nivå. kan du strukturera ett problem och göra den ritning som är utgångspunkten för programkoden. Hur uppnås målen? Vi har försökt utforma en kurs som utgår från kunskapsbyggande som innebär att det är du som student som skall ansvara för ditt eget lärande och att det är du som skall uppnå målen. Kursens undervisning består av följande: Denna studiehandledning med allmän information En studiehandledning för respektive avsnitt Kursträff på universitetet vid kursstarten Lektioner i klassrum eller nätbaserade lektioner via Marratech Rekommenderad kurslitteratur Övningsuppgifter och laborationer Inlämningsuppgifter både enskilt och i grupp Handledning på LTU eller via e-post, telefon eller chatt Dokumentet Tips om dina studier som finns på vår hemsida www.ltu.se/systemvetenskap Dokumentet Rapportskrivning som finns i Fronter Lärare på kursen Ingela Johansson, kursansvarig Avd. för systemvetenskap 971 87 LULEÅ rum A3123 tel 0920 49 18 17 e-post ingela.johansson@ltu.se Vi lärare är till för att handleda och hjälpa er i ert lärande så tveka aldrig att kontakta oss via mail och telefon eller kom förbi om ni har möjlighet. Vilken nytta har jag av denna kurs? Om du läser det systemvetenskapliga programmet är denna kurs en förutsättning för att förstå sambanden inom informationssystem. Till kurserna på årskurs 2, bl a Objektorienterad programutveckling, förutsätts det att du har dessa förkunskaper. De grunder i programutveckling och programspråket Java som du har efter denna kurs medför att du kan gå t ex en påbyggnadsutbildning i Java eller ha kursen som en grund för att lära dig ett annat programspråk. - 2 -
Vilken litteratur hör till kursen? Algoritmik Kompendium Från problem till program. Kommer att läggas ut på Fronter för utskrift. Kompendiet är en introduktion till algoritmkonstruktion och innehåller dessutom ett antal övningar med lösningsförslag. i Java Galjic: sprinciper i Java rabattpaket Del 1 bestående av tre böcker (Huvudbok, Exempelsamling och Övningsbok). Studentlitteratur. ISBN: 9789144045702. Ett antal exemplar av bokpaketet kommer att finnas hos universitetets bokhandel, Bokis, vid första kursträffen. Naturligtvis kan du även beställa boken via någon internetbokhandel. Detta är den rekommenderade kurslitteraturen och det är den som vi hänvisar till i studiehandledningen. Kursstart och lektioner Kursen startar onsdag 5 september 2007 kl 8.15 11.45 med introduktion, diskussion och praktiskt arbete. Lokal: 08.15 9.25 sal A2524 i A-huset 10.15 11.45 labsal A108 Några råd för er som läser kursen fristående: Kursstarten 5/9 och nedanstående lektioner 4/9 ingår i terminsstarten för programstudenter och är inte obligatoriska för er som läser kursen fristående men kom gärna om du har möjlighet. Det som vi informerar om den 4 och 5 september tas inte upp på en distanslektion. Tisdag 4/9 kl 13.00 14.30 har vi ett lektionspass i B-huset sal B1259 (AulaFlex) där vi går igenom och ni får praktiskt pröva både Fronter och Marratech. Tisdag 4/9 kl 14.45 16.15 berättar en systemvetare om vad han arbetar med idag. E-huset sal E1032 Lektioner, laborationer och handledning Ni som läser kursen på campus hittar alla lektioner och laborationer på kursens schema eller schemat för systemvetenskapliga programmet. För er som läser kursen på distans finns ett schema med alla Marratechlektioner på sista sidan i denna information. Campus- och distansstudenter har samma tillgång till all information och alla nätbaserade lektioner. - 3 -
Hur examineras kursen? Skriftlig individuell tentamen 3 hp Torsdag 1 november. Tid och plats kommer att finnas på tentamensschemat. I kursen ingår en individuell tentamen som är på 3 högskolepoäng. I denna tentamen ingår frågor och uppgifter inom kursens två avsnitt, Algoritmik och i Java. Åtta inlämningsuppgifter på totalt 4.5 hp Denna del av examinationen innebär att åtta uppgifter/laborationer skall skickas in och redovisas under kursens gång. För att få 4.5 hp krävs att samtliga åtta uppgifter är godkända. På sidan 5 hittar du en översikt över alla uppgifter som ingår i denna del av examinationen. Hur mycket tid behöver jag reservera? Det är ju naturligtvis individuellt och kan variera till exempel beroende på vilka förkunskaper, tidigare erfarenheter och den studievana du har. Kursen går på halvfart vilket betyder att du läser 7.5 hp under en läsperiod. Tanken är att 7.5 hp universitetsstudier skall motsvara ungefär 200 timmars arbete, det innebär ett snitt på drygt 20 timmars studier per vecka för denna kurs. Om du läser två kurser parallellt så motsvarar det alltså ett heltidsjobb. Behöver jag någon speciell utrustning? Läser du här i Luleå så finns det datorer med den programvara du behöver. Du har tillgång till datasalar som är reserverade för studenter och till datasalar som vi bokar för våra lektioner och laborationer. Är du distansstudent behöver du tillgång till en dator med head-set och bredbandsuppkoppling (minst 0.5 Mb/s) för att kunna delta i nätbaserade lektioner. Vi använder konferensverktyget Marratech. Programvaran är gratis men du måste ha möjlighet att installera programvaran på din dator. Utförlig information om hur du laddar ner och använder Marratech får du när kursen startar. Miljön för Java-programmering är också gratis och du kan ladda ner på din egen dator. Några bra länkar Vår hemsida Fronter Videokonferens, Marratech http://www.ltu.se/systemvetenskap www.fronter.com/ltu http://media.online.ltu.se:8000/ Utbildningsadministrationen som sköter kursregistrering, kursintyg och annat praktiskt har e-postadressen ies-studieadm@ltu.se /Ingela - 4 -
ÖVERSIKT OBLIGATORISKA INLÄMNINGSUPPGIFTER (prel.) Inl.uppift nr 1 ) Stoppdatum Mån 10 sep Avsnitt och innehåll Kursstarten Presentation, förkunskaper, bild av programutveckling mm 2 ) Tis 11 sep Algoritmik Problemspecifikation, algoritmkonstruktion och flödesplaner 3 ) Tis 18 sep Algoritmik Flödesplaner i Java Intro till programspråk och Java Teorifrågor på Förord och kapitel 1 i kursboken 4 eller grupp med 2 deltagare) Tis 25 sep Övningsuppgifter och teorifrågor på utmatning, variabler, datatyper, operationer, operatorer, utförandeordning (kapitel 2, 3 och 5) 5 Tis 2 okt Övningsuppgifter på selektion och upprepningar (kapitel 6) 6 Tis 9 okt Övningsuppgifter på vektorer (kapitel 7) Implementation av grafiskt användargränssnitt 7 Tis 16 okt Övningsuppgifter på metoder och klassbibliotek (kapitel 8 9) 8 Tis 23 okt Övningsuppgifter på objekt (kapitel 10 och 13) OBS! Detta är en inledande översikt, utförliga instruktioner för varje inlämningsuppgift kommer att läggas ut på Fronter i mappen Uppgifter. - 5 -
SCHEMA DISTANSLEKTIONER Marratech - http://media.online.ltu.se:8000/ - Välj rum LTU- Systemvetenskap 1 Datum Kl 7/9 13.00-14.30 Lektion 13/9 15.00 16.30 Lektion 19/9 15.00 16.30 Lektion 20/9 17.00 18.30 Handledning 26/9 15.00 16.30 Lektion 3/10 15.00 16.30 Lektion 10/10 15.00 16.30 Lektion 11/10 17.00 18.30 Handledning 17/10 15.00 16.30 Lektion 23/10 17.00 18.30 Handledning Om det behövs kan vi tillsammans lägga in fler handlednings- och diskussionspass. Kom ihåg kursstarten den 5/9 kl 8.15 11.45 och tentamen den 1/11. - 6 -