Northern Virginia Community College
Annandale Campus

Spring Semester 2013

ITP 244 ASP.NET Server Side Programming
Section 001N - 4 Credit Hours

Course Description | Prerequisites | Instructor | Text | Class Hours | Office Hours | Important Dates | Course Objectives | Major Topics
| Grades | Class Schedule | Inclement Weather Policy | Academic Dishonesty | Attendance Policy | Learning And Growth Policy | Emergency Evacuation Procedures |
Fun Policy

Course Description:

Introduces students to the fundamentals of ASP.NET programming, web application architecture, and data driven web applications. The official course description can be downloaded via this link: ITP 244 Course Description


ITP 136 C# Programming

Rick Miller, MS Computer Science
California State University Long Beach
Phone: 703-207-0532
web site:



The primary reference material for the course will come from the Microsoft ASP.NET website. Also, you'll be coding up various web application layers in C#.NET so you'll need to be familiar with the Microsoft .NET Framework.


ASP.NET: An Integrated Approach

Supplemtal Text - Draft chapters from my forthcoming book: ASP.NET: An Integrated Approach, will be made available to students of this course.

C# For Artists

Supplemental Text - I will provide chapters in PDF form to ITP 244 students. Chapter 20 is helpful as much of the database material will come from there.

Rick Miller. C# For Artists: The Art, Philosophy, And Science Of Object-Oriented Programming. Pulp Free Press, ISBN -10: 1-932504-07-9, ISBN-13: 9781932504071

Available in the bookstore or direct from Pulp Free Press

Class Hours:
Time: Friday, 6:00 pm - 9:50 pm
Room: CT - 107
Dates: 18 January 2013 - 10 May 2013

Office Hours:
You can talk to me before, during or after class. You can also call me but I prefer email.

Important Dates To Remember:

Course Objectives:
Upon the completion of this course you will be able to:


Major Topics:

Your grade for this class will be derived entirely from your performance on the projects. There will be four core projects and they have the weight of exams. They will be challenging.

I have a system of grading projects...and it goes something like this:

Roughly Equates To An...

check ++

Outstanding. You've exceeded all my expectations in some, perhaps intangible, way. Maybe it was the way you formatted your code, perhaps something any case, I saw or felt the QWAN (Quality Without A Name) in your assignment and you deserve special recognition for your efforts.


check +

As compared to other similar projects your stood above the rest. You exceeded one or perhaps several of my expectations.



Good job! You met all minimum project requirements and your program runs flawlessly. This is what I expect of every student.


check -

Your program may run but just barely. It suffers from a major or perhaps several minor bugs.


check --

Your program does not run, or, worse yet, it runs but you cheated! In either case, you are missing the big picture and need serious remedial help. If you get too many check --'s you should start exploring other areas of study.





Turn in the following with every project:

- Printout of all source code files
- Source code files on disk
- Executables (.exe) files on disk

Each source code printout and disk should be clearly labeled with the your name and project.

I will grade each project according to the following criteria:

  • It MUST execute in such a way that satisfies the minimum project requirements
  • Source code printout must be neatly formatted and readable
  • Submitted project MUST include executable file, source code on disk, and source code printout
  • Each source code file MUST begin with a comment header that clearly identifies ownership

Class Schedule:

Topics Covered

Week 1

  • Class introduction
  • ASP.NET Overview
  • Multitiered architectures
  • C# review
  • Relational Databases
  • Unified Modeling Language Overview
  • Installing required software


NOTICE: I reserve the right to modify, add, or omit topics as necessary to tune the course to the nature of the class. This is an agressive agenda.

Here's the link to the SimpleConnection example code from Chapter 20 of C# Collections: A Detailed Example.

ASP.NET Webforms Programming







Some Relational Database book recommendations:

The Handbook of Relational Database Design

Database Design for Mere Mortals

Beginning C# 2008 Databases

Logical Introduction to Databases

Week 2-3

  • Relational Databases
  • Setting up a complex project
  • Using MS SQL Server Studio to create and manage databases
  • Using SQL command line scripts to create and manage databases
  • Microsoft Enterprise Library

Managing Databases with Scripts

Creating complex project in Visual Studio Web Developer and Configuring IIS 7

Week 3-4

  • Creating simple application
  • Coding a DAO
  • Advanced project configuration
  • Unit testing with NUnit
  • Logging with log4net

Reference Architecture Presentation

Reference Project version 1

External Configuration Files

Week 5

  • Coding a DAO
  • Advanced project configuration
  • Unit testing with NUnit
  • Logging with log4net

More configuration notes - Thanks William!

Reference Project version 2 - With BusinessObject


Week 6
  • Value Object Layer
  • Creating Value Objects (VOs) a. k. a. Data Transfer Objects (DTOs)
  • Testing Value Objects
  • Data Access Layer
  • Creating Data Access Objects (DAO)
  • Testing DAOs

ASP.NET Pages Intro

Reference Project version 3 (Includes: log4net logging, simple master page, page navigation infrastructure)

Week 7

  • ASP.NET Page basics
  • Multipage web applications
  • Page nagivation
  • Page error handling
  • Responding to events in code behind

Reference Project version 4 (Includes: sitemap, complex master page layout, application menu using sitemap as datasource, page navigation in response to OnClick event in codebehind)


Week 8

  • Business Object Layer
  • Creating Business Objects (BOs)
  • Testing Business Objects

Reference Project version 5 (Includes: custom EmployeeGridViewControl, demonstration of using method delegates to handle user interaction with control on page, insertion and retrieval of session values, and an improved scheme for making the database portable across different versions of mssql server)


Reference Project version 6 (Includes: Custom EmployeeEditControl and SaveUpdateCancelControl. These two controls are used in the EmployeeDetailsViewPage and allow viewing and editing employee data without repeated code in multiple pages.)


Week 9

  • Presentation Layer
  • Site Menu
  • Custom Role Providers

Some helpful Microsoft References

Fundamental Concepts
Developing Identity-Aware ASP.NET Apps
Extranet Access Management
Identity Aggregation and Synchronization
Intranet Access Management
Password Management
Platform and Infrastructure
Provisioning and Workflow

Processing Query Strings

Reference Project version 7 (Includes a Demonstration menu with pages showing how to extract request parameters and page headers.)

Week 10

  • Creating custom drop-down lists with stored procedures


Reference Project version 8 (Includes stored procedures, reorganized database scripts demonstrating incremental database evolution, custom dropdown components, create employee page implemented, edit employee control updated)

Week 11

  • Data Sets, Table Adapters, Object Data Sources, and GridViews

Reference Project version 9 (Includes updated database scripts release 3, Course data set (XSD) with table adapter, CourseMaintenance.aspx page showing how to use and configure an ObjectDataSource and a GridView to display, edit, and insert data)


William Pegrams notes for database connectivity issue fixes


Week 12

  • Enabling and configuring Windows Security
  • Controlling access to web application via custom role provider object
  • Controlling access to web application areas via web sitemap
Reference Project version 10 (Includes custom role provider class that controls access to web application via Windows Security and passed credentials. Controls access to application areas (menus and links) via web.sitemap roles and programatically. To successfully deploy and run this version you'll need to install and enable Windows Security in IIS7 if you're running Windows 7 Ultimate in addition to having a employee record with a network username that matches your computer's domain and your logged-in account.)

Week 13

  • Forms Authentication

Reference Project version 11 (This one's for you William!) WARNING: Getting this version to work correctly requries significant changes to previous website configuration settings.

This version demonstrates:

-- Using username and password to authenticate user to web application
-- Using Forms authentication in conjunction with a RoleProvider to control access to web pages
-- Inserting and retrieving varbinary data into/from the database
-- Using a MD5ng object to hash username and password

Week 14

  • MVC

Microsoft ASP.NET MVC Site


Notes for Deploying ASP.NET Application to Shared Hosting Site, Part 1 - By William Pegram

Week 15

Optional Class

I will be available in class to help with student projects.

Week 16

  • All Projects Due

All Projects Due!!!





Inclement Weather Policy

Check the NOVA website for inclement weather announcements.

Also, check BlackBoard for any special announcement pertaining to this class.

Academic Dishonesty:

I expect the work you do in this class to be your own. I encourage the free exchange of ideas between students, however, the work you ultimately hand in to fulfill course requirements must not be simply copied from another student or other sources. It's easy to be honest; here are a few rules to help guide you:

From the NVCC Catalog

When College officials award credit, degrees, and certificates, they must assume the absolute integrity of the work you have done; therefore, it is important that you maintain the highest standard of honor in your scholastic work. The College does not tolerate academic dishonesty. Students who are not honest in their academic work will face disciplinary action along with any grade penalty the instructor imposes. Procedures for disciplinary measures and appeals are outlined in the Student Handbook. In extreme cases, academic dishonesty may result in dismissal from the College. Academic dishonesty, as a general rule, involves one of the following acts:

Attendance Policy:

You should only miss class when you have a genuine emergency. I prefer advance notification via email. It goes without saying that you are responsible for course and assignments due, and for information covered, on the day(s) you miss. If you miss too many classes, and too many is entirely at my discretion, I will have to drop you from the class.

The Attendence Policy from the NVCC Catalog:

"Education is a cooperative endeavor between a student and his or her instructor. Instructors plan a variety of learning activities to help their students master the course content. Your contribution is to participate in these activities within the framework established in the class syllabus. Faculty will identify specific class attendence policies in the class syllabus that is distributed at the beginning of each term. Successful learning requires good communication between students and instructors; therefore, in most cases, regular classroom attendance, or regular participation in the case of a non-traditional course format, is essential.

It is your responsibility to inform your instructor prior to an absense from class if this requested by the instructor in the class syllabus. You are responsible for making up all course work missed during an absence. In the event of unexplained absences, especially if you miss the first three weeks of class, your instructor will withdraw you administratively from the course."

Learning and Growth Policy

“NOVA is a place for learning and growing.  You should feel safe and comfortable anywhere on this campus.  In order to meet this objective, you should: a) let your instructor, his/her supervisor, the Dean of Students or Provost know if any unsafe, unwelcome or uncomfortable situation arises that interferes with the learning process; b) inform the instructor within the first two weeks of classes if you have special needs or a disability that may affect your performance in this course.”

Emergency Evacuation Procedures:

Should the need to evacuate the room in a hurry arise, the procedures to do so are posted in the class. We'll discuss these on the first day and hope we never have to use them!!!

Fun Policy

Most importantly...I want you to enjoy the class. I will learn as much from you as I hope you'll learn from me. To this end, I sincerely appreciate any comments you may have about course content and welcome your suggestions on ways to improve this course for future classes. Welcome to class...have fun!