bild
Skolan för
datavetenskap
och kommunikation
KTH / CSC / Kurser / DD2310 / javap12

Javaprogrammering för Pythonprogrammerare, javap12


Detta är aktuell kursomgång för dig som tänker ta kursen under höstterminen 2011 eller vårterminen 2012.


Föreläsningar

OBS! Ingen föreläsning ons 1 feb!

  • Torsdag 26 jan kl 15-17 i sal L52
  • Fredag 27 jan kl 15-16 i sal L52

(Föreläsningsbilder).

Programmen som visades under föreläsningarna kan tankas ner här:


Registrering

Registrera dig på kursen här. Logga in med ditt KTH-id, markera "javap12", och klicka "Jag går kursen".

Organisation

Kursen är huvudsakligen baserad på självstudier. Bedömningen av inlämningsuppgifter sker automatiskt via KTHs system Kattis. Interaktion med lärarna sker via KTH Social (om frågan eller kommentaren har allmänt intresse för alla kursdeltagare), eller via e-post till labassistenten Carl Björkman (för alla frågor rörande programmeringsuppgifterna), eller via e-post till kursledaren Johan Boye (för administrativa frågor).

Kursen ges i fyra kursomgångar per läsår. Kursomgångarna i period 2 och 3 ges med högre servicenivå, medan kursomgångarna i period 1 och 4 ges med lägre servicenivå. Högre servicenivå innebär att två inledande föreläsningar hålls och att studenterna får snabbt svar på frågor per e-post eller via KTH social. Lägre servicenivå innebär rena självstudier och att svaren på frågor kan dröja upp till 2 veckor.

Lärare

Litteratur

Valfri Javabok kan användas. Rekommenderad läsning är e-boken Java for Python Programmers av Brad Miller. Vid behov finns även utmärkta tutorials att tillgå.

Resurser

Examination

Enbart betygen P (passed) eller F (failed) ges. Kursen examineras med inlämningsuppgifter som skickas in till KTHs automatiska bedömningssystem Kattis. Man kan skicka in hur många lösningsförslag som helst på en uppgift − om minst ett av lösningsförslagen accepteras av Kattis så är man godkänd på den uppgiften.

OBS! Inlämningsuppgifterna ska göras individuellt. Man kan diskutera uppgifterna med sina kurskompisar, men det är absolut förbjudet att titta på någon annan students programkod, eller att visa sin kod för någon annan student. Detta kommer att betraktas som fusk! Alla insända bidrag kommer att plagiatkontrolleras. Se även CSCs hederskodex.

För godkänt på kursen krävs godkänt på uppgift 1 − 6 nedan. För den som vill ha ytterligare utmaning finns även de två extrauppgifterna 7 och 8.

  1. Eko
    Läs först om in- och utmatning i Java, t.ex. här och här.
  2. Hej hopp
    Läs först om variabler, operatorer, uttryck och grundläggande kontrollstrukturer i Java, t.ex. här.
  3. Beräkna längden
    Läs först om formatterad utmatning i Java, t.ex. här. Med klassen Math kan man beräkna kvadratrötter (och en massa annat användbart).
  4. Luffarschack (Tic-tac-toe)
    Det är smidigt att representera spelplanen som en array. Läs först om arrayer, t.ex. här
  5. Sortera bokstäver och siffror
    Läs först om strängar, t.ex. här och här.
  6. Löparklubbens resultatlistor
    Läs först om klasser och objekt, t.ex. här. Klassen Arrays tillhandahåller ett smidigt sätt att sortera arrayer. Här finns lite fler ledtrådar till hur man kan lösa uppgiften.
  7. Beräkna räntan
  8. Myntreformen

Dina lösningar kan skickas till Kattis för bedömning på flera olika sätt. Kolla igenom dokumentationen och välj det sätt som passar dig bäst.

Programutveckling

Lösningarna på inlämningsuppgifterna är ju Java-program, och dessa måste skrivas i något textredigeringsverktyg. Ett utmärkt sådant är Emacs (se kapitel 8 i Unix-lathunden), men även till exempel Gedit, Notepad, Wordpad går bra att använda.

Java-program måste kompileras innan de körs. Hur man kompilerar och kör Java-program är beskrivet i kapitel 9.1 i samma Unix-lathund.

Omdirigering av in- och utdata kan vara bra att använda så man inte behöver skriva in all indata varje gång man testar sitt program. Detta är beskrivet i kapitel 7.1.5, även detta i Unix-lathunden.

Copyright © Sidansvarig: Johan Boye <jboye@nada.kth.se>
Uppdaterad 2012-01-27