Special Topics in Software Engineering:

Software Development with C#

339.341 1KV Mössenböck Block Begin: 20.03.2020

Please note that all teaching will be done online because of Covid-19. The link to the online lectures was sent via Kusss email to the registered participants.

Overview

C# is a mixture of Java, C++ and Visual Basic. It combines Java's type safety (type checking, garbage collection) with the power and flexibility of C++ (e.g. operator overloading, low-level operations). In addition to that it has some new features for component-based programming (properties and events), a kind of function pointers (delegates), reference parameters, stack objects and many other useful things. It also includes features of functional programming languages (e.g. lambda expressions) as well as SQL-like queries on memory data structures or XML (LINQ).

Contents

  1. Overview
  2. Symbols
  3. Types
  4. Expressions
  5. Declarations
  6. Statements
  7. Classes and structs
  8. Inheritance
  9. Interfaces
  10. Delegates
  11. Exceptions
  12. Namespaces and assemblies
  13. Attributes
  14. Threads
  15. XML comments
  16. Native calls
  17. Pointers
  18. Class library
  19. C# 2.0
  20. C# 3.0
  21. C# 4.0
  22. C# 5.0
  23. C# 6.0
  24. C# 7.0

Handouts

Students attending this course can download the handouts as PDF documents from the KUSSS web page of this course.

Videos

Fr 20.03.2020
- part 1.1: Overview, Symbols, Types
- part 1.2: Expressions, Declarations, Statements
- part 1.3: Classes and Structs
- part 1.4: Inheritance, Interfaces

Sa 21.03.2020
- part 2.1: Delegates, Exceptions, Namespaces & Assemblies
- part 2.2: Attributes, Threads, XML Comments
- part 2.3: Native Calls, Pointers

Fr 03-04-2020
- part 3.1: C# 2.0
- part 3.2: C# 3.0
- part 3.3: C# 4.0-7.0
- part 3.4: C# 7.0-8.0

Dates

Date Time Room
Fr 20.03.2020 12:00-16:15
Sa 21.03.2020 08:30-11:45
Fr 03.04.2020 12:00-17:00
Fr 15.05.2020 12:00-13:00(exam)
13:00-16:00(project)

Exam and Project

There will be a written online exam on Friday, May 15, 2020, 12:00-13:00. The guidelines for this exam can be seen here. Please register for the exam under Kusss until May 12, 23:59. On May 13, we will send all registered students a link to the exam (which can only be opened when the exam starts) as well as a Zoom link for participating.

In order to pass the course you also have to implement a small C# project. The topic of this project can be freely chosen by you. The only requirement is that the project has at least 250 lines of code, but try to be more ambitious. The project has to be submitted via Moodle. The project must be submitted via Moodle not later than May 15, 23:59. Please write also a short (1 page) documentation on what the project is about and how it is used, maybe using also a screenshot that shows the program in action. Please pack the source code and the documentation (as a PDF) into a zip file (Lastname_Firstname.zip) and upload it to the Moodle page of this course.

Literature

Online Resources and Software Downloads