Programming in C# and .NET for Non-Beginners

Course - first cycle - 7.5 credits

Syllabus for students autumn 2020, autumn 2019

Course Code:
DA259E revision 2
Swedish name:
Programmering i C# och .NET för icke-nybörjare
Level of specialisation
Main fields of study:
No main fields
Date of ratification:
15 February 2019
Decision-making body:
Faculty of Technology and Society
Enforcement date:
02 September 2019
Replaces Syllabus ratified:
15 February 2019

Entry requirements

A minimum of 30 credits in Computer Science related courses consisting of at least 15 credits Object-Oriented Programming.

Specialisation and progression relative to the degree regulations

Single subject, and elective course.


This course aims to help students with prior programming skills to design and implement more complex GUI-based, object-oriented and data-driven applications with the latest C# and .NET techniques.


The course convers the following main topics:

• Main object-oriented programming concepts, encapsulation, inheritance and polymorphism using dynamic binding, abstract classes and interfaces
• Windows Forms and Windows Presentation Foundation (WPF)
• Assemblies, versioning, application domain
• File handling and object serialization
• Generics, data structures and collections
• Delegates, events and event handlers
• Anonymous types, methods and Lambda Expressions
• Language Integrated Query (LINQ)
• Database programming with ADO.NET Entity Framework

Learning outcomes

Knowledge and understanding
On completion of the course, the student should be able to demonstrate knowledge of:

• advanced features of .NET programming using the C# language,
• multilayered architecture with good performance and usability

Skills and abilities
On completion of the course, students should be able to demonstrate ability to:
• develop well-designed GUI applications using the advanced features of Windows Forms and WPF
• develop .NET applications utilizing the advanced features of C# such as generic data structures, delegates, events and lambda expressions.

Judgement and approach
Upon successful completion of this course, students should be able to:
• analyse and evaluate different solutions with respect to design and quality of the software.
• compare different solutions as to the overall architecture of an application as well as the choice of a suitable EF model.

Learning activities

The course consists of video lectures, programming exercises, mandatory quizzes and mandatory assignments.


Requirements for Pass (A-E): Passed grade in Assignment Part 1 (4 credits), Part 2 (2 credits), and passed quizzes (1.5 credits).
The final course grade will be based on a weighted result of all individual assignments.

Grading system

Excellent (A), Very Good (B), Good (C), Satisfactory (D), Pass (E) or Fail (U).

Course literature and other teaching materials

Recommended literature:

• Nagel, Christian. Professional C# 7 and .NET Core 2.0, , John Wiley & Sons, 2018

Alternative literature:
• Troelsen, Andrew (et al.), Pro C# 7 - with .NET and .NET Core, 8/E, 2017

Course evaluation

Higher education institutions shall enable students who are participating in or have completed a course to express their experiences and views on the course through a course evaluation to be organized by the higher education institution. The higher education institution shall collate the course evaluations and provide information about their results and any actions prompted by the course evaluations. The results shall be made available to the students. (HF 1:14).

Interim rules

In a case when a course is no longer given, or the contents have been changed essentially, the student has the right to be examined twice during a one year period, according to the course plan which was valid at the time of registration.

Other Information

This course is given in English. All educational materials will be in English.

The course can not be combined in a degree together with DA259A.

Course reports