Skip to content
Snippets Groups Projects
Commit 98c4cbd5 authored by George Adrian Stoica's avatar George Adrian Stoica
Browse files

docs: add slides for 2nd lecture

parent 635695f1
No related branches found
No related tags found
No related merge requests found
Pipeline #291631 passed
= 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment