Software Development with C#
Latest update: March 3, 2016
This course describes the programming language C# with its latest features up to C# 6.0. It is designed for students who are already familiar with a programming language like Java or C++.
All material is published under the
Microsoft Curriculum Licence.
Course Description Text Books Download Author
Although many universities use Java or C++ as their primary programming language they feel the need to provide their students with some knowledge about C#, 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 object-oriented programming.
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), SQL-like queries on memory data structures or XML (LINQ), and features for parallel and asynchronous programming.
The course has been delivered several times at the university of Linz. There are about 350 Powerpoint slides to be downloaded.
The course is being delivered as 15 lecturing units of 45 minutes each. We recommend to accompany the course with a programming lab or a term project. Exercises can be found in our text books. Sample solutions are on our web site.
We have written a text book on which this course is based. The most up-to-date version (covering all features up to C# 6.0) is written in German. There is also an English version, which covers the features up to C# 2.0.