CSCI  E143

Programming in C# with Visual Studio .NET

 

Description  

Program development with C# .NET, using Visual Studio 2003 .NET. The C# Language definition, and the .NET Framework Class Library, will be covered.

  

Full Syllabus

The course is primarily directed toward Visual Basic, Visual C++ (MFC and ATL), Java, and C++ developers with experience, who wish to investigate C# on Windows. The use of the C# as an open platform via the Common Language Interface (CLI ROTOR) implemented on FreeBSD/Linux will be addressed as an option, but development will be on Windows.

Primary goal is complete C# syntax and semantics, .NET Framework extensive overview, Visual Studio .NET familiarity and advanced use.

The course will cover three major elements:

 

 

Lecture

Reading

Date

01 Greetings, Class Plan, Introduction to C#.

Philosophy, .NET Framework Overview, System.Console, Intro to CLR.

Visual Studio Console App, Simple Windows Form. XML Documentation.

Troelsen Chapt 1, 2
 

[Prosise, Stoecker, Kalani various]

9/23/2004

02 C# Language Fundamentals.
Main() and command line arguments, intro garbage collection,
string formatting, value and reference types, System.Object, System Types, Boxing and Unboxing, scope, constants, iteration constructs, operators, custom Class methods, Arrays, Strings, Enumerations, Structures, Namespaces.

Troelsen Chapt 3

 

[Prosise, Stoecker, Kalani various] 

9/30/2004

03 C# Object Oriented Programming.
OOP, Encapsulation, Inheritance, Polymorphism, Object Lifetime.

Components, Modules.

 

Intro to Windows Forms.
Intro to Windows Forms- Button, TextBox, simple widgets.
 

Troelsen Chapt 4, 5 

 


[Prosise, Stoecker, Kalani various]
 

10/7/2004

04 C# Interfaces and Collections.
Interfaces, Cloneable objects, Comparable objects, Collections Namespace.


More Windows Forms.

Troelsen Chapt 6 

 

[Prosise, Stoecker, Kalani various]

10/14/2004

05 C# Advanced Class Construction.
Custom Indexer, Overloading Operators, Delegates, Events.

Understanding Windows Forms Events.

Troelsen Chapt 7, 8 

 

[Prosise, Stoecker, Kalani, various]

10/21/2004

06 C# Assemblies, Threads, and AppDomains

C# Assemblies in detail, GAC. Threads, Contexts, AppDomains, Processes concepts. Concurrency and Synchronization- Locks, Monitors, ReaderWriterLock, Mutexes, Events. Thread Pooling, AppDomains.

Troelsen Chap 9, 10 


[Prosise, Stoecker, Kalani, various]
 

10/28/2004

07 C# Type Reflection and Attribute-Based Programming 

Also, simple COM Interop concepts and techniques.

Troelsen Chapt 11

 

11/4/2004

08 C# IO (Input and Output), Object Serialization, and Remoting 

System.IO, Streams, TextWriter, TextReader, BinaryWriter, BinaryReader. Serialized Object Persistence and Formatters. Remoting.

 

More Windows Forms.

Troelsen Ch 16, 12 

 

[Prosise, Stoecker, Kalani, various]

11/18/2004

Project Spec due (Word doc)
 

 

11/25/2004

09 ADO.NET, C# Windows Forms for Data Control.

Grid, DataSource and DataBinding Controls.
Connected and disconnected scenarios.  

ADO.NET System.Data, DataSet, Connections, Adapters, Commands, DataReaders. 

Troelsen Chapt 17

(Prosise Chapt 12)

 

(relevant parts)

Troelsen Chapt 10

12/2/2004

10 C# Windows Forms

System.Forms, Controls 

 

Troelsen Ch 13, 15 

 

[Prosise, Stoecker, Kalani, various]

12/9/2004

10 C# Graphics, GDI+.

System.Drawing, UserControls 

 

Troelsen Ch 14, 15 

 

[Prosise, Stoecker, Kalani, various]

12/9/2004

11 ASP.NET Intro, Architecture, Concepts, Web Forms,  using ADO.NET with ASP.NET

System.Web

 

Troelsen Chapt 18(Prosise Ch 5, 6)

[Stoecker, Kalani, various] 

12/16/2004

11 ASP.NET Lifetime and State , ASP.NET User Controls  

System.Web

 

Troelsen Chapt 19(Prosise Ch 9, 11)
 

12/16/2004

12 XML Concepts, XML and ADO.NET 

XML, XSD, XSLT for C# and .NET. XML database concepts. SQL XML concepts. DataSet and XmlDataDocument. 

 

Troelsen Chapt 17
(Prosise Chapt 13)

[Stoecker, Kalani, various]

1/6/2005

13 ASP.NET Web Services

Troelsen Chapt 20
(Prosise Ch 11,
7,8)
[Stoecker, Kalani, various] 

1/13/2005

Project Due (Presentations), Ongoing C# Roadmap  

 

1/20/2005    


Project Due (Presentations)
Final Exam (Latest certification submission date)

  53 Church. L02
(bottom level)

1/22/2005

 

Notes

Certain tools, and some advanced deployment and design concepts may not be covered, including: