Coder Social home page Coder Social logo

nathinugget / ooprog22 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from perslaursen/ooprog22

0.0 0.0 0.0 101.77 MB

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

JavaScript 0.29% C# 75.13% CSS 1.57% HTML 18.76% TSQL 4.24%

ooprog22's Introduction

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).

ooprog22's People

Contributors

perslaursen avatar nathinugget avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.