Printable Version / CPSC 3118
Fall 2006
81314

Course SyllabusCPSC 3118 Introduction to Graphical User InterfacesTR 1:30 - 2:45 PMCCT 405

Instructor / Chris Whitehead, MCSE, Assistant Professor
E-mail:
Office: CCT 441
Office Hours: TR 1:00 - 1:15 PM, 4:30 - 5:45 PM, 7:30 - 8:00 PM, W 1:00 - 2:00 PM
Contacting Me: If you need to discuss something which does not require a face-to-face meeting, please e-mail me. If you need to see me face-to-face but cannot meet during the scheduled office hours, please e-mail me so we can make arrangements to meet at my office at a more convenient time.
Office Phone: (706) 565-3527
Department Phone: (706) 568-2410
Department Fax: (706) 565-3529
Home Phone: (706) 561-2487
Web Site:
Required Textbook / / Title:Starting out with Visual Basic 2005
Author: Tony Gaddis and Kip Irvine
Publisher: Pearson/Addison Wesley
ISBN: 0-321-39399-6
Year: 2007
Recommended Textbook / / Title:The Essential Guide to User Interface Design
Author:Wilbert O. Galitz
Publisher: John Wiley & Sons, Inc.
ISBN: 0-471-084646
Year: 2002
Course Description / Prerequisite – CPSC 2108.
The primary purpose of this course is to provide experience and skills in designing and programming event-driven Windows applications using a visual development environment and tools. The course highlights the use of modern languages such as Visual Basic .NET, C#, and Java to create graphical user interfaces. Extensive lab work and programming required.
Course Objectives / At the completion of this course, students will have an understanding of basic graphical user interface development and "event-driven" programming. In addition, students will be able to:
  • implement basic programming constructs in Visual Basic .NET including the use of variables, arrays, loops, conditional branching, classes, methods, collections, lists, stacks, and queues;
  • use the Microsoft Visual Studio .NET integrated development environment to create Visual Basic .NET applications;
  • create a form and add objects to it including controls and menus;
  • access and write to files using Visual Basic .NET;
  • connect to and manage databases using Visual Basic .NET;
  • debug Visual Basic .NET programs; and
  • implement Visual Basic .NET applications that interface with the Internet/Web.
In addition, upon completion of this course, students will have a basic understanding of the similarities and differences between using Visual Basic .NET, Visual C# .NET, and Java for graphical user interface development.
Assessment Methods / Grades in this course will be based on the following assessments:
  • Midterm exam - 25%
  • In-class participation - 10%
  • Programming assignments - 40%
  • Final Project Proposal - 5%
  • Final Project Implementation - 20%
Final grades will be assigned according to the following schedule:
Percentage / Grade
90 – 100 / A
80 – 89 / B
70 – 79 / C
60 – 69 / D
<60 / F
Student Responsibilities / As a student in this course, you are responsible to:
  • manage your time and maintain the discipline required to meet the course requirements;
  • complete reading assignments prior to the the beginning of each class;
  • attend class regularly and actively participate in classroom discussions;
  • complete assignments by their due dates;
  • abide by documented lab rules;
  • respect the value of the other students' time while in the classroom, this means no surfing the Web or playing games;
  • work with your team to decide on and develop a final team project, and
  • read any e-mail sent by the instructor and respond accordingly.
“I didn’t know” is not an acceptable excuse for failing to meet the course requirements. If you fail to meet your responsibilities, you do so at your own risk.
While in the classroom, students should turn off cell phones or place them on vibrate. In addition, to be respectful of other students' time and money, if the classroom is equipped with computers, playing games and/or surfing the Web is not allowed since these activities can be distracting to other students.
Instructor Responsibilities / As your instructor in this course, I am responsible to:
  • prepare weekly lessons that demonstrate and help students understand the course material,
  • prepare exams that allow students to demonstrate their knowledge of the course material,
  • actively solicit and participate in classroom discussions,
  • grade exams, programming assignments, and the final project deliverables and post scores within one week of the end of the week in which they are submitted; and
  • read any e-mail sent by students and respond accordingly within 48 hours.

Attendance Policy / Attending class regularly is important to your success in this course. If you misstwo or moreclasses in a row, you may receive a WF. If you miss a class, be prepared to obtain all lecture notes, slides, assignments, and other information from other students. If an emergency prevents you from turning in an assignment or taking an exam as scheduled, please contact me to make alternative arrangements.
Tentative Schedule / The following is the tentative schedule for the course. It is subject to change. A current schedule will be maintained in the WebCT Vista calendar.
DATES / READINGS/TOPICS
8/17 - 8/22 / User Interface Design Guidelines
Chapter 1 - Introduction to Programming and Visual Basic 2005
8/24 - 8/31 / Chapter 2 - Creating Applications with Visual Basic
Chapter 3 - Input, Variables, Exceptions, and Calculations
9/5 - 9/12 / Chapter 4 - Making Decisions and Working with Strings
9/14 - 9/21 / Chapter 5 - Lists, Loops, Validation, and More
9/26 - 10/3 / Chapter 6 - Subprocedures and Functions
10/5 / Midterm Exam (Chapters 1 - 6)
10/10 / Final Project Presentation and Proposal Due
10/10 / Chapter 7 - Multiple Forms, Standard Modules, and Menus
10/12 / Fall Break - No Class
10/17 - 10/19 / Chapter 7 - Multiple Forms, Standard Modules, and Menus (cont)
Chapter 8 - Arrays, Timers, and More
10/24 - 10/31 / Chapter 9 - Files, Printing, and Structures
11/2 - 11/9 / Chapter 10 - Working with Databases
11/14 - 11/21 / Chapter 11 - Developing Web Applications
11/23 / Thanksgiving Holiday - No Class
11/28 - 12/5 / Chapter 12 - Classes, Exceptions, Collections, and Scrollable Controls
12/7 / Final Project Presentation and Implementation Due
Supplemental Course Materials / Supplemental course instructions and material will be available through WebCT Vista. You can access WebCT Vista at:

At this page, click on the "WebCT Vista" icon or the "Log-in" link under the WebCT Vista icon to activate the WebCT logon dialog box. Your WebCT username and password are:
Username: lastname_firstname
Password: ddmmyy
where "ddmmyy" is your birthdate: 2 digits for day, month, and year.
If you try the above and WebCT will not let you in, please use the "Need WebCT Vista Help?" link below the WebCT Vista icon on the WebCT home page ( to request help. If you are still having problems gaining access after a few days in the class, please e-mail me.
Once you've entered WebCT, you will see a list of courses you have access to. The CPSC 3118 course is listed as "Intro to Graph User Interfaces - Fall 2006 CPSC-3118-01." If you don't see the "Intro to Graph User Interfaces - Fall 2006 CPSC-3118-01" course in the list, please e-mail me.
Once you have clicked on the course's name and accessed the particular course itself, you will find a home page with links to other sections and tools. Feel free to browse the site to discover what's available.
Programming Assignments Turn-in Requirements / The details concerning programming assignments will be available within WebCT Vista. When you have completed a programming assignment, zip the application's source code and all supporting files (e.g., images) into one file, then upload and submit this one file into WebCT using the Assignments link.
A particularly efficient way to ZIP all the files into one file is to make sure all the files are in one directory, then right-click the directory in either Windows Explorer or My Computer and select "Add to Zip file" (assuming a ZIP program is installed on your computer).
Final Project / You are required to complete an individual final project for this course. You are responsible for deciding on the scope of the project. The project should consist of a programming application in Visual Basic .NET that interests you.
Additional details concerning the Final Project will be provided in WebCT Vista.
Assignment Due Dates / All assignments are due on the day given in the assignment and no later than 11:59 PM (23:59) (Eastern Time).Assignments submitted or modified after the assignment due date will assessed a late penalty as described below.
Late Assignments / If circumstances prevent the timely posting of assignments, please notify me by e-mail within WebCT Vista. Unless you make prior arrangements with me, any assignment submitted after its assigned due date will be considered late. Late assignments may be submitted up to three days beyond their assigned due date. However, late assignments submitted within the three days following their assigned due date are subject to a 10% reduction in points for each day they are submitted beyond the assigned due date. Assignments not submitted by the assigned due date or within the three days following the assigned due due will be assessed a grade of zero (0).
Because of course grade reporting requirements, the final project must be submitted by the assigned due date -- no exceptions! Any final project not submitted by the assigned due date will be assessed a grade of zero (0).
Extra Credit / Extra credit, if available, will be described in the particular assignment in which it can be earned.
Incompletes / If unusual circumstances preclude you from completing the course and you have satisfactorily completed all the other course requirements up until that point, I will award you a grade of "Incomplete" provided you contact me regarding the unusual circumstances and you agree to certain conditions for removal of the "Incomplete." You must, however, contact me and arrange for the Incomplete as soon as you are aware that you will be unable to complete the course and before the last day of class.
Software / All classes will be held in a computer lab in the Center for Commerce and Technology building. This lab has PCs equipped with Microsoft Visual Basic .NET 2005 (a component of Microsoft Visual Studio .NET 2005), which will be our primary development tool. In completing your lab assignments, you will also find Microsoft Visual Basic .NET in the department's tutoring lab as well.
Obtaining MSDNAA Software / Because you are enrolled in a TSYS Department of Computer Science course, you may obtain free copies of certain Microsoft software from the Department for use at home as part of the MSDNAA agreement. The list of available software includes Visual Studio .NET 2003, Windows 2000 Professional, Windows XP, SQL Server 2000, and many others. To obtain the free software, you can pick up CDs from the Department office, download the software, or have the software CDs mailed to you.
Picking up the CDs. If you live or work in the local Columbus area, you can drop by the TSYS Department of Computer Science on the fourth floor in the new Center for Commerce and Technology building and check out a copy of the CDs. If you do not live or work in the local Columbus area, you may either download the software or request the CDs be mailed to you.
Downloading the software. The free Microsoft software is available for download from as part of the MSDNAA agreement. Once the software has been downloaded, it must be installed in accordance with the MSDNAA Agreement ( The account to use to access the download site is:
Username:
Password: ssnXXXX
where "XXXX" is the last four digits of your CSU ID.
If the above account information will not allow you to access the site, click on the "> Forgot Password?" link under the "Log Me In!" button on the home page of the site, then type in your and click on the "Go Find It!" button. If the system still does not recognize you, please send a message to . Be sure to include your in the message.
Requesting the CDs be mailed to you. As an alternative to downloading the software, you may request the software CDs be mailed to you. Simply send an e-mail message to . Include in the message your name, address, and the name and number of this course. Once you have received the CDs, you must install the software in accordance with the MSDNAA Agreement ( Once you have installed the software, you must place the CDs back in the box they came in (or a suitable container) and return them to the TSYS Department of Computer Science. There should be a return label in the box the CDs were sent to you in, but you will have to pay for the return postage.
Student Web Server Space / There may be times when you will want to use an actual Web server for programming assignments, particularly when creating a Web application. All currently enrolled CSU students can request free Web server space on the CSU student Web server. Simply go to and click on the "Free Web Pages" icon, then click on the link to request the account. Under normal circumstances, the account and space will be created in a matter of seconds. If you experience any difficulties during the account request process, please e-mail the CSU webmaster ().
If Web server space is needed on servers other than studentwebs.colstate.edu to support the course work, account information will be provided to you.
Getting Help / Student assistants in the ComputerCenter and in the open lab can help you with basic computer-related problems (such as logging onto the network, saving your work, etc.), but they are not obligated to help you with your assignments. In fact, they typically know very little about Visual Basic .NET programming. Several tutors in the Department of Computer Science lab are also available to help you with the assignments. Their schedule is typically posted in the Computer Science departmental office. Do not ask a tutor to write a program for you. They are instructed to assist you in understanding concepts only.
Academic Honesty/
Plagiarism Policy / Academic dishonesty includes, but is not limited to, activities such as cheating and plagiarism ( Dishonesty/Academic Misconduct). It is a basis for disciplinary action. Any work turned in for individual credit must be entirely the work of the student submitting the work. All work must be your own. For group projects, the work must be done only by members of the group. You may share ideas but submitting identical assignments (for example) will be considered cheating. You may discuss the material in the course and help one another with debugging; however, any work you hand in for a grade must be your own. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together unless otherwise directed by me. For your own protection, keep scratch paper and old versions of assignments to establish ownership until after the assignment has been graded and returned to you. If you have any questions about this, please contact me immediately. For assignments, access to notes, the course textbooks, books and other publications is allowed. All work that is not your own, MUST be properly cited. This includes any material found on the Internet. Stealing or giving or receiving any code, diagrams, drawings, text or designs from another person (CSU or non-CSU, including the Internet) is not allowed. Having access to another person’s work on the computer system or giving access to your work to another person is not allowed. It is your responsibility to prevent others from having unauthorized access to your work.
No cheating in any form will be tolerated. Penalties for academic dishonesty may include a zero grade on the assignment or exam/quiz, a failing grade for the course, suspension from the Computer Science program, and dismissal from the program. All instances of cheating will be documented in writing with a copy placed in the Department’s files. Students will be expected to discuss the academic misconduct with the faculty member and the chairperson. For more details see the Faculty Handbook: and the Student Handbook:
In programming courses such as this, you must be particularly diligent in submitting only your own work. In completing the assignments for this course, you may not copyany other coding from any other source other than the course text and material presented in class. Doing otherwise will be considered plagiarism and will result in the sanctions described above.
Confidentially of Information Shared by Students / CSU does not guarantee the confidentiality of information shared by students in the course environment. Therefore, students should not share any confidential information from employers unless explicitly released for public use.
ADA Accommodation Notice / If you have a documented disability as described by the Rehabilitation Act of 1973 (P.L. 933-112 Section 504) and Americans with Disabilities Act (ADA) and would like to request academic and/or physical accommodations please contact Joy Norman at the Office of Disability Services in the Center for Academic Support and Student Retention, Tucker Hall (706) 568-2330, as soon as possible. Course requirements will not be waived but reasonable accommodations may be provided as appropriate.