Course home       Alphabetic index  Exit possible frame set   Lecture note overview   PDF print page   Help page about these notes
Object-oriented Programming in C#
for C and Java programmers

Kurt NÝrmark ©
Department of Computer Science, Aalborg University, Denmark

A complete PDF version of the text book is now available. The PDF version is an almost complete subset of the HTML version (where only a few, long program listings have been removed). See here.

Title page            Abstract            All exercises in this material         

Slides in this lectureINTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
1.From structured programming to object-oriented programming
2.Towards Object-oriented Programming
3.Phenomena and Concepts
4.Towards Object-oriented Programs
Slides in this lectureINTRODUCTION TO C#
5.The C# Language and System
6.C# in relation to C
7.C# in relation to Java
8.C# in relation to Visual Basic
9.C# Tools and IDEs
Slides in this lectureCLASSES AND OBJECTS
10.Classes: An Initial Example
11.Classes
12.Creating and Deleting Objects
Slides in this lectureREFERENCE TYPES, VALUE TYPES, AND PATTERNS
13.Reference Types
14.Value Types
15.Organization of C# Programs
16.Patterns and Techniques
Slides in this lectureDATA ACCESS, PROPERTIES, AND METHODS
17.Accessing Data in Objects
18.Properties
19.Indexers
20.Methods
Slides in this lectureOPERATORS, DELEGATES, AND EVENTS
21.Overloaded Operators
22.Delegates
23.Events
24.Patterns and Techniques
Slides in this lectureSPECIALIZATION, EXTENSION, AND INHERITANCE
25.Specialization of Classes
26.Extension of Classes
27.Inheritance in General
28.Inheritance in C#
Slides in this lectureABSTRACT CLASSES, INTERFACES, AND PATTERNS
29.Method Combination
30.Abstract Classes - Sealed Classes
31.Interfaces
32.Patterns and Techniques
Slides in this lectureEXCEPTION HANDLING
33.Fundamental Questions about Exception Handling
34.Conventional Exception Handling
35.Object-oriented Exception Handling
36.Exceptions and Exception Handling in C#
Slides in this lectureINPUT AND OUTPUT CLASSES
37.Streams
38.Directories and Files
39.Serialization
40.Patterns and Techniques
Slides in this lectureGENERIC TYPES AND METHODS
41.Motivation for Generic Types
42.Generic Types
43.Generic Methods
Slides in this lectureCOLLECTION CLASSES
44.Collections - History and Overview
45.Generic Collections in C#
46.Generic Dictionaries in C#
47.Non-generic Collections in C#
48.Patterns and Techniques
Slides in this lectureCONTRACTS AND ASSERTIONS
49.Correctness
50.Specification with preconditions and postconditions
51.Responsibilities and Contracts
52.Class Invariants
53.Inheritance is Subcontracting
Slides in this lectureTEST OF OBJECT-ORIENTED PROGRAMS
54.Program Testing in General
55.Unit Test of Object-oriented Programs
Slides in this lectureDOCUMENTATION OF OBJECT-ORIENTED PROGRAMS
56.Documentation of Object-oriented Programs
57.Project Recommendations
Slides in this lectureAPPENDIX
58.Appendix

LENO - LEcture NOtes with LAML technologyGenerated: Monday February 7, 2011, 12:25:29
Program Oriented Web Engineering - using LAML