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
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
|
|
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
|
|
|
|
|
|
.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
|
|
|
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.
|
|
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.
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.