| CS 350 Syllabus - Spring 2006 | |||||||||||||||||
|
|||||||||||||||||
Instructor Dr. Bonnie McVey
Office: Cofrin 310 Phone: 920.403.3471 Office Hours: MW 2-3, TTh 9-10, F 8-9
and by appointmentEmail: bonnie.mcvey@snc.edu
Course Meetings
Lecture: MWF, 11 - 12:10pm, Cofrin 203 Labs: Thursday, 3-5 pm, Cofrin 108
Texts
Required:
No specific text.
Reference:
MFC VC++ 6.0
MFC Programming from the Ground-Up, Schildt, Microsoft, 2003.
Programming Windows with MFC, Prosise, MicroSoft Press, 1999.
Introduction to MFC, Deitel & Deitel, Prentice Hall, 2000.
MFC and Windows Forms in Visual Studio.Net
Visual C++.NET: Step by Step, Templeman and Olsen, McGraw-Hill, 1998.
Special Edition: Using Visual C++.NET, Gregory, QUE, 2002.
Win 32
Windows Programming with C++, Hansen, Addison-Wesley, 2002.
Programming Windows, Petzold, Microsoft, 1998 .
Win32 Programming, Rector & Newcomer, Addison-Wesley, 1997.
Flash
TBA
Required Background
You need to have successfully completed CS 205 or an equivalent course elsewhere. What this means is that you need to understand classes, inheritance, virtual functions, polymorphism, dynamic memory allocation as well as all the basic expressions and statements. Some of you may have some experience with Windows and/or event programming, but none is assumed.
Course Objectives
At the completion of this course, you will be able to write event programs using a variety of platforms. You will be able to write programs that are event driven rather than programmer-driven. We will primarily be using C++ but we will also use a explore programs in another language. Whatever the language, the principles involved are the same.As a side benefit, you will gain lots of experience in good programming practices, software engineering principles, object design and manipulation, and developing user-friendly interfaces. I look forward to trying some of the creative applications that you will produce this semester. As always in programming, practice and attention to detail are keys to success. Enjoy!
Schedule/Topics (approximate)
Message queues, menus, common and classic controls, system metrics, modal and modeless dialog windows, frame windows, parent and child windows, GDI, communication among windows, SDI applications, MDI applications, various views, serialization, use of timers and callbacks, ...
Grading
NOTE: If the average of your four exam scores is below 68, then your Labs, Homework, Programs, and Project/Presentation cannot be used to increase your course grade.
Midterm Exams (2) 40% of course grade Comprehensive Final Exam 20% of course grade Labs, Homework, Programs, Project/Presentation 40% of course grade Cutoffs: 93 - A, 90 - AB, 83 - B, 80 - BC, 70 - C, 68 - CD, 60 - D
Course Documents
Check website http://www.snc.edu/compsci/cs350/ often for course news, assignments, hints, corrections, solutions, etc
Policies
Important Dates
January 26 (Thursday) Drop/Add Deadline February 27 (approximate) Exam 1 March 3 Mid-Term Reports March 11 - 19 Spring Break - No Class March 29 (Wednesday) Advisement Day - No Class April 4 (Tuesday) Advisement Day - No Class April 5 (approximate) Exam 2 April 6 Last Day for Course Withdrawal April 14 - 17 Easter Weekend - No Class May 5 Last Day of Class May 11 (Thursday) Final Exam, 2:15pm - 4:15pm
Other
If you need course adaptations or accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible.
Read books, ask questions in class and in office hours, work hard. Programming is both fun and frustrating and there is no substitute for practice. You are already aware that it can take hours to find an error or it can take minutes, so start assignments early. Please know that I want you to do well, but the choice to succeed is made by you.
As many of you know, I came to SNC in Fall 2000 as a theorist. My graduate courses other than requirements were based in theory. The courses that I taught at BSU were introductory or theoretical. I taught CS 350 for the first time in Spring 2001 and have thoroughly enjoyed studying and learning this material. The second time through the course (Spring 2003) differed significantly from the first for I learned how to better organize the material and how to anticipate difficulties. I look forward to this semester and the opportunity to learn more with you. Enjoy!