Harvard University Extension CSCI-E230 - .NET Programming in C#
Skip Navigation Links Login

(Preliminary) Fall 2007 Syllabus

Last Updated: Sunday October 6, 2007

Prerequisites

This course provides the student with the essentials necessary to design and develop robust and secure applications using C#, Windows forms, and the .NET framework. In addition to the essentials, the course also provides coverage of advanced topics, such as LINQ, ADO.NET, writing secure .NET applications, designing and developing multithreaded applications, and web services.

Prerequisite: One year of object-oriented development experience

The primary focus for this course is C# and .NET 2.0

Textbook and Class Notes

The required text for this course:

Title Info
Pro C# with  .NET 3.0 Special Edition (Pro)
Author: Andrew Troelsen
Publisher: Apress
ISBN: 1-59059-823-7
Text source code
Pro ADO.NET 2.0
Author: Sahil Malik
Publisher: Apress
ISBN: 1-59059-512-2
Text source code

Optional text

Title Info
Windows Forms 2.0 Programming (2nd Edition)
Author: Chris Sells and Michael Weinhardt
Publisher: Addison-Wesley
ISBN: 0321267966
Text cource code

It is also recommended that you have access to the MSDN Library Subscription which is available for free at: http://msdn.microsoft.com/library 

Note:
Students registered for this course are eligible for the MSDNAA which means you will have access (free/nominal cost) to VS 2005 as well as several Microsoft products while enrolled in the course. For details see: Harvard: MSDN Academic Alliance Software Center

Information about ordering the MSDN Library Subscription can be found at:
http://msdn.microsoft.com/vstudio/products/subscriptions/default.aspx

 

Note: The Harvard COOP should have these books on hand.
The Harvard COOP can be reached at 617.499.2000 or Harvard Book Store

Lectures

Introduction to .NET, C# and Visual Studio, C# Language Fundamentals

19-Sept-2007

Troelsen Chapters 1, 2 & 3

Object-Oriented Programming & Object Lifetime 26-Sept-2007

Troelsen Chapters 4 & 5

Exception Handling, Interfaces and Collections 3-Oct-2007

 Troelsen Chapters 6 & 7

Callback Interfaces, Delegates, Events

10-Oct-2007

 Troelsen Chapters 8

Generics

17-Oct-2007

 Troelsen Chapters 10

.NET Assemblies, Reflection and Attributes

24-Oct-2007

Troelsen Chapter 11 & 12 

Processes, AppDomains and Multithreaded Applications

31-Oct-2007

Troelsen Chapters 13 & 14

Input / Output & Serialization

7-Nov-2007

Troelsen Chapters 16, 17 

Windows Forms

14-Nov-2007

Troelsen Chapters 19, 20 

Thanksgiving Break 21-Nov-2007

Class and sections will not be held.

Windows Forms Controls 28-Nov-2007

Troelsen Chapter 21
Windows Forms & Web Services 5-Dec-2007

Troelsen Chapter 25
MSDN and Class Notes

ADO.NET Part I 12-Dec-2007

Troelsen Chapter 22
Malik Chapters 4, 5, 6, 7 

ADO.NET Part II 19-Dec-2007

Troelsen Chapter 22
Malik Chapters 8, 9, 10, 11 

Winter Break 26-Dec-2007

Class and sections will not be held. 

Introduction to LINQ 2-Jan-2008

Troelsen Chapter 30

TA Presentations / Snow Day 9-Jan-2008

Reserved for make up class or presentations by the TA's. 
All homework assignments are due at the beginning of this class.


Hardware and Software

Note: This course requires substantial programming homework.

We recommend that the student have their own software development environment. Harvard Extension does provide computer services, however we currently have not certified that their configurations will be suitable for all assignments.

For information regarding account setup and configuration follow the link: Harvard Computer Services

Access to a personal computer with the following installed and properly configured is required:

  • Visual Studio.NET 2005 Professional
  • Windows XP Professional* Service Pack 2
  • MSDN Library (2007 Edition or later)**
  • SQL Server Express 2005***
  • IIS (Internet Information Server)

Note:    * XP Home is not acceptable as it lacks certain enterprise services needed for assignments
** Access to the MSDN Library is freely available at http://msdn.microsoft.com
*** SQL Server 2005 Express edition ships with Visual Studio 2005 Professional

Connectivity Requirements

Students are required to have the following:

  • An email account
  • Web access
  • Internet Explorer 6.0 or greater

    Note: A dialup line will be sufficient for access to the class web site http://www.trsdos.com however higher speed access may be necessary to download SDK's or other tools.

Homework and Grading Criteria

ALL STUDENTS ARE RESPONSIBLE FOR READING, UNDERSTANDING, AND COMPLYING WITH THE ACADEMIC RULES AND REGULATIONS PUBLISHED IN THE EXTENSION SCHOOL CATALOG, INCLUDING BUT NOT LIMITED TO ACADEMIC HONESTY.

Since this course is a graduate level course, all students are expected to perform work in quantities and qualities consistent with a graduate degree from Harvard Extension.

This class will consist of lectures and structured homework assignments. The assignments are designed to re-enforce the lectures presented in class.  

The homework assignments will constitute 100% of the final grade.

Most assignments is designed to take approximately 10 hours of work for the median student in this class. Keep in mind that whatever the median time turns out to be, exactly half of you will take longer.        

This will not be a point and click wizard class . It will not be possible for you to get through your homework by simply using the prefabricated code that is generated by the Visual Studio.NET wizards. This class is about learning C# and .NET and to some extent about learning how you can use the various tools to get your job done. The reason why you get paid the big bucks is because you can get through the snags that hold the point and click wizard programmers back. You will be able to use the wizards to get the framework of your application up but you will be required to rip the wizard generated code apart to finish the assignments. Finally some homework's may explicitly require you not to use the wizards at all, either because they will be of no use or because I am trying to drive a specific point home.

Since .NET is new and ever evolving so is this class. The homework assignments posted on the Web are necessarily in a state of some flux. I reserve the right to change them at any time up to the end of class on the night on which they are assigned.

The grading percentages are:

 Grade 

A

A- 

B+

B

B-

C+

C

C-

D+

D

D-

E (Failing Grade)

 Points  100 - 92

91-90

89-87 

86-83

82-80 

79-77

76-73

72-70

69-67

66-63

62-60

Less than 60

It is likely that in at least one assignment you will score less than 100%. To aid your efforts we will automatically drop the assignments with the lowest grade. 

Each homework assignment has a specific due date, generally 10 days after it is assigned. There is no grace period for late assignments, assignments more than two weeks late will not be accepted. Each week late costs 10 points. So the maximum grade you can receive when handing in a assignment two weeks late is an 80 and yes if it's a day late, you still receive a 10 point deduction.

Extra Credit:
It is possible to get some extra points for turning an assignment in early.  We will grant you 1 point for each day an assignment is turned in early up to a maximum of 5 points. 

Resubmits:
A resubmit is only permitted if requested by the TA, if a resubmit occurs after the due date, the late penalty will apply. If a resubmit occurs prior to th due date all extra credit points are forfit.

All assignments are due by January 9th, 2008. Any work not received by January 9th, 2008 will be assigned a grade of 0% . If the Harvard Extension school officially cancels a class the assignment due that week will be accepted at the following class meeting. Subsequent assignments will be moved accordingly. 

Extensions beyond January 9th, 2008 will only be granted in cases of serious life-or health-threatening emergency. ANY OTHER CAUSE, INCLUDING BUT NOT LIMITED TO BUSINESS PROBLEMS, TRAVEL, and COMPUTER BREAKDOWNS, DO NOT QUALIFY FOR AN EXTENSION. 

Guidelines for submitting assignments

The following are guidelines for submitting your homework assignments. These guidelines have been designed to make the student and the TAs life easier.  The TAs time is best spent helping the student not trying to figure out what directories files go in, or what files are missing from a student's assignment etc.  If you have any questions regarding these guidelines please ask your TA. 

Homework can be submitted in one of two ways:
 - MEDA: Compact Disk
 - Email

   o Note: All homework's sent by email must be contained in a single zip file with the entire directory
              structure of the assignment maintained. If the directory structure is not maintained the
              assignment will be rejected. If you are not familiar with zipping files ask your TA. 
              A nice zip utility can be found at:  http://www.winzip.com/ 

 - When submitting your assignment include: (On the jewel case or in the body of the email)
    o Your name 
    o Email Address
    o Assignment Number

The submission shall contain: 
 - The project file(s) .EXE, any DLLs required to run the app, and all the files necessary to rebuild it 
 - The debug binary target of the build:
   (I.e. the exe(s), dll(s), you generated by compiling your project)
 - Note: Do not include the large intermediate output files (.OBJ, .PCH, .PDB, etc.). Use the
   "Clean" feature of Visual Studio.NET get rid of them.
 - All configuration files such as yourapp.exe.config
 

Penalties: 
 - 10 to 100 Points or expulsion for submitting an assignment that contains a virus depending on the damage done to the TA's machine
 - 5 Points for not including the debug binary
 - 5 Points for not including your name, email address and assignment number 
 - Note: You will be required to resubmit your assignment if the TA can not successfully build what  you have turned in. If this happens your assignment will be considered late, assuming it was notturned in early and resubmitted before the official due date.  Remember resubmits are only accepted if requested by the TA.

Course Home Page

This class has a home page http://www.trsdos.com/.
Any changes posted in the "Notices" or Discussion form section of this page are officially incorporated into and made part of this syllabus by reference

Internet Discussion Forum

To make it easier for you to talk to the TAs and to each other an internet discussion form has been setup at http://groups.google.com/group/CSCI-E230

Note: Be sure to permit emails from CSCI-E230@googlegroups.com allowed by your spam blocker(s).

If you have a question about your own individual grading or administrative problems, contact your TA directly.

Please use the forum as the entry point for all questions whose answers might be of general interest, such as questions on the homework.

Because we have coverage of the forum spread out among different TAs at different times, you will get you the fastest answer by using the discussion forum. If you send an individual e-mail message to me or to a TA, we might not check our mail that day and your answer may be delayed. Unless you are working on a specific problem with a specific person, you will get the fastest service if you take whichever doctor is on call. Posting messages to the forum will also allow other students to benefit from the answer sent to you.

I will offer prizes for the student that gives the most help to other students on the discussion forum. At a class meeting near the end of the term, each attending student will be asked to vote for the single student that helped her/him the most on the discussion forum. The votes will be tallied on the spot and the winner announced at the end of the class. First prize is $100, second prize is $50 . In the event of a tie, the relevant prize(s) will be divided among the tying students.

Occasionally there will be a topic for which I need to forbid forum discussion, generally when I assign a problem that has a very simple answer that requires a lot of searching. The learning experience is in the searching, not the final answer. These will be clearly identified as such in the homework assignments, at which time you will need to comply with them.

Employers frequently find this list to be a good place to post messages looking for new hires. You may post a message for your company, subject to the following guidelines. Spare us the SPAM about "empowered employees enabling a dynamic challenging diverse workplace using state-of-the-art technology to produce innovative solutions …" Just tell us your company’s name and location, the type of products it makes, what the job would be doing and what it requires. And principals only, NO HEADHUNTERS UNDER PAIN OF IMMEDIATE AND PERMANENT EXPULSION FROM THE FORUM.

This forum is my own private property; therefore freedom of speech does not apply on it. Anyone whose actions are, in my own sole and absolute judgment, detrimental to the forum may be removed without warning or appeal.