COMPE 361
Windows Programming
Catalog Description
Design and development of computer applications involving Graphical User Interfaces (GUI) and graphics. C# language, the .NET framework, and the Visual Studio Integrated Development Environment (IDE). Mouse and keyboard programming. Design of interfaces using GUI components (labels, text boxes, list boxes, dialog boxes, scroll bars, menus, toolbars, status bars, etc.). Graphics programming: geometric figures; coordinate systems; coordinate transformations; fonts; images. Timers and animation. Code generators and visual programming.
Credits: 3
Course Coordinator: Leonard Marino
Class Schedule: 3 hours lecture.
Prerequisite by topic: Fundamentals of object-oriented programming, data structures, and computer organization and operation.
Prerequisite by course: CompE260, CompE271
Course Objectives
- Be able to design and develop computer applications involving Graphical User Interfaces and graphics programming.
- Achieve a deeper understanding of object-oriented programming, including use of class libraries, inheritance and polymorphism.
Topics Covered
- Basic Concepts and Perspectives
- Computing Industry History
- Command-line interfaces
- Graphical User Interfaces
- Event-driven operation
- Object-Oriented Programming and Class Libraries
- Static linking
- Dynamic linking
- Integrated Development Environments
- Visual Programming
- .NET Runtime Environment
- Intermediate Language (like Java byte code)
- Just-in-Time compiling
- Common Language Runtime (like Java virtual machine)
- Platform independence
- Language Interoperability
- Assemblies
- Garbage collection
- Exceptions
- C# language and OOP
- primitive data types
- classes and structs
- reference types and value types
- properties
- common root class, Object;
- ToString and Parse methods
- rectangular and jagged arrays
- foreach statement
- indexers
- strings
- inheritance
- polymorphism
- virtual functions
- interfaces
- abstract classes
- enumerations
- reflection
- delegates
- exceptions
- collection classes
- generics
- multithreading
- GUI Programming
- Console Applications
- Windows Applications
- Forms
- Packaging source code: Solutions and Projects
- DLL components
- GUI controls: buttons, textboxes, listboxes, …
- Mouse events
- Keyboard events
- Common Dialogs: Color, OpenFile, …
- User-defined Dialog boxes
- User-defined controls
- Zero-impact installation
- Debugging tools
- Graphics Programming
- Basic structs and classes: Point, Size, Rectangle, …
- Drawing tools: pens and brushes
- Graphics class and drawing methods
- Fonts
- Paint event
- Coordinate systems and transformations
- Timers and animation
- Bitmaps and images
Textbooks
Deitel, C# for Programmers 3rd Edition, Prentice Hall, 2008
References Nagel, et al, Professional C# 2008, 2008, WROX Press
Petzold, .NET Book Zero: What the C or C++ Programmer Needs to Know about C# and the .NET Framework, Version 1.1, available for free download: http://www.charlespetzold.com/dotnetPrepared by: Dr. Leonard R. Marino
Date of Preparation: 01/30/2009
