New Media Programming III
Fall 20091 Course Syllabus

The information presented in this syllabus is subject to expansion, change, or adjustment during the quarter.


Name: Christopher A. Egert
Office: Bldg. 70, Room 2515
475 - 4873
caeics (*at*) rit.edu

Office Hours:

M 6:00 PM - 10:00 PM
and by appointment

Course Text and Materials

Required Books
• Text: Programming C# 3.0 (5th Edition), Jesse Liberty and Donald Xie, O'Reilly, 2008, ISBN:978-0596527433
• Text: C# 3.0 Cookbook (3rd Edition), Jay Hilyard and Stephen Tielhet, O'Reilly, 2008, ISBN:978-0596516106

Additional Materials
• Additional readings will be provided as handouts or web URLS.

Important RIT Deadlines

Last day of add/drop is Sunday, September 12, 2009. Last day to withdraw with a grade of "W" is Friday, October 30, 2009. The deadline for withdrawing from a course with a W grade is the end of the 8th week of the quarter. The withdraw process must be completed online before the deadline.

NOTE: IGM department policy states that a student has one quarter to challenge any grade. After that, grades cannot be challenged

Course Description

This course is the third course in the New Media Programming sequence. It expands the emphasis on using programming to develop interactive experiences through the introduction of more advanced concepts in a second programming language. Topics include interfaces, file I/O, exceptions, events, design patterns and GUI components. Programming assignments are an integral part of the course.

Prerequisite Courses

4080-231 Programming II for New Media

Course Goals and Objectives

General Course Goals
The goal of this course is to build upon and extend the foundation skills in programming for interactive experiences that are presented in Intro. to Programming for New Media and New Media Programming II. The students learn design and programming skills in the first two courses in ActionScript, where many programming fundamentals are handled behind the scenes. This course serves as an introduction to a lower level programming paradigm like C# and strategies for dealing with the larger, more complex programming problems they will encounter as developers. This gives students the option of studying advanced topics in areas such as game development and Rich Internet Applications (RIAs).

Specific Objectives (Learning Outcomes)
By the end of the course, students should be able to:

design and implement software applications that use event-driven graphical user interfaces using appropriate software APIs. Assessment: homework and projects.

describe how exceptions work, explain their uses and employ them in their own designs. Assessment: exams, homework, and projects.

develop programs that read from and write to files. Assessment: homework, exams, and projects.

define inheritance and interface relationships and will be able to appropriately use introductory design patterns in their own program designs. Assessment: exams, homework, and projects.

describe the differences between their introductory language and the language used in this course. Assessment: exams and assignments.

test and debug a program using a development IDE. Assessment: exams and assignments.

Course Organization

A portion of your grade will be based upon your participation in class. This includes: attendance, preparedness, ability to answer questions, ability to perform critical and contextual analysis when called upon, and willingness to interact with the instructor and peers within the classroom.

Homework / Weekly Assignments
Each week, you will be given a combination of readings, informal work (usually finishing an exercise we start together in class), and formal weekly exercises. All homeworks and weekly assignments are due as noted on the assignment. No late homeworks/weekly assignments will be accepted. For some homeworks, we will perform inclass critique, analysis, and debugging.

You will be given two or three major assignments over the course of the quarter. These projects test your ability across several weeks of course material. The due date for projects will be stated on the project sheet. For each day late, the maximum project grade will reduce by a letter grade. Projects submitted after 5 late days will not be accepted.

You will be given a midterm and a final exam in order to test your comprehension of course material. The first part of each exam will be a written evaluation. The written will consist of multiple choice, fill in the blank, matching, and/or short answer. In addition, the written portion may ask short essay questions to ascertain overall concept comprehension. The second part of each exam will be a practical evaluation. The practical evaluation is a guided programming exercise to test your knowledge of key programming concepts.

The course website is located on the RIT myCourses system. You will only be allowed access to the section of the course in which you are registered. You will use myCourses to retrieve class notes, assignments, and supplemental materials.


  • Learning a new language – Differences between introductory and second language
    • General Syntax Differences
    • Data Types
    • Properties
    • The Virtual Machine
  • The development IDE
    • Project Setup
    • Compilation
    • The Debugger
  • Introduction to Program Design
    • Program Design as Art
    • Design Pattern Introduction
    • UML
    • Overview of Development Methodologies
  • Windows Forms or WPF
    • Graphical Construction Tool
    • Partial Classes
    • GDI+
    • GUI Components
  • Events
    • Delegates
  • File I/O
  • Exceptions
  • Interfaces
  • Abstract Classes

The grading scale used along with the grading criteria is as follows:

Component Weight
Participation 5
Homework / Weekly Assignments 15
Projects 40
Midterm I / Practical 10
Midterm II / Practical 10
Final Exam / Practical 20
Range Grade
>= 90.0% A
>= 80.0% & < 90% B
>= 70.0 % & < 80.0% C
>= 60.0 % & < 70.0% D
< 60.0% F


Course Schedule

The schedule for this course will be maintained on the 4080-333 myCourses site.  For the first week, the scheduled readings will be announced in class.


Any or all of the previous information is subject to change or adjustment during the quarter.

bunny by Asa Tse turtle by Asa Tse flowers by Asa Tse psp guy by Asa Tse blow fish by Asa Tse shapes to cat by Asa Tse dinosaur by Asa Tse cute girl by Asa Tse bee by Asa Tse frog by Asa Tse dog by Asa Tse cat by Asa Tse canvas face by Asa Tse duck face by Asa Tse