Semester: 2.sem., forår 2023
Email: heho@zealand.dk
Object-Oriented Programming with C# (findes på GitHub her)
Getting Started
Programming - Part I
Programming, Part II
Object-Oriented Programming, Part I
Razor pages: PART 1: Razor Pages
Razor Pages: RazorPages_Exercises.docx
Unsolved exercise projects (Razor Pages - VS2019)
Solved exercise projects (Razor Pages - VS2019)
LinkedIn Learning (Lynda.com) (Gratis adgang; tilmeld med din skole e-mail konto: https://www.linkedin.com/learning/activate) (SWC Lynda.com Playlist)
MS Academy: C# Fundamentals for absolute beginners
Uge | Emner | Materialer | Opgaver |
---|---|---|---|
5-6 | Jeg gennemgår prøve-opgaverne og laver lidt "opsamling" Brush Up - Razor Pages |
Razor Pages Arkitektur illustrationer: |
Prøveopgaver: |
7 | Brush Up (cont.), Inheritance Polymorphism Interface |
Inheritance (Arv), Interface + Abstract class:
Slides: Inheritance and Polymofism
|
Morgen opgave (tirsdag) Eksempel:
OOP.2.7 |
8.1 21/02 |
Error/Exception Unit Test |
Exceptions: C# Note s. 262-276 (Unit Test) |
Morgen opgave (tirsdag) Diskuter i grupperne følgende: Hvad er en Exception? Hvad benyttes de til? Hvordan kastes en Exception? Hvordan gribes en Exception? Hvad er en Unit Test? Hvad forstås ved Arrange/Act/Assert? Hvad skal testes i en unittest? Hvordan testes? - hvad er class Assert? Hvordan testes for Exceptions? Eksempel: TryingUnitTesting.zip (kode vist i klassen) Exercise: Exceptions-Stack Model klasse med betingelser (constraints) |
8.2 23/02 |
Stack ADT (Abstract Data Type) |
Generics: |
Morgen opgave (torsdag) Eksempel:
|
9.1 28/02 |
IComparable / IComparer Equals( ) / GetHashCode( ) |
Collections: Noter: s.223-227 Collections-Overview An Overview Of System.Collections.Generic MSDN: IComparable MSDN: IComparer Microsoft docs: Use the IComparable and IComparer ... Basic Sorting Algorithms In C# Video: Visualization and Comparison of Sorting Algorithms |
Morgen opgave (tirsdag): MystackDiskuter Solutions: |
9.2 02/03 |
Predicate Deligates Anonymous functions Lambda-expressions IEnumerable / IEnumerator |
Functions as parameters (Delegates, Predicates and Lambda): CodeProject: Understanding Predicate Delegates Anonymous methods in c# Lambda expression in c# Func delegate in c# ** bemærk extra !! **
|
Morgen opgave (torsdag) - Diskuter: Del2:
|
10 |
LINQ | LINQ: Noter: s.232-241 WizIQ : LINQ - Language INtegrated Query (slides) MSDN: Introduction to LINQ MSDN: 101 LINQ Samples Videos: LINQ Part 1 What is LINQ Part 2 Writing LINQ queries Part 3 Extensions Methods in C# Part 4 LINQ Aggregate Functions |
Morgen opgave (tirsdag): SearchFilterItemsLambda (6.b. opgave i serien ItemsRazor) (Opdateret 21/03/2023) Exercise: SortSearchFilterItemsLINQ (7. opgave i serien ItemsRazor) (Opdateret 21/03/2023) LinqHotelExercice.zip C#-Projects: LinqTest.zip Solutions: LinqHotels.zip ItemRazorV7.zip (løsning til opgave 7 - Opdateret 20/03/2023) |
11 | Razor Pages (fortsat) | Exercise: Solutions: |
|
12 | Razor Pages (fortsat) Entity Framework Code First Razor Pages (fortsat) Entity Framework Code First - Using Generics https://www.c-sharpcorner.com/article/navigation-property-with-code-first-navigation-property-in-ef/ |
Exercise: Solutions: |
|
13 | Projektoplæg (mangler opdatering) | Razor Pages (fortsat) Entity Framework Code First - Relations
Adding Asynchronous Processing to ASP.NET Core 3.1 Razor Pages |
Exercise: EFCodeFirstRelationsLinqDaoItems (13. opgave i serien ItemsRazor) (Opdateret 24/03/2023) Solutions: |
14 | Påskeferie | ||
15.1 11/4 |
Task, Thread, Asynchron |
Microsoft: Task-based Asynchronous Programming
Async/Await - Best Practices in Asynchronous Programming Joseph Albahari Threading in C#, part 1 Example: TryThread | WriteToArray Ekstra: Synchronization: Threads + monitors (slides) Example: ThreadBank |
Solutions:
|
15.2 |
Dokumentation | Code Documentation with Doxygen
|
Exercise O21:
|
15.2 |
Design Patterns
|
Lynda.com: Illustrated designpatterns: 1 2 3 4 5 Code-project: Strategy Pattern-C# |
Exercise : PizzaShop |
Ekstra | MS LiveShare: https://visualstudio.microsoft.com/services/live-share/ Forslag: Når I sidder derhjemme og keder jer, så se evt.: https://www.linkedin.com/learning/git-essential-training-the-basics/view-the-commit-log?u=37487420 og læs: How to use Github in VS2019 og se evt følgende GitHub Video Tutorial (By Mohammed):
|
Gruppeopgave: MS-Live-Share.html | |
17-22 | Projektarbejde |
Projektaflevering: Tirsdag 30. maj kl. 12.00 | Eksempler på tidligere opgaver: GameMasterTools.pdf Flygo og DriversApp (zip) |
22-23 | Eksamenslæsning |
||
24 | Eksamen: 12.-15. Juni 2023 | Pensumliste |