= IB906C - Internetprogrammering - stationära enheter = == Förkunskapskrav == 7,5 hp objektorienterad programmering == Mål == På denna kurs lär du dig skapa program för stationära enheter som kommunicerar över Internet med godtyckliga protokoll och tekniker. Vi går igenom programmering inom understödjande tekniker, lågnivåkopplingar till godtyckliga servrar, högnivåkopplingar till specifika servrar, meddelandehantering, mediaöverföring och säkerhet. På kursen använder du fria öppna programvaror. == Innehåll == Man kan välja teknik och språk fritt eftersom kursen inte är språkspecifik men stöd ges endast för utveckling med Java. Följande ämnen tas upp: * Understödjande tekniker: * Multitrådning * Paketering * Reguljära uttryck (REGEXP) * Automatisk dokumentering * Start från HTML * Lågnivåkopplingar till godtyckliga servrar: * Stream sockets (TCP) * Datagram sockets (UDP) -- Raw sockets (ICMP med mera) * Högnivåkopplingar till specifika servrar: * HTTP-servrar * Databasservrar * Remote Method Invocation (RMI) * XML Remote Procedure Call (XML-RPC) * Web Services (WS) med Simple Object Access Protocol (SOAP) och Web Service Definition Language (WSDL) * Meddelandehantering: * E-post sändning * E-post mottagning * Mediaöverföring: * Bild -- Ljud -- Film med Real Time Protocool (RTP) * Säkerhet: * Säkra program (säkerhetspolicy, integritet och oavvislighet) * Kryptering/dekryptering (konfidentialitet) * Signering/verifiering (autentisering och nyckeldistribution i publika nät) * Sammansatta tekniker * Anfallstekniker == Genomförande == Detta är en distanskurs och pedagogiken för denna kurs är uppgiftsbaserad inlärning med ett stort inslag av frihet i uppgiftslösandet. Kursen tar upp ett stort område genom att presentera en mängd uppgifter där varje uppgift: * Fokuserar på ett delområde i taget för att öka förståelsen och minska komplexiteten * Är generellt specifierad för att motivera till alternativa lösningar och fördjupningar Tanken med uppgiftsbaserad inlärning är att man ska möta en uppgift innan man söker lösningen på uppgiften. Då motiveras man att själv aktivt söka efter information som kan hjälpa en att lösa en uppgift. Man går från passivt mottagande, där man ofta glömmer det mesta eftersom man har svårt att sätta in informationen i sitt rätta sammanhang, till aktivt sökande, där man ofta kommer ihåg det mesta eftersom sammanhanget finns från början. Kursen kräver således förmåga till självständigt arbete men har ett stort inslag av interaktivitet genom kontinuerligt och direkt stöd via handledning på distans.