Programmering, 3. semester (PROG)
Planen opdateres løbende.
Kig på planen ofte. Sørg for at bookmarke planen i din browser (Ctrl-d)
Uge 35, 28.08 + 31.08
- Introduktion til 3sem i almindelig og programmering i særdeleshed.
- Brush up på 2sem Unit testing, Git og GitHub osv.
Læsning
Opgaver
- Installer den nødvendige software
Administration
Uge 36, 04.09 + 07.09
- Brush up, fortsat
- Software-komponenter
- Test first
Læsning
Software.komponenter
Opgaver
- Calculator part 1: DLL
- Calculator part 2: User interface
- Test-first: LineSegment
Uge 37, 11.09 + 14.09
- Repository-klasser
- Unit test af repository klasser
- Filtrering og sortering
- Obligatorisk opgave 1 (hjemmeopgave) startes [afleveres om et par uger]
Læsning
Opgaver
- Repository-klasse
- Extra: Generisk repository-klasse: Kan du lave en klasse Repository<T> med de vanlig metoder?
- Extra: Dictionary: Kan du lave en Repository klasser, der bruger et Dictionary i steder for en List?
Hvilke fordele og ulemper er der ved List henholdsvis Dictionary?
Uge 38, 18.09 + 21.09
- Repository-klasser med database (Entity Framework)
- Du skal lave tabeller i din simply.com database fra 2sem
- FREDAG: der er der også timer i denne uge
Læsning
Eksempler
Opgaver
- Tilføj til en af dine tidligere repository-klasser
- Ekstraher et interface fra den List baserede repository-klasse
- Lav en ny repository-klassen, som implementerer dit interface og bruger en database-tabel (vha entity-framework)
- Se MoviesRepositoryLib for inspiration
Uge 39, 25.09 + 28.09
- HTML, HTML DOM (Document Object Model), Visual Studio Code
- CSS + Bootstrap
- Publicer HTML + CSS til Microsoft Azure
- TORSDAG: ingen timer i denne uge
Læsning
Eksempler
- W3Schools en masse eksempler på Bootstrap ….
Opgaver
- Quick: w3schools.com/html prøve nogle [men bestemt ikke alle] "Try it Yourself" (den grønne knap) eksempler
- Brug W3C HTML validator til at validere nogle web-sider f.eks. http://anbo-easj.dk/ og https://www.zealand.dk/
Hvis du finder en web-side med en masse ulovligt HTML, så prøve at vise siden i forskellige browsere. Måske er der forskel på hvordan browserne viser siden. - HTML Quiz
- Download og installer Visual Studio Code
- Brug Visual Studio Code til at lave et par web-sider med links mellem siderne.
Husk at validere dine web-sider.
Emmet kan hjælpe dig med at lavet et HTML “skelet”: Gem din fil som index.html og tast ! (udråbstegn)
- w3schools.com/css prøve nogle [men bestemt ikke alle] "Try it Yourself" (den grønne knap) eksempler
- Tilføj in-line styles til nogle HTML elementer på en af dine HTML-dokumenter.
- Tilføj et internt stylesheet til et af dine HTML dokumenter
- Lav et eksterne style sheet (css fil) og link det til mindst to af dine HTML-dokumenter.
- Upload dine HTML og CSS filer til Azure. Brug FTP,
Eller brug Kudu console (“Upload files and folder using drag and drop”)
How-to video om hvordan man laver et tomt web app projekt i Azure
How-to video om hvordan man uploader projekt til web app i Azure - Validate dit CSS
- CSS Quiz, har du lært tilstrækkelist CSS ....
Lad være med at gætte - find svarne w3schools.com/css - Installer Git (måske har du allerede gjort det … måske uden at vide det …)
- Live Server en god extension til Visual Studio Code
- Check om din (eller min) web-side er mobile friendly
- https://www.w3schools.com/bootstrap5/ prøve nogle [men bestemt ikke alle] "Try it Yourself" (den grønne knap) eksempler
Uge 40, 02.10 +05.10
Readings
Eksempler
- SayHelloVue3
Opgaver
- Gennemgå (læs + udfør) Microsoft: Get Started with Vue ELLER Vue Mastery: Intro to Vue 3 (up to section 6 Event handling)
- Gennemgå Dynamic page display with Vue.js
- Gennemgå Work with data and event in Vue.js
- Collect words with JavaScript + Vue.js | løsningsforslag
- Calculator with JavaScript + Vue.js | løsningsforslag
- Tilføj noget Bootstrap til din løsning på Collect Words og Calculator opgaverne
- Upload dine web-applikationer til Microsoft Azure.
Brug FTP eller Kudu console (“Upload files and folder using drag and drop”)
Uge 41, 09.10 +12.10
- JavaScript + Vue, fortsat, inkl List-Detail
- UI test med Selenium
- Feedback på obligatorisk opgave 1 (hjemme-opgaven)
Readings
- UI testing web applications (PowerPoint)
- Ekstra / baggrund: Selenium documentation (brug CSharp tab i eksemplerne)
Eksempler
- Vue3Examples
- List-Detail
- UI Test: SayHelloVue3 + WebTestSayHello2
Opgaver
- Download en driver der passer til din(e) browser: Chrome | FireFox | Microsoft Edge
Unzip driver-filen og gem den i en folder f.eks. C:\webDrivers.
Hvis din browser bliver opdateret, så skal du downloade en ny version af driveren (Chrome opdateres ofte …) - UI testing: Collect Words | løsningsforslag
- UI test af din Calculator web-applikation
Hjælp: Selenium, Working with Select list elements
Hjælp2: NuGet package: Selenium.Support to get class SelectElement
Uge 42, efterårsferie hele ugen
Uge 43, 23.10 + 26.10
- MANDAG prøve-eksamen 1, obligatorisk studieaktivitet = deltagelsespligt
- JavaScript: DOM manipulation
- JavaScript: Brug af REST vha. Axios
- Feedback på prøve-eksamen
Læsning
- Extra: W3Schools Collapsible List
- Extra: W3Schools JavaScript HTML DOM
- DOM Methods
- DOM Documents
- DOM Elements
- GitHub Axios dokumentation
- Joy Waguru: Asynchronous Javascript using Async - Await
- Ekstra: Travis Horn Building json2table: Turn JSON into an HTML table
- Ekstra: GitHub offers a REST API. Lav en simpel web-applikation med Vue.js og Axios.
Eksempler DOM manipulation
- Ekstra GetByClassName (farver)
- Ekstra DOM manipulation (ren JavaScript, uden Vue.js)
Eksempler JavaScript + REST
- REST GET example (Vue Posts): JS, Vue, async/await
- REST GET, DELETE, POST example (Vue Cars) | REST service provider
- Ekstra General REST consumer (check om CORS er OK)
- Ekstra Generic Table
Opgaver
- GET data fra http://jsonplaceholder.typicode.com/todos og vis dem i en browser. Brug Axios og Vue.js.
Kig på mit eksempel for inspiration. - Brug mit Bookstore REST API som back-end til en web-applikation
Kig på mit Cars eksempel for inspiration.
Hjælp: Start med at ignorere query string parametre i REST controlleren. Dem kan du bruge senere ... - Push din web-applikation til GitHub.
- Upload din web-applikation til Microsoft Azure.
Brug FTP eller Kudu console (“Upload files and folder using drag and drop”).
Hvis din browser klager over “mixed content”, så sørg for at din bruger enten http://… eller https:// … til både web-side og REST. Du må ikke blande. - Tilføj Bootstrap styling til en eller flere af dine web-applications.
Sæt lidt pynt på knapper osv + Vigtigt: sørg for at din web application er responsive (adapt to browser width) - Flere JavaScript projekter: Anvend de REST services du har lavet i TEK faget.
Uge 44, 30.10 + 02.11
- Mandag: Sortering + filtrering af data i JavaScript (front-end) eller i REST (back-end)
- Torsdag: UI test fortsat: Test af web-applikationer der bruger REST services
- Torsdag: Vue komponenter
Læsning
- booksSortingJavaScript, sortering + filtrering i JavaScript
- RESTbooksStatusCodes, REST inkl sortering
- booksSortingREST, JavaScript bruger REST til at sortere
Opgaver
- Lav en UI test for din web-applikation, der anvender en REST service.
Example UI test - Lav nogle web-applikationer (HTML + JavaScript inkl Vue + Axios) der bruger andres REST services.
Start med at afprøve REST service REST services i en browser eller i Postman.
Her er en liste af REST services. Hvis du synes en af disse services er besværlige, så prøv den næste- eller find selv en service.
Du kan bruge min CORS checker til at se om den pågældende REST service har CORS
Uge 45, 06.11 +09.11
- DevOps: Cont Integration
- Pair programming: JavaScript + REST
Læsning
Opgaver
- Lav en simpel REST controller: Model class, Repository class, Controller
Tilføj en unit test til Repository Class
Push til GitHub
Push til Azure vha GitHub Actions - REST + JavaScript from user stories (pair programming)
Uge 46, 13.11 +16.11
- Pair programming: JavaScript + REST
Læsning
Opgaver
Uge 47, 20.11 + 23.11
- Par-programmering, DR pladesamling (fortsat)
Læsning
Uge 48-50, 27.11- 15.12, Projekt
Deltagelse i projektet er en de obligatoriske studieaktiviteter.
Fredag 15.12 code freeze: Stop programmering. Fuld fokus på rapporten.
Uge 51, 20.12 + 21.12
Tirsdag: rapport-aflevering
Onsdag: Prøveeksamen 2, obligatorisk studieaktivitet
Torsdag: Demo dag + pensum-snak
Uge 1, forberedelse til SYM og PROG+TEK eksamen
Uge 2, SYM eksamen
Uge 3, PROG+TEK eksamen
- Mandag 15 januar kl 9:10: TEK + PROG spørgetimer
- Tirsdag 16 januar - fredag 19 januar TEK + PROG eksamen: Detaljeret plan kommer senere.
- Pensumliste
- Eksamensforberedelse, pakkeliste osv