Föreläsningarna består av mycket livekodning, praktisk vägledning, kodgranskning och dialog kring hur vi kan förbättra programkodens arkitektur och design. Detta kräver ett aktivt deltagande och en öppen positiv atmosfär på föreläsningarna. Tanken med föreläsningarna är att entusiasmera och bredda perspektiven kring storskalig programvaruutveckling.
Föreläsningarna är obligatoriska eftersom kursen baseras på vår gemensamma dialog och det aktiva deltagande som inkluderas i den.
Huvudsakligt innehåll: funktionell programmering, kodkvalitet, läsbarhet, förvaltningsbarhet, samarbete, versionshantering (git), globalt tillstånd, beroenden, matematiska funktioner, persistenta data strukturer, hantering av applikationers tillstånd, reaktiv programmering, webbutveckling, testbarhet, test som dokumentation, jämförelse med objektorienterad programmering, atomära uppdateringar av tillstånd, samtidiga förlopp (concurrency), DSL, Lisp och REPL.
Programspråken Clojure och ClojureScript används för att förverkliga kursens innehåll i ett projekt. Därmed kommer även kursen att ge gedigna kunskaper i Lisp, Clojure, Clojure Spec och REPL workflow.
Varje vecka kommer studenterna att få se en video med en konferenspresentation. Tanken är att den ska ge inspiration och öppna nya dörrar. Under föreläsningarna kommer vi att reflektera över innehållet.