Projekter i forbindelse med Grundlæggende Programmering, efterår 2000

21. december Nu er der lavet tidsplan for den mundtlige fremlæggelse torsdag den 11. januar.

16. december Eksempler: brug af CardLayout og brug af dialog-bokse.

2. december: Brug gerne GPs spørgsmål-svar system til at stille tekniske spørgsmål (og tjek om ikke dit spørgsmål allerede er besvaret der).

I forbindelse med Grundlæggende Programmering følger syv forslag til konstruktionsprojekter. Man skal beskrive, designe og realisere et system der faktisk kører, men hvor man formentlig udelader en række faciliteter, som ville være ønskelige i `den virkelige verden'.

Der er andre projektforslag af varierende sværhedsgrad på projektbørsens hjemmeside. Af særlig interesse for Grundlæggende Programmering er projektkurserne Søgemaskiner og Apparatsoftware.

Projekterne bør laves i grupper på 2-4 personer. Af praktiske grunde må vi begrænse antallet af grupper til ca. 8.

Projekterne er åbne for alle studerende, fra SWU, Diplom, INT, MMT, TIT, DKM og EBUSS. Hver projektgruppe kan med fordel involvere studerende med forskellig baggrund og interesser, og må gerne bygge på arbejdsdeling, så forskellige studerende står for design og realisering af brugergrænseflade, programmering af den tekniske funktionalitet, afprøvning og kvalitetssikring, osv. Alle skal dog medvirke til rapportskrivning (f.eks. udarbejdelse af dokumentation).

Projektforslagene angivet nedenfor er ment som inspiration. Det er meningen at I selv skal præcisere indhold, mål, ambitionsniveau og tidsplan for projektet. Dette er nemlig indholdet af projektaftalen, der skal udarbejdes i løbet af de to første projektdage.

Da de fleste projektforslag nedenfor involverer brug af Internet, webserver, databaseserver og lignende vil vi i projektperiodens første dage holde indledende forelæsninger om disse emner:

Vi har lavet et lille antal øvelser i at lave appletter og servletter som tilgår Postgres databaser.

Slides fra projektbørsen.

Projekteksamen

Projekteksamen holdes torsdag 11. januar 2001. Censor er lektor Jørgen Steensgaard-Madsen fra Institut for Informationsteknologi, Danmarks Tekniske Universitet.

Eksamen foregår i lokale 3.08.

Eksamensplanen ser sådan ud:

GruppeAntalMinutterStartSlut
1340 9.00 9.40
2340 9.4510.25
334010.3011.10
444511.1512.00
534012.0512.45
 
634013.2014.00
1212514.0514.30
823514.3515.10
 
934015.4016.20
1012516.2516.50
1123516.5517.30

Ved projekteksamen fremlægger gruppen i fællesskab rapporten, hvorefter vejledere og censor stiller spørgsmål til gruppen eller til de enkelte gruppemedlemmer. Derefter gives der karakter. Sørg for at alle i gruppen får lejlighed til at sige noget og til at svare på spørgsmål. I princippet kan der gives individuelle karakterer.

Der er afsat 25 minutter til grupper med 1 person, 35 minutter til grupper med 2 personer, 40 minutter til grupper med 3 personer og 45 minutter til grupper med 4 personer inklusive votering.

Der er dannet følgende grupper

Projektforslag

Projektforslag 1: Online registrering af studerendes kursusønsker

Beskrivelse:
Formålet er at lave online registrering af kursusønsker for studerende på IT-højskolen. Der er en database med kurser der udbydes og hvilke kurser de forudsætter. Derudover er der en database med studerende og de kurser de allerede har haft.

Opgaven er at lave online registrering af kursusønsker ved hjælp af cgi-scripts (servlets). Brugeren indtaster sine ønsker, som behandles af et eller flere Java-programmer der kører på en WEB server. Java-programmerne opdaterer databaserne og sender html-sider tilbage med oplysninger om de registrerede ønsker.

Opgaven gør brug af databaseteori, brugergrænseflader, design og programmering. Projektet kan evt. indeholde en lille foranalyse og/eller kravspecifikation, hvor studieadministrationen på IT-C samt studerende kan interviewes i forbindelse med funktionalitet og brugergrænseflade.

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig eksamen.

Hjælpemidler: Databaseserver, evt. Apache web server.


Projektforslag 2: Salg af biografbilletter (flere billetluger)

Beskrivelse:
Formålet er at lave et billetsalgssystem, der kan bruges i en biograf med flere billetluger. Programmet i hver enkelt billetluge kan f.eks. køre som en applet, der tilgår en fælles database (eller lignende fælles server) via Internettet. I denne udgave af projektet kunne også indgå overvejelser om hvilke yderligere faciliteter der kræves for at biografkunder kan købe deres billetter på WWW inden de går hjemmefra. Ellers gælder mange af de samme forhold som for projektet `Salg af biografbilletter (1 billetluge)'.

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig eksamen.

Hjælpemidler: Databaseserver, og evt. Apache web server.


Projektforslag 3: Fælles beskedsystem for en arbejdsplads

Beskrivelse:
Formålet er at lave et webbaseret system med hvilket medarbejderne på en arbejdsplads kan orientere hinanden om hvornår de er til møde, på forretningsrejse, er syge, arbejder hjemme, er på ferie, osv. Man skal kunne indtaste og læse beskeder ved hjælp af en almindelig webbrowser. Systemet skal kunne vise alle dagens beskeder (uanset hvem de vedrører) og skal kunne vise alle beskeder om en given medarbejder (uanset hvilke dage de vedrører). Systemet kan enten baseres på HTML og webserver-skripts, eller på Java-appletter.

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig eksamen.

Hjælpemidler: Databaseserver og evt. Apache web server.


Projektforslag 4: Udklipsbureau

Beskrivelse:
At lave et webbaseret udklipsbureau, hvor man kan registrere artikler under diverse emnekategorier. Det skal være muligt at søge efter artikler givet diverse søgekriterier. Et udklipsbureau gennemlæser daglig mange aviser og blade for at finde omtaler af virksomheder, institutioner, lande, personer, og forskellige emnekategorier (uddannelsesforhold, udlandshandel, sociale forhold, finans, økonomi, miljø, ...). For hver artikel i hver avis registreres avis, sidetal, overskrift, forfatter (hvis angivet) og omtrentlig artikellængde for hvert relevant emne. Udklipsbureauets kunder (virksomheder, organisationer, ambassader, ...) bruger udklipsbureauets database til at finde bestemte slags artikler, f.eks. om virksomheden selv, om konkurrenter eller om branchen.

Det ville være smart med en webgrænseflade så kunderne løbende kan se hvad der er blevet lagt ind. Overvej organisering af dataene (central database), brugergrænsefladen for de ansatte `avislæsere' og brugergrænsefladen for kunderne.

Udvidelsesmuligheder: (1) Hver artikel skannes og arkiveres som billede så den kan læse direkte fra nettet. I så fald skal kundens tilgang til artiklen registreres så der kan betales til avisen. (2) Hvordan skal udklipsbureauet organiseres hvis det henviser til websteder i stedet for papiraviser? Hvad med websteder der opdateres hele tiden, så det samme link i morgen henviser til en helt anden artikel?

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig ekamen.

Hjælpemidler: Databaseserver og evt. Apache web server.


Projektforslag 5: Spil og rangliste

Beskrivelse:
Formålet er at implementere et simpelt spil som en applet. Det er vigtigt, at man kan blive målt på, hvor god man er til at spille spillet, idet der også skal implementeres en central rangliste. Der skal implementeres et eller flere simple spil, hvor spillernes duelighed kan måles, f.eks. (yatzi, memory, minestryger, ...). Spillet skal implementeres som en applet.

Appletten skal vedligeholde en rangliste på en central database, hvor en deltagers resultat registreres. Det skal overvejes om alle resultater skal registreres eller kun de resultater som spillerne ønsker registreret. Databasen kan udvides til også at håndtere små turneringer, hvor en gruppe spillere kæmper indbyrdes om at være den bedste.

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig eksamen.

Hjælpemidler: Databaseserver.


Projektforslag 6: Webbaseret diskussionsforum

Beskrivelse:
Formålet er at lave et webbaseret diskusionsforum, hvor man kan oprette et nyt emne, samt kommentere på de emner / indlæg der allerede findes. Man kan opfatte systemet som en lang liste af emner der bliver diskuteret. Under hvert emne findes en række indlæg der vedrører emnet. Alle indlæg registreres i en central database. Det skal overvejes hvorledes man skal kunne starte en tråd af indlæg og give direkte svar på tidligere indlæg. Det er tænkeligt, at hvert emne kan indeholde mange tråde.

Systemet er tænkt implementeret ved CGI-programmering med Java (servlets). Bemærk, at dette projektforslag ligner projektforslag nummer 4, men her er indlægene ordnet som tråde. I projektforslag 4 er indlæggene mere ordnet efter medarbejer og dato.

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig eksamen.

Hjælpemidler: Databaseserver og Apache web server.


Projektforslag 7: Analyse af webserverlog

Beskrivelse:
Formålet er at analysere en webserverlog, og beregne statistik for hvorledes ens webserver anvendes. En webserver registrerer alle henvendelser i en log, som er en tekstfil i et nærmere specificeret layout. Projektet går ud på at læse loggen og finde interessant information i den: besøgendes fordeling på døgnet, på ugen, på websider, på domæner, osv. Overvej hvordan man finder antal besøgende (ikke bare sideforespørgsler), træk søgemaskiner fra, osv. Lav grafiske fremstillinger.

Programmet kan evt. vedlige holde en central database over den statistik som beregnes regelmæssigt.

Evaluering: Skriftlig rapport med design, konstruktion og beskrivelse af program og database, samt mundtlig eksamen.

Hjælpemidler: Apache web server og evt. databaseserver.


Niels Hallenberg (nh@it-c.dk) 26/5-2000 og Peter Sestoft (sestoft@dina.kvl.dk) 2001-01-03