Skip to content

perslaursen/OOProg22

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OOProg22

Teaching materials for Object-Oriented Programming with C# (2022 version)

For those interested in using these materials for teaching, here is a (very brief) guide to the Chap folder, which is the folder containing these materials. NB! Be aware that the materials are not very "polished", and are available as-is. Maintenance of the materials is not guaranteed.

General

  • Each folder is intended to represent a fairly coherent "module" about Object-Oriented Programming with C#.
  • Each folder will typically contain a Word document and a .pdf copy, plus (up to) three sub-folders.
  • The Word/pdf document contains the "textbook" for the module, including texts for exercises.
  • The folder Unsolved contains starting points - in the form of Visual Studio solutions - for the exercises in the module.
  • The folder Solved contains solutions - in the form of Visual Studio solutions - for the exercises in the module.
  • The folder Presentations contains various PowerPoint presentation related to the module.
  • The materials are in general compliant with .NET 7, C# 10 and Visual Studio 2022.

Modules (Core)

The modules are described in the order in which they are most naturally presented.

Start

General introduction to Visual Studio 2022, tools, extensions, packages. General introduction to code organisation, statements, syntax and interaction with Visual Studio.

Prog01

Basic programming concepts: data types, variables, arithmetic, logic, functions, screen output and type conversion.

OOProg01

Basic Object-Oriented programming concepts: object and class concepts, class definition elements, class collaboration, abstraction.

Prog02

Intermediate programming concepts: conditional statements, repetition statements, debugging, data structures, code quality and the DRY concept.

OOProg02

Intermediate Object-Oriented programming concepts: inheritance, exceptions, generics, delegates, events and lambda expressions.

Prog03

Intermediate programming concepts (continued): data structures, recursion, LINQ.

OOProg03

Advanced Object-Oriented programming concepts: open/closed principle, dependency injection, design patterns.

Prog04

Advanced programming concepts: the Task class, async/await, concurrent data access.


Modules (Supplementary)

These modules are not as such essential, and are all fairly self-contained.

UnitTest

Basic unit testing in Visual Studio using MSTest (unit test structure, code coverage). Requires at least OOProg01.

ADONet

Essentially an exercise set for using ADO.Net, i.e. no "textbook" material as such. Requires OOProg02.

EFCore

Essentially an exercise set for using Entity Framework Core (version 7), i.e. no "textbook" material as such. Requires OOProg02.

RazorPages

Various materials about Razor Pages (basic pages, plus use of Entity Framework Core). NB: Most of these materials are in Danish! Requires OOProg02.

HowTo

A set of exercises intended for repetition of selected topics (class definitions, control statements, collection classes, inheritance, generics).

Misc

A small set of presentations on various topics (documentation, GitHub essentials and web hosting).

About

Teaching materials for Object-Oriented Programming with C# (2022 version)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published