[an error occurred while processing this directive]
 

C# Programming (Languages in Depth series)

Bertrand Meyer and  Lisa (Ling) Liu, Summer Semester 2007

 

Announcements | Description | Schedule | Project | Exam | Litterature |

 

Announcements

30 May 2007

29 May 2007

  • Add slides for multithreading exercise.

15 May 2007

  • Add slides for lecture 10 and the link for C# unit test tool csUnit.

15 May 2007

  • Add samplecodes for lecture 8 and reflection exercise slides.

10 May 2007

  • Add slides for lecture 8.

3 May 2007

  • Add slides for lecture 7.

2 May 2007

  • Add sample codes for lecture 6 and the exercise slides.

17 April 2007

  • Add slides for lecture 5 and the technique points in assignment1.

12 April 2007

  • Add slides for lecture 4.

4 April 2007

  • Add slides for lecture 3, first assignment of the project and C# code style .

26 March 2007

  • Update the slides for lecture 2.

22 March 2007

21 March 2007

  • Add slides for "C# fundamentals".

19 March 2007

  • Beta version of the C# Basics course material online. Added also the program.

19 March 2007

  • The course will start on the 22nd of March (9:00 - 12:00;IFW F 21) as scheduled. As an exception, instead of an exercise a lecture will be held on that day. The corresponding exercise will be held during a following lecture.

Description

Title and Code

C# Programming (Languages in Depth series)
Course code: 251-0290-00

People

Prof. Dr. Bertrand Meyer, Dr. Lisa (Ling) Liu, Fuchs Thomas, Nicolas Blanc

Scope

The course aims to deliver the approach to programming in C# that encompasses the concept of foundation syntax, GUI programming, thread, database and Web applications.

Course Book

  • Judith Bishop & Nigel Horspool C# Concisely, Addison Wesley, 2004 ISBN 0 321 15418 5

Other (recommended) books:

  • Andrew Troelsen: Pro C# 2005 and the .NET 2.0 Platform, Third Edition, Apress, 2005, ISBN 1-59059-419-3

Prerequisites

Knowledge of another Object-Oriented programming language is mandatory for understanding this course.

Topics

  • C# Basics.
  • Visual Studio development platform.
  • Generics.
  • GUI programming.
  • Files and streams.
  • Threads.
  • Database.
  • Web application.
  • .NET assembly.

The literature for presentations covering those topics is given below.

Schedule

  • Thursdays 9:00 - 11:00,  IFW F 21
  • Thursdays 11:00 - 12:00, IFW F 21

Office hours: by appointment, RZ-J9.

  Lectures program


Date

Lecture

Topic

Documentation

Thu. 22.03 1 Introduction of C# and .NET [Slides]
Thu. 29.03 2 C# language fundamentals [Slides] [SampleCodes]
Thu. 05.04 3 OO programming with C# [Slides] [SampleCodes]
Thu. 12.04 4 Exception [Slides] [SampleCodes]
Thu. 19.04 5 Delegates and GUI [Slides]
Thu. 26.04 6 Generics [Slides] [SampleCodes]
Thu. 03.05 7 .NET assembly, type reflection, attribute-based programming [Slides]
Thu. 10.05 8 Threads [Slides]
[Pipeline(without interrupt)] [Pipeline(with interrupt)]
Thu. 17.05 9 public holiday, no lecture
Thu. 24.05 10 Threads2 [Slides]
Thu. 31.05 11 Database (1) [Slides]
Thu. 07.06 12 Database (2) [Slides]
Thu. 14.06 13 Web applications with ASP.NET [Slides]
Thu. 21.06 14 XML web services [Slides]

Exercises (Tentative)

Thursday 29 March Visual Studio Tutorial
Thursday 5 April C# Basics
Thursday 12 April MinMax
Thursday 17 April Technique Points
Thursday 26 April Command pattern & GDI SampleCodes rook.gif
Thursday 3 May Generics SimpleGenerics
Thursday 10 May reflection slides reflection examples
Thursday 24 May multithreading slides BackgroundWorker examples
Thursday 31 May Serialization sample codes
Thursday 21 June Web Service Slides example codes

 

  Exam

The exam for C# programming is to deliver the source code and documents for the given project specifition. More precise information on the project will be announced here.

The project includes three assignments. Except the first assignment, each assignment should reuse the results of former assignments.

Generate HTML document from C# code (provided by Jan-Filip Zaqalak)
Assignment1   Code Delivery Requirement   Test cases
Assignment2   FAQ regarding assignment2   Input chess files
Assignment1 Grading Criteria   Test cases and test script
Assignment2 Grading Criteria
Assignment3