CS 298 Advanced Object-Oriented Techniques Using C# and .NET

Syllabus, Spring 2007

 

Course title:        CS 298 Advanced Object-Oriented Techniques Using C# and .NET

Credits:                  4 elective CS credits

Prerequisite:      CS 171

Instructor:         Dr. Gancho Ganchev

Office: WS114

Phone: (203) 837-9349

Email: ganchevg@wcsu.edu, gfganchev@yahoo.com

 

Description:

This course will present intermediate to advanced topics related to C# and object-oriented software design.  The course quickly covers the basic features of the C# language, revises the fundamental object-oriented concepts and then concentrates on more advanced topics such as use of interfaces, .NET libraries, event handling, graphical user interface and Winform classes, effective use of C# collections, exception handling, cloning, iterators, partial classes, generics and serialization.  The latest version .NET 2005 will be used. The emphasis through will be on the sound use of object-oriented design principles.  No previous knowledge of C# is required. The course can be used as a Computer Science elective.

 

Resources:

Recommended books

1. Deitel et al. (2002), C# How to Program, Prentice Hall

2. Wiener. R, Modern Software Development Using C# and  .NET

 

Internet resources will be provided throughout the course

 

Class notes and additional course materials will be posted on the N: drive in the folder N:/Class/GanchevG/CS360.

 

Attendance:      You are expected to be present for each class session

 

Withdrawals:     No withdrawals will be approved after the official University deadline.

 

Assessment:     Three tests and a final exam 


Tentative Schedule of Topics:

 

Session

Date

TOPIC

1-Tu

Jan 23

Basic Language Overview

2-Th

Jan 25

Basic Language Overview

3-Tu

Jan 30

Basic Language Overview

4-Th

Feb 01

Basic class construction

5-Tu

Feb 06

Basic class construction

6-Th

Feb 08

Strings, StringBuilders

7-Tu

Feb 13

Strings, StringBuilders

8-Th

Feb15

Arrays and Array Lists

9-Tu

Feb20

Arrays and Array Lists

10-Th

Feb 22

Structs

11-Tu

Feb 27

Test 1

12-Th

Mar 01

Class design, attributes, assemblies

13-Tu

Mar 06

Inheritance and polymorphism

14-Th

Mar 08

Inheritance and polymorphism

15-Tu

Mar 13

Interfaces

16-Th

Mar 15

Interfaces

 

Mar 19-25

 

17-Tu

Mar 27

Cloning, operator overloading

18-Th

Mar 29

Delegates and events

19-Tu

Apr 03

Test 2

20-Th

Apr 05

Design patterns

21-Tu

Apr 10

Exception handling

22-Th

Apr 12

Graphics and GUI

23-Tu

Apr 17

Graphics and GUI

24-Th

Apr 19

Graphics and GUI

25-Tu

Apr 24

Files and Streams

26-Th

Apr 26

Generic programming

27-Tu

May 01

Built-in data structures

28-Th

May 03

Multithreading

29-Tu

May 08

Socket programming

30-Th

May 10

Test 3