Henrik Høltzer (heho)
Pensumliste Software Construction forår 2021

Noter:

Object-Oriented Programming with C# (findes på GitHub her)
Razor pages: PART 1: Razor Pages
Razor pages: PART 2: Razor Pages

Emne Materialer
Pensum fra 1. semester
Variables, operators, and expressions

C#-note: p.6-36

Using classes and objects
Creating objects
Using methods on objects
Defining classes
Method definitions


C#-note: p.37-75

Decisions (If-statements)
C#-note: p.76-84
Iterations (Loops) C#-note: p.84-90
Arrays
foreach-loop
C#-note: p.94-98
List/Dictionary C#-note: p.99-107

ASP.Net Core / Razor Pages

Build your first application
Razor Pages architecture
Model Binding
Implementing :

  • Read operation
  • Create operation
  • Update operation
  • Delete operation
  • Filter operation

Server side Validation

Singleton Design pattern

Routing with Razor Pages

Razor Pages
RazorPages_Tutorial
: PART 1: Razor Pages

  • Chapter 4
  • Chapter 5
  • Chapter 6
  • Chapter 7
  • Chapter 8
  • Chapter 9
  • Chapter 10

Videoer (Mohammad El Allali):
Model Binding:

Validation-Singleton-Dependency injection:

Routing:

  • Video 10
  • Video 11
  • Video 12
Pensum fra 2. semester
Inheritance
Polymorphism
Interface


Inheritance (Arv), Interface + Abstract class:
Noter: s.111-122

 

Error/Exception
Unit Test

Exceptions:
Noter: s.129-133
Exceptions and Exception Handling in C#


C# Note s. 262-276 (Unit Test)
Unit Testing (Power point)

LinkedIn.com/learning

Stack ADT (Abstract Data Type)
Generics
Queue (ADT) Using Collections

Generics:
Noter: s.194-207

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#
Predicate Deligates
Anonymous functions
Lambda-expressions
IEnumerable / IEnumerator

Functions as parameters (Delegates, Predicates and Lambda):
Noter: s.208-218

CodeProject: Understanding Predicate Delegates

LINQ LINQ:
Noter: s.232-241

WizIQ : LINQ - Language INtegrated Query (slides)
MSDN: Introduction to LINQ

Videos:
LINQ
Part 1 What is LINQ
Part 2 Writing LINQ queries
Part 3 Extensions Methods in C#
Part 4 LINQ Aggregate Functions
Razor Pages Entity Framework Code First

Razor Pages Entity Framework Code First
PART 2: Razor Pages (Chap 3 - side 52 - 60)
https://docs.microsoft.com/en-us/ef/ef6/modeling/code-first/data-annotations
https://www.c-sharpcorner.com/article/dataannotations-in-depth/

Razor Pages (fortsat) Entity Framework Code First - Using Generics
PART 2: Razor Pages (Chap 4 - side 76 - 83)

https://www.c-sharpcorner.com/article/navigation-property-with-code-first-navigation-property-in-ef/

Razor Pages (fortsat) Entity Framework Code First - Relations

Eager Loading of Related Data
Include&ThenInclude
AlsoInclude
Tracking vs. No-Tracking Queries

 

Adding Asynchronous Processing to ASP.NET Core 3.1 Razor Pages

Task, Thread, Asynchron

Microsoft:

Task-based Asynchronous Programming
Asynchronous programming


CodeProject: Asynchronous Programming in C# 5.0 using async and await

Async/Await - Best Practices in Asynchronous Programming

Joseph Albahari Threading in C#, part 1
Threads in C# (slides)

Design Patterns

  • Decorator
  • Factory
  • Observer
  • Adapter
  • Strategy

Design patterns explained 
Illustrated designpatterns: 1 2 3 4 5

DesignPatterns (Note)

Dokumentation Code Documentation with Doxygen