Windows Presentation Foundation in C#


Note: This course will be next offered in January, 2008

Course Summary:

Windows Presentation Foundation is a new programming paradigm introduced in Version 3.0 of the .NET Framework as an alternative to traditional Windows Forms programming. WPF effectively permits the separation of user interface design (to be principally implemented by designers) from the underlying functionality (to be implemented by developers) using a new XML variant, XAML. WPF also permits almost any control to host any other control, thereby allowing dramatic user interface designs such as buttons hosting videos or 3D drawings. WPF also permits every control to be built in a scalable fashion so that an entire form -- including buttons, graphics, labels, textboxes and the text which they contain -- can be expanded or shrunken simply by dragging the sizing handle.

Course Outline

Course Syllabus

Course Schedule:

This class is offered both online and face to face. The InClass session will meet every Wednesday night from 6:00 - 9:00 PM beginning January 7.


Charles Petzold, Applications = Code + Markup , First Edition 2007 ISBN: 0735619573

Supplemental Textbook (Choose One)
Adam Nathan, Windows Presentation Foundation Unleashed , First Edition, Sams 2007 ISBN: 978-0672328916

Supplemental Textbook (Choose One)
Matthew MacDonald, Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5 , Apress, Second Edition, 2007 ISBN 978-1590599556

Comments From Former Students:

"This class is teaching something too valuable so I convinced my manager to let me take the week off to catch up and finished this project. Even more, I feel WPF is so important that I am continuing on my own writing WPF/Xaml code to allow the knowledge that I have acquired from your course to mature so that I may demonstrate it to others."

"I really enjoyed taking your class and will be coming in for the ASP .NET class as well in Summer 2005"

"I think this class consolidated and extended what I learnt from DeAnza, plus access to MS SQL... Thanks for being my teacher."

"Thank you for offering such a wonderful course on the internet. It's always an enjoyable experience to have your course, both Perl and this one. Although I took the easy labs, yet they were challenging enough for me to learn a lot. Now I still keep reading other C# books, and try to get some background knowledge for other alternative labs. I think this course should run 2 quarters. I hope I have chance to take your C# web or other course online in the future. Thank you."

"'s really exciting to work on these labs. I'm almost done with lab3E -- It's so cool to practice the DataTable features !! I have learned a lot ..."

PS -- Thank YOU for being a kind, competent and wonderfully attentive instructor. I like how you help out with questions (even as a student, like in COIN 92!)

"it was definitely worth every minute I’ve spent on this project. Have a great 4th July weekend and I will see you at my next class in fall (dunno yet which one to pick). It was a pleasure to attend this class..."

Proceed to Foothill Registration

Instructions for Requesting Late Adds (Only Relevant Starting on the First Day of the Term)

  1. Go to FoothillGlobalAccess and click on Request to Add for my course (CIS-019M).
  2. Wait a little while for me to grant your add code (could be a few hours).
  3. Then go to here, login and enter the reg code.