CSE 483 Windows Programming

Barbara Nostrand, Ph.D.

Electrical Engineering and Computer Science


Syllabus

Time & Place:  MW 2:15 - 3:35 LINK 201
Final Examination Period:  WEDNESDAY MAY 07 @ 8:00-10:00 AM
Instructor:  Barbara Nostrand
Voice:  x3029
Email:  bnostran@syr.edu
WEB:  http://www.deMoivre.org/courses/CIS351/
Office:  4-293 CST
Office hours: Mo - Th 10:00 - 11:00 AM

Catalog Description

Design and implementation of Windows 32-bit applications.  Windows API techniques and Windows MFC techniques will be presented.  This is a projects course. 

Prerequisites

CSE 382 or CIS 351. 

Course Description

A project-based introduction to the design and implementation of software systems for execution in the Microsoft Windows environment.  The course will be programming/project based with a midterm and a final project (quizzes and written homework are possible,  but not likely).  Student project teams will design and implement a major software system.  These systems will typically be 2-D computer games. 

This course investigates the theory and practice of developing computer games from a blend of technical,  aesthetic,  and cultural perspectives. Technical aspects of game architecture include:  software engineering,  artificial intelligence,  game physics,  computer graphics,  and networking.  Aesthetic and cultural aspects of design include:  art and modeling,  sound and music,  psychological factors,  and game balance. 

Course Objectives

This course is designed to help prepare software engineers for designing and implementing interactive C++ applications for the Microsoft Windows operating system.  Emphasis will be paced on designing intuitive and ergonomic human/computer interfaces and efficient use of system services. 

  1. To explore selected interface design components and programming techniques used within a major systems software package,  including both traditional and object-oriented features. 
  2. To master fundamental application programming knowledge necessary to create applications for such an environment.  In the process of accomplishing these objectives,  the student will gain introductory experience with: 
    1. Programming interactive windows,  icons,  mouse I/O and pull-down menus. 
    2. Using large libraries of precompiled system functions. 
    3. Using large system object libraries. 
Upon completing this course,  you should be able to: 

Special Considerations

Windows programming is a highly complex and demanding subject that has been called a “black art” by some.  Software developers typically allocate four months of full-time training to new Windows programmers in order to bring them to the point where they can be marginally productive.  While it is not possible to cover this amount of material in one university course,  we will cover enough of the basics to allow the student to learn the remaining topics on their own.  To have any chance at all of passing this course,  students should plan to devote at least three hours outside of class for every hour spent in class.  Students should read the assignments before coming to class.  You should run all example programs in the text or posted to the course web page before coming to class.  During class,  we will assume that everyone already knows what these programs do.  We will devote class time to understanding how they do it. 

Subject of this Course

Units covered:

CE-CSE7 Project management  1 Core hours (of 2)
CE-HCI0 History and overview  1 Core hours (of 1)
CE-HCI1 Foundations of human-computer interaction  2 Core hours (of 2)
CE-HCI2 Graphical user interface  2 Core hours (of 2)
CE-HCI3 I/O technologies  1 Core hours (of 1)
CE-HCI4 Intelligent systems  2 Core hours (of 2)
CE-HCI5 Human-centered software evaluation   2 hours
CE-HCI6 Human-centered software development   2 hours
CE-HCI7 Interactive graphical user-interface design   2 hours
CE-HCI8 Graphical user-interface programming   2 hours
CE-HCI9 Graphics and visualization   2 hours
CE-HCI10 Multimedia systems   2 hours
CE-PRF7 Event-driven and concurrent programming   2 hours
CE-PRF8 Using APIs   13 hours
CE-SWE2 Software requirements and specifications  1 Core hours (of 2)
CE-SWE3 Software design  1 Core hours (of 2)
CE-SWE6 Software tools and environments  1 Core hours (of 2)

Class meetings

Please be sure to attend the correct session of this course. Class time will be used for lecture, discussion, and other challenging activities.  Attendance is required, both physical and mental.  Full participation is expected.  Reading assignments are to be completed before coming to class.  This will better prepare you for asking questions in class, and will facilitate discussion.  Generally, the first meeting each week will be devoted to lecture and discussion and the second class meeting to quizes and discussing programming assignments.  You are expected to complete all homework assignments and projects individually. 

Course Materials

Homework Projects

In this course, you learn by doing. Thus, you will be asked to complete homework projects on a regular basis. Each homework project is designed to develop your individual problem solving skills.  Thus, these projects generally use concepts and techniques previously practiced in a laboratory project and involve much less "hand holding" than was provided in the laboratory project.  All of the homework projects are posted to the web site and should be submitted by the end of the day on the day shown on the schedule.  While you are encouraged to work on laboratory projects with a laboratory partner, you must complete homework projects individually. 

Examinations

There will be one midterm examination.  This examination will review .NET concepts.  The final examination period will be used for final project presentations.  You must attend the final examination period in order to pass the course.  You must receive a score of 65 or better on a 100 point scale on the midterm examination to receive better than a D for the course.  More information will be posted on the web as the examination date nears. 

Make-up work

Make-up work will be given/accepted only under the following conditions:

  1. Someone close to you is very ill, dying, or has died.
  2. You are very ill, dying, or have died.
Verification of just cause and advance consultation with the instructor are required before any make-up work will be considered.  Non-medical "emergencies" will be considered on a case-by-case basis. 

Grading Policy

Deliverables
Term Project 500
Homework 200
Examinations 200
Class Participation 100


Grade Distribution
1000-930 A 4.00
929-900 A- 3.70
899-870 B+ 3.30
869-830 B 3.00
829-800 B- 2.70
799-770 C+ 2.30
769-730 C 2.00
729-700 C- 1.70
699-600 D 1.00
599-0 F 0.00

Collaboration and Academic Integrity

The Syracuse University Academic Integrity Policy holds students accountable for the integrity of the work they submit.  Students should be familiar with the Policy and know that it is their responsibility to learn about instructor and general academic expectations with regard to proper citation of sources in written work.  The policy also governs the integrity of work submitted in exams and assignments as well as the veracity of signatures on attendance sheets and other verifications of participation in class activities.  Serious sanctions can result from academic dishonesty of any sort. 

Restricted material: Solution guides, pre-written essays and similar materials are "restricted materials". Using such materials will be considered a violation of academic honesty.  You can use any publicly available software library or design tool to help you with your work provided that you are not violating copyright or other legal restrictions or are substantially appropriating a complete piece of software.  If you find a useful design or analysis tool,  please report it to the entire class during the first available project day.  Please be careful to credit the design tools and software libraries that you use in your project documentation. 

Academic Honesty: If a breach of academic integrity is discovered,  all involved students will receive a 0 for that assignment or exam.  This may alter your course grade even if a course grade has already been assigned and recorded by the registrar.  Further infractions will be dealt with according to college policy. 

Special Needs and Disabilities

Syracuse University's Office of Disability Services authorizes special accomodations for students with disabilities.  If you believe that you are a student who may need academic accomodations due to a disablity,  you must register with the Office of Disability Services (ODS) at 804 University Ave.,  Room 309,  443-4498 or 443-1371 (TDD only).  Please see me during office hours as soon as possible to discuss your needs.  For more inforamtion about services available to you,  please consult the Ofice of Disablity Services.  http://disabilityservices.syr.edu

Formal Attendance and Lateness Policy

Absences: Unavoidable absences do not excuse students from responsibility for course material.  Following a class absence,  you must contact the instructor and attend the next regularly scheduled office hour to receive additional make-up assignments.  These assignments will contribute to the Homework/Quiz/Lab portion of the final grade.  Failure to contact the instructor or turn in the make-up assignment on time will result in a grade of zero for that assignment.  This policy is in effect for unexcused as well as officially excused university absences (e.g.  illness,  religious obligations,  etc.)

Late assignments: Laboratories and projects are due by the end of the day assigned in the schedule.  Late assignments will loose 10% during the first week that they are turned in late,  and will loose an additional 10% for each additional week that they are late.  In case of officially excused absences,  late assignments will begin to loose credit on the day following return to school.  No late work will be accepted after the deadline posted in the schedule

Final Examination: Attendance during the Final Examination period is mandatory.  Students failing to attend the scheduled final examination period will receive a failing grade for the course. 

Statement on Alcohol and Substance Abuse

The mission of the university is to educate the whole person.  As an educator,  I am concerned about the wellbeing of my students both in and out of the classroom.  A student who comes to my class while under the influence of alcohol or other drugs,  or the after effects of that usage,  cannot think critically,  nor can they participate meaningfully.  Any type of intoxication or its effects will not be tolerated in my classroom.  If you think you may be having a problem with alcohol or other substances,  please resach out to a member of our university community for help. 


Notice: Policies in this syllabus are subject to change as deemed necessary by the instructor.
Last modified: 2008 JAN 13
bnostran@syr.edu