CECS 381 - Fall 2006
Graphical User Interface Programming

Course Outline and Syllabus
Instructor - Joel Carissimo



 DOTNet  Slides (72 MB)

Back to Joel's Home Page


Class Schedule and Assignments (Check the day before lecture for updates).

Blue Font means that the schedule is definite. Black Italic font means that the schedule is tentative.

Week  Assignment / Instruction
1 -  8/29 and 8/31  Reading: Ekedahl, Chapter 1
Lecture: Introduction to the .NET Framework: Common Language Runtime, Managed Code, Intermediate language, etc.  Course logistics, getting help in Visual Studio, opening and organizing a solution, tool windows in the MDE, introduction to controls and forms. Much of the material in the first two chapters of the book is not important for this class. In particular, we will not be running any "Console Applications." You are responsible only for the material in the first two chapters that is covered in class. However, I suggest that you read all the material in both chapters for background.
Assignment 1 - Hello - (25 Points): Get the "Hello World" application to run as shown in class. Download the executable demo:  Hello1.exe
2-    9/5 and 9/7  Reading: Ekedahl, Chapter 2, Begin Chapter 3
Lecture:
Introduction to the .NET Framework: Common Language Runtime, Managed Code, Intermediate language, etc.  Course logistics, getting help in Visual Studio, opening and organizing a solution, tool windows in the MDE, introduction to controls and forms. Much of the material in the first two chapters of the book is not important for this class. In particular, we will not be running any "Console Applications." You are responsible only for the material in the first two chapters that is covered in class. However, I suggest that you read all the material in both chapters for background.
Assignment 2 - PictureBox - (25 Points):  Hands On Program 3, page 214. Be sure that I cannot 'crash' the program by selecting an improper file (check out page 635 in the book). You should work through the 'Application Lesson' beginning on page 193 of the book before starting this assignment.
3 - 9/12 and 9/14 Reading: Ekedahl, Finish Chapter 3
Lecture: Introduction to the design of a user interface; controls: label, text box, command button, open file dialog, picture box; properties, methods and events of controls as objects; tool tips; setting properties at design and run time; the IDE solution explorer, object browser and properties windows.
Assignment 3 - Stoplight - (25 Points) - Complete Hands On Program 1, page 211, as described in the book. Then modify the program so that the traffic light cycles from red to green to yellow each XX milliseconds. To see the finished program, after my  modification is complete, download the zip file StopLight.Zip which contains Stoplight.exe and 3 icon files that the executable program requires. 
4 -  9/19 and 9/21 Reading: Ekedahl, Begin Chapter 4
Lecture: The concepts of data types and a strongly typed language; data types available in VB and all DotNet languages; Value versus reference types; variable lifetime, scope and accessibility; type conversions; option explicit and option strict; the imports statement; intrinsic functions; tab order of controls.
Assignment 4 - House Pymt - (25 Points) - Complete Hands On Program 3, page 288, as described in the book. When you're finished, make sure that your results agree with what you get when running Project 3 in the 'Hands On' downloads.
5 -  9/26 and 9/28 Reading: Ekedahl, Finish Chapter 4, Begin reading Chapter 5.
Lecture: The concepts of data types and a strongly typed language; data types available in VB and all DotNet languages; Value versus reference types; variable lifetime, scope and accessibility; type conversions; option explicit and option strict; the imports statement; intrinsic functions; tab order of controls.
Assignment  (will not be turned in): First, As you read through Chapter 4, open the Concept Lesson from your student downloads and run it. Look through the code of the program to see how various results are calculated. Second, complete the application lesson. From your book on page 273: "Instead of creating this application from scratch, the data files accompanying this book contain a partially completed application that you will complete in the hands-on steps in this application."
6 -  10/3 and 10/5 Reading: Ekedahl, Chapter 5; Parts of Chapters 6 and 13.
Lecture: Introduction to menus (pp. 823 - 830); introduction to multi-form projects (pp. 367 - 376). The concepts of data types and a strongly typed language; data types available in VB, in particularly the character data type (Char), the string data type, the DateTime data type, the TimeSpan data type; string manipulation methods, calculations on variables of data type DateTime.
Assignment 5 - Car Rental - (25 Points) - Page 350, Hands on Project 3. The executable file in the downloads for the book does not work properly. Download a version that works correctly called Rental. Although this version works, it does not present a particularly attractive appearance - see if you can improve the way it looks.
7 -  10/10 and 10/12 Reading: Ekedahl, Finish Chapter 5.
Lecture: The concepts of data types and a strongly typed language; data types available in VB, in particularly the character data type (Char), the string data type, the DateTime data type, the TimeSpan data type; string manipulation methods, calculations on variables of data type DateTime.
Assignment 6 - Name Formatter - (50 Points) Download NameFormatter.EXE to see how the program needs to function. You will need to use the string manipulation methods described in Chapter 5 in order to complete this assignment (which is not in the book).
8 -  10/17 and 10/19 Midterm Exam, Tuesday, October 17 -  There will be a written part covering the first  five chapters in the book and lectures; there will also be a programming part. One program will involve string manipulation. The written part will be closed book, the programming part will be open book. Be sure that you have set up your printing account before the exam.
9 -  10/24 and 10/26 Reading: Ekedahl, Chapter 6, Pages  353 to 382 only. The remainder of the Chapter goes into a detailed discussion of creating classes. If time permits, we will return to this section.
Lecture: Procedures: Subroutines and Functions; procedure arguments: ByVal and ByRef; Applications with multiple modures; creating and displaying forms; form events; hiding and closing forms; communicating data between modules.
Assignment 7 - Grade Calculator - (50 Points) Download Grade.EXE to see how the program needs to function.  The point of this exercise is to get some practice using procedures and functions. You need to write a function named 'IsValidID' which returns True if the Student ID is valid and False if it is not. The ID must contain 13 characters: The first 4 characters store the year of birth, the fifth and sixth characters store the month of birth, and the 7th and 8th characters store the day of birth. To be valid, the date must be at least 5 years prior to the current date, the month must be between 1 and 12 and the day must be between 1 and 31. The last 5 characters of the ID cannot be validated. All grade values must be between 0 and 100. Check to make sure that the last name is entered in proper case format.  Finally, you must write a subroutine with 5 parameters called 'Grade'. The first 3 parameters will be the test scores, the 4th and 5th parameters (which are the 'answers') will be the calculated average and letter grade.
10 -  10/31 and 11/2 Catch Up Week - Lab Only
11 -  11/7 and 11/9 Reading: Ekedahl, All of Chapter 7.
Lecture: Decision making: Boolean data type; IF and SELECT CASE statements; logical operators; message and input boxes; input validation; structured exception handling. New controls: check boxes, scroll bars, group boxes, radio buttons.
Assignment 8 - Property Taxes - (50 Points) Hands on problem 2, Pages 492 and 493 in book. Validate all input when the 'Calculate' button is pushed. If anything is incorrect, do not perform the calculation; notify the user with a message box.
12 -  11/14 and 11/16 Reading: Ekedahl, Finish Chapter 7; Begin Chapter 8. Skip pages 515 - 527 (Collections).
Lecture: Repetition with loops and lists; Do and For loops, generic collections to locate items in a list, ListBox and ComboBox controls, the DataGridView control.
Assignment 9 - Tax Grid - (75 Points) Hands on problem 3, Page 561 in book. Download GRID.EXE to see how the finished program should work (the file downloaded for the book does not work correctly).
13 -  11/21 and 11/23 11-21 - Tuesday - There will be no lecture on Tuesday - I will be available for questions and/or demos in the lab.
11/23 - Thursday - Campus Closed - Thanksgiving
14 -  11/28 and 11/30 Reading: Ekedahl, Finish Chapter 8; Chapter 9 Pages 569 to 589; Read all of Chapter 10
Lecture: More controls which allow users to select files and directories; structures, reading and writing sequential files.
Assignment 10 - (75 Points and The  Last Assignment) - Sensor Data Analysis  Hands on Project 1, Page 690.
15 - 12/5 and 12/7 Reading: Ekedahl: Chapter 9 Pages 569 to 589; Chapter 10
Lecture: Arrays and structures, reading and writing sequential files;
Work in Lab, Program Demonstrations.
16 -  12/12 and 12/14 All program demos must be completed by 3PM on the 12th.
Final Exam will be on Thursday, 12/14/2006 starting at 2 PM.
  There will be no written part, only a programming part. The exam is open book.
   
   
   
   

Back to Joel's Home Page


This document was last updated on December 1, 2006