1. Java som programspråk
- Språklig struktur
- Automatisk minnesåtervinning – garbage collection
- Standardbibliotek: java.lang, java.util
- Datatyper: primitiva och klasser
- Typsäkra konstanter: enum
- Enkla variabler, vektorer, objekt
- Initialisering: variabler, vektorer, objekt
- Operatorer: aritmetiska, jämförande, logiska
- Syntax för lambda-uttryck
- Selektiva satser: if, switch, ?/:
- Iterativa satser: while, do/while, for
- Tilldelningssatser
- Accesskontroll: public, private, (package), protected
- Typmodifierare: static, final
- Typkonvertering: generaliserande, specialiserande
- Annotationer
- Autoboxing/autounboxing för primitiva datatyper
- Undantagshantering: användning, kasta/fånga undantagsobjekt
- Rekommendationer för bra kodningsteknik
- Namnkonventioner: paket, klasser, interface, metoder, variabler, konst
- Stöd för dokumentation med JavaDoc
2. Objektorientering med Java
- Introduktion till objektorientering
- Inkapsling: objekt, klasser, metoder, attribut
- UML som verktyg för OO-diagram
- Klassrelationer: Aggregat, Association, Använder
- Arv, klasshierarkier, polymorfism, metadata
- Konstruktorer, abstrakta metoder, abstrakta klasser
- Gränssnitt definition och implementation
3. Testning av Javaprogram
- Enhetstestning bakgrund, filosofi
- JUnit4 ett ramverk för test av Javaprogram
- Testklasser
- Testsviter
4. Collections Framework
- Typsäkra samlingsklasser för godtyckliga objekttyper
- Övergripande gränssnitt Collection, List, Set och Map
- Gränssnitt för traversering Iterator och ListIterator
- for:each loop för enkel traversering av samlingsklasser
- Gränssnitt för sortering Comparable, Comparator, SortedSet och SortedMap
- Implementationsklasser för List: ArrayList och LinkedList
- Implementationsklasser för Set: HashSet och TreeSet
- Implementationsklasser för Map: HashMap och TreeMap
- Resursklasser Arrays och Collections
5. Strömmar i Java
- Strömmar som begrepp: dataflöde mellan källa och destination
- Standardströmmar vid uppstart: System.in, System.out, System.err
- Filhantering: FileInputStream, FileOutputStream
- Klasser för hantering av teckenströmmar: Reader och Writer
- Lagra/läsa datatyper: DataInputStream, DataOutputStream
- Serialisering: ObjectOutputStream, ObjectInputStream
6. Databashantering med Java
- JDBC-arkitektur
- Adressering av databas
- Ansluta till databas
- Sända SQL-satser
- Hantering av svar från databas: ResultSet
- DataSource för generell hantering av databaser
- Treskikts-arkitektur för databas-applikationer
7. Användargränssnitt med Java
- Grafiska användargränssnitt för applikationer
– Swing
– JavaFX
– JSF
- MVC – Model View Controller
- Översikt av komponentarkitekturen
- Använda komponenter
- Använda layouthanterare
- Händelsehantering
8. Distribution av Java-applikationer
- JRE – Java Runtime Environment
- Arkivtyper
– JAR – Java ARchive
– WAR – Web ARchive
– EAR – Enterprise ARchive
- Ant/Maven för bygge av Javaapplikationer