OREGON INSTITUTE OF TECHNOLOGY

COMPUTER SYSTEMS ENGINEERING TECHNOLOGY DEPARTMENT

COURSE : GUI Programming ( CST-238)

4 Credit Hours (3 Class Hours, 3 Lab Hours)

Professor: Sherry Yang, Ph.D.

Office Phone: 503-821-1292

Office Hours: R 4-6pm and other times by appointment

Office: Wilsonville Room 213

Email:

Quarter: Spring 2014

TEXTBOOK:

1.  Sells, Chris & Michael Weinhardt, “Windows Forms 2.0 Programming”, Addison-Wesley Profession, 2006.

2. Johnson, Jeff, GUI Bloopers 2.0, Common User Interface Design Don’ts and Dos.

SPECIFIC COURSE INFORMATION:

Catalog Description

Introduction to Windows based programming. Topics covered include a review of the standard user interface elements of Windows, the Windows Application Program Interface (API), message processing, writing Windows Procedures, working with text, using Windows resources, creating modal and modeless dialog boxes, and using the Graphics Device Interface.

Prerequisite

CST 211 with C or better and SPE111

Required, Elective or Selective:

Required

SPECIFIC GOALS OF THE COURSE:

Specific Outcomes of Instruction

This course is designed to introduce the basic concepts associated with Graphical User Interface (GUI) Programming in the Windows environment. We will start with .NET framework and windows forms. We might explore other framework if time permits. We will also spend time on various aspects associated with user interface design. Students are expected to complete all in-class lab tasks and assigned coding projects.

COURSE TOPICS:

1: Basics

Writing Windows Forms from Scratch/Windows Form Events and Event Listeners

Windows Forms in Visual Studio .NET

Arranging Form Controls & Application Settings

2: Forms

Form properties: Visibility, Lifetime, Size and Location

Form properties: Adornments, Transparency, and Context Menus

Form properties: Tool Strips, Status Strips, MDI Applications, and Visual Inheritance

3: Layout

Fixed Layout vs. Dynamic Layout

Layout Controls and Optimization

Custom Layouts

4: Drawing

Drawing to the Screen, Colors, Brushes, Pens, Shapes, Paths, Images

Drawing Text: Fonts, Strings, Text Rendering

Page Units, Transforms, Regions

5: Components & Controls

Using Components & Creating Custom Components

Themed Controls, Owner-Drawn Controls

Extending Existing Controls & Custom Controls

6: Design-Time Integration

Design-Time Components, Hosts, Containers, and Sites

Debugging Design-Time Functionality

Designers, Smart Tags

7: Resources/Applications

Strongly Typed Resources

Application Internationalization

Single-Instance Applications

8: Settings

The Application Environment, Application, User, and Roaming-User Settings

Strongly Typed Settings

Designer Settings

9: Data Binding Basics

Simple Data Binding and Item Data Sources

Simple/Complex Binding and List Data Sources

Criterion 3 Outcomes Addressed By Course

3. an understanding of the core areas of software engineering. (data structures, theory of computation, operating systems, compilers, programming languages, computer architecture). (Program Objective A);

9. an ability to convey technical material through oral presentation and interaction with an audience (Program Objective A, C and D);

BRIEF LIST OF TOPICS COVERED:

1.  Forms, Events and Controls

2.  Forms lifecycle

3.  Controls

4.  Drawing

5.  Data Binding

6.  Application Settings

GRADING PROCEDURE:

Tests/Quizzes 30%

In-Class Assignments 15%

Labs/Assignments 45%

Presentations 10%

a. Class participation will be considered in evaluating “borderline” grades.

b. Students who have missed a test may make it up with additional projects.

c. Students must turn in ALL of the labs and complete the project to pass the course with a C or better.

GRADING SCALE:

90%+ = A

80%+ = B

70%+ = C

60%+ = D

59%- = F

LAB SCHEDULE and REQUIREMENTS:

Lab times will be used as help sessions and to check off lab assignments. You are required to complete all of the labs and project to pass the course with a C or better. Failing to turn in all labs and project will receive an automatic Incomplete.

CLASSROOM POLICIES:

1. Every student is expected to attend class on TIME and is responsible for ALL work missed during any absences.

2. Copying another’s work or plagiarism will not be tolerated. Please refer to OIT policy on Student Academic Integrity for more information: http://www.oit.edu/libraries/student_handbook/student_academic_integrity_policy.pdf

3. No make-up exams so please make arrangements with the instructor ahead of time if there is a schedule conflict.

4. No late homework and assignments will be accepted unless you make arrangements with the instructor ahead of time. There will be a 20% penalty per week for all late assignments.

OTHER IMPORTANT INFORMATION

If you may need a course adaptation or academic accommodation because of a disability, or if you might need special arrangements in case the room or building must be evacuated, please see me as soon as possible. I rely on the Disability Services for assistance in verifying the need for accommodations and developing accommodation strategies.

Obstruction or disruption of teaching, research, administration, disciplinary procedures, or other institutional activities, including the Institution's public service functions or other authorized activities on institutionally owned or controlled property is strictly prohibited by Oregon Tech’s code of student conduct and may result in disciplinary action.

Please be advised that this class may be recorded. If you would like permission to record this class you must speak with the instructor.

4