From 98c4cbd5c4d77de97715c9fead01b4a0de435269 Mon Sep 17 00:00:00 2001
From: Adrian Stoica <stoica@ntnu.no>
Date: Wed, 28 Aug 2024 10:40:48 +0200
Subject: [PATCH] docs: add slides for 2nd lecture

---
 lectures/revealjs/02-git-basics.adoc | 192 +++++++++++++++++++++++++++
 1 file changed, 192 insertions(+)
 create mode 100644 lectures/revealjs/02-git-basics.adoc

diff --git a/lectures/revealjs/02-git-basics.adoc b/lectures/revealjs/02-git-basics.adoc
new file mode 100644
index 0000000..a742067
--- /dev/null
+++ b/lectures/revealjs/02-git-basics.adoc
@@ -0,0 +1,192 @@
+= Git Basics
+:customcss: slides.css
+:icons: font
+:includedir: includes/
+:LECTURE_TOPIC: Git Basics
+:LECTURE_NO: 2nd lecture
+
+include::{includedir}header.adoc[]
+
+
+[.smaller-80][.center-paragraph]
+IT1901 Fall 2024 - {LECTURE_NO}
+
+== Agenda
+
+[%step]
+- Administrative issues
+- 1st individual deliverable 
+- Why Java
+- Git
+- Summary
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Administrative issues
+
+== Groups
+
+- fill the form to be assigned to a group
+- https://s.ntnu.no/it1901groups
+- deadline for answering is on September 1st, 23:59
+- will announce the groups in week 36 
+- 70 % of grade is given by groupwork
+
+
+== Referansegruppe
+
+- Trenger 3-5 medlemmer til referansegruppe i faget
+- Mulighet til å påvirke kurset og forbedre kurset for de som skal ta det senere år
+- 3 møter; uke 5, uke 9 og etter kursslutt
+- Ca. en time per møte
+- Meld deg i pausen om du er interessert!
+- If until next week there are no volunteers we will randomly select 5 students 
+
+ 
+== Getting help
+
+- check BlackBoard
+- ask your group TA - list coming soon
+
+
+== Approaching Deadlines
+
+- Søndag, 1. september / 23:59
+** Fill the group form
+
+- Torsdag, 12. september / 23:59 
+** 1st individual deliverable 
+** pushed later to week 37
+
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== 1st individual deliverable
+
+
+== Læringsmål for øvingen
+
+* grunnleggende git-ferdigheter
+* oppsett av java-prosjekt med maven
+* sammenheng mellom navn, struktur og innhold
+* oppfriskning om javafx og fxml
+* generell feilfinning
+
+== Hensikt
+
+Alle skal kunne bidra til prosjektet!!!
+
+== Grunnleggende git-ferdigheter
+
+* opprett kodelager på gitlab - ( use fork )
+* klone mal-kodelager (`git clone`)
+* lage nye versjoner (`git add` og `git commit`)
+* overføre til fjernlager (`git push`)
+
+
+== Java-prosjektoppsett m/maven
+
+* kildekodemapper og pakkehierarki
+** **src/main/java** og **src/main/resources**
+** **src/test/java** (og **src/test/resources**)
+* pakkehierarki og mappestruktur
+** pakkenavn(segmenter) tilsvarer mappestruktur
+** både kode og ressurser hører til pakker
+** `getClass().getResource(...)`
+
+== Navn, struktur og innhold
+
+* klasser og filer, pakker og mapper
+* konfigurasjon i pom.xml
+** klassenavn (og modulnavn)
+** kommandolinje-argumenter
+* **module-info.java**
+** modulnavn i deklarasjon og `requires`
+** pakkenavn i `exports` og `opens`
+
+== Navn, struktur og innhold
+
+* **pom.xml**
+** konfigurasjon av maven-tillegg
+** inkl. kjøring av tester og app
+** klassenavn (og modulnavn)
+** kommandolinje-argumenter
+
+== Oppfriskning om javafx og fxml
+
+[.smaller-80]
+* rollefordeling mellom domene- og kontroller-klasse(r)
+* kobling mellom fxml og kontroller-klasse
+** **fx:id** og **onXyz**-attributter i fxml-fil
+** felt og metoder i kontroller-klasse
+* programflyt i kontroller
+** initiell visning av tilstand
+** reaksjon på hendelser
+** oppdatering av visning
+
+== Generell feilfinning
+
+[.smaller-80]
+* tolke symptomer
+** hvorfor reagerer ikke appen?
+** hvordan finne ledetråder i "stacktracen"?
+** hvorfor kalles ikke metoden?
+* løse problemet
+** utvikle hypoteser om årsaker
+** validere (eller falsifiere) hypoteser
+** prøve ut løsninger
+
+== Main steps
+
+[.smaller-80]
+- set up the repo in gitlab
+** create a project under students-2024
+** use the javafx-template as a starting point
+- change the template
+** project name
+** packages
+- implement the missing logic
+** check by running the tests
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Why Java
+
+== Java
+
+[.smaller-80]
+- in top languages for many years
+- general purpose 
+- "the COBOL of the 21st century"
+- great community and tooling
+- actively developed
+- good job opportunities
+- Scala, Kotlin, Groovy, Clojure run on JVM
+
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Git
+
+== What is git
+
+Git is a source code management system that is lightweight, reliable, fast and fully distributed. 
+On top of that it is free and open source. Git was  initially authored by Linus Torwalds and emerged from his troubles encountered while trying to manage the contributions to Linux kernel.
+
+include::{includedir}scm_content.adoc[]
+
+== Quizz 
+
+ - Join at menti.com  
+ - use code 3440 3064
+
+
+[background-color = "#124990"]
+[color = "#fff6d5"]
+== Summary
+
+
+include::{includedir}footer.adoc[]
\ No newline at end of file
-- 
GitLab