Home   Cover Cover Cover Cover

Application Development with C# and .NET

H.Mössenböck, W.Beer, D.Birngruber, H.Prähofer, A.Wöß
University of Linz, Austria

Latest update: October 3, 2008

This course covers the whole Microsoft .NET technology (including .NET 2.0). It is an advanced course for students who are already familiar with object-oriented programming and basic Web programming techniques. It comes with a full set of Powerpoint slides (both in English and in German) and with an extensive case study. Text books with exercises and sample solutions are also available.

All material is published under the Microsoft Curriculum Licence.
(c) University of Linz, Institute for System Software, 2004

Course Description   Text Books   Download   Authors   Contact

Course Description


Although many universities use Java or C++ as their primary programming language (and do not plan to switch to C# and .NET in the near future) they feel the need to provide their students with a profound overview of the .NET technology, which becomes more and more important in industry. A course with this goal is different from introductory programming courses, since it can assume that the students are already proficient in programming and know the basics of Web engineering (e.g. in Java, ASP or PHP).

Our course was designed with these goals in mind. It covers the whole .NET technology, that is C#, ASP.NET, Web Services, ADO.NET, the major classes of the class library as well as the fundamentals of the CLR and the most important .NET tools. It includes also the new features introduced in .NET 2.0. The course has been delivered several times at the university of Linz. Parts of the course have also be given a industry seminars and tutorials. There are almost 700 slides, more than 200 exercises with sample solutions and a case study involving C#, ASP.NET, ADO.NET and Web Services.

Learning Objectives

The course will teach students the following skills:

  • Programming in C# using high-level abstractions such as classes, interfaces, namespaces, properties, delegates, events, threads, attributes, generics, and iterators, new features of C# 3.0.
  • Using the .NET platform to develop dynamic web pages with ASP.NET, Web Services, ADO.NET. It also covers the most important features of the class library (collections, IO, threading, sockets, Windows Forms, reflection, Xml, generics, ...). Students will learn about the CLR (assemblies, versioning, security, JIT compilation, configuration, ...) and about the most important .NET tools (VS.NET, ildasm, gacutil, ...).
  • Ability to compare the .NET platform with the Java technology.


The course can either be delivered as a whole or as two separate courses on C# and .NET. In total, it has 30 lecturing units of 45 minutes each corresponding to 2 units per week (or 3 ECTS credit points) during a semester.

We recommend to accompany the course with a programming lab of at least 15 units, which can be organized either as weekly exercises or as a term project. Exercises can be found in our text books. Sample solutions are on our web site.

  1. Overview of .NET
  2. The Programming Language C#
    Types, expressions, declarations, statements, classes, structs, inheritance, interfaces, delegates, exceptions, namespaces, assemblies, attributes, native calls, threads, XML commments, genericity, anonymous methods, iterators, partial types
  3. .NET Framework Class Library
    Overview, utility classes, collection classes, reflection, XML processing, Windows Forms, threading, networking
  4. .NET Architecture
    CLR overview, assemblies, modules, CIL, interoperability, virtual execution system, code access security, AppDomains
  5. ADO.NET
    DataReader, DataSet, transactions, XML data sources
  6. ASP.NET
    Dynamic web pages, Web Forms, event handling, Web Controls, validators, user controls, custom controls, state management, configuration, web page design with Visual Studio .NET, master pages, navigation, themes and skins, personalization, authentication, database access controls
  7. Web Services
    Servers and clients, SOAP, WSDL, DISCO, UDDI, configuration, tools
  8. .NET Framework Tools
    Assembly cache viewer, native image generator, GAC utility, strong name tool, code access security policy tool, web services description language tool

Text Books

We have written two text books on C# and .NET. Both are available in English and in German. Our slides have been tailored to these books.

English books

cover_net_en H.Mössenböck, W.Beer, D.Birngruber, A.Wöß:
.NET Application Development with C#, ADO.NET, ASP.NET and Web Services.
Addison-Wesley 2004, 544 pages, ISBN 0-321-17349-X
cover_cs_en H.Mössenböck:
C# to the Point.
Addison-Wesley 2004, 246 pages, ISBN 0-321-25290-X

German books

cover_Net_de W.Beer, D.Birngruber, H.Mössenböck, A.Wöß:
Die .NET-Technologie.
dpunkt.verlag 2003, 510 pages, ISBN 3-89864-174-0
cover_Cs_de H. Mössenböck:
Softwareentwicklung mit C#.
dpunkt.verlag 2003, 244 pages, ISBN 3-89864-126-0



HM Prof. Dr. Hanspeter Mössenböck
PhD in Computer Science (University of Linz, 1987). From 1988 to 1994 assistant professor at ETH Zurich with Prof. Niklaus Wirth. Since 1994 full professor of Computer Science at the University of Linz, Austria. Head of the Institute for System Software.
Besides teaching courses on compiler construction, (object-oriented) programming, algorithms & data structures, and .NET, he also regularly lectures at the Oxford Brookes University, UK, and appeared as a speaker of various .NET events.
WB Dr. Wolfgang Beer
Phd in Computer Science (University of Linz, 2004). Special interests include context-aware pervasive systems, component-based and object-oriented software architectures.
DB Dr. Dietrich Birngruber
Phd in Computer Science (University of Linz, 2002). Special interests include component-based and object-oriented systems. He is currently with an Austrian company doing business in the area of .NET.
HP Dr. Herbert Prähofer
Phd in Computer Science (University of Linz). Special interests include object-oriented systems and simulation.
AW Dipl.-Ing. Albrecht Wöß
Holds a master degree from the University of Linz. Special interests include compiler construction and object-oriented programming. He lead the "Compiler Generation Tools for C#" project funded by the 1st Rotor RFP.


Prof. Dr. Hanspeter Mössenböck
Johannes Kepler University Linz
Institute for System Software
Altenbergerstraße 69, 4040 Linz, Austria
Web: www.ssw.uni-linz.ac.at/General/Staff/HM/
Phone: +43-732-2468-7130