Spokane Falls Community College
CS223 - Introduction to Visual Basic Winter Syllabus

Instructor: Paul Lecoq - Office 18-112A

ph# 533-3793

Back to home page

LEARNING OBJECTIVES:
By the end of this course you should be able to create Visual Basic programs for a wide variety of applications using forms, objects, functions, procedures, arrays, and disk files. You will also be able to access a data base through Visual Basic.



BACKGROUND & DISCUSSION
Visual Basic has automated some of the most sophisticated and difficult problems in writing programs: Specifically, the user interface. Rather than long drawn out algorithms to collect and validiate inputs, event driven objects do most of the work so you can concentrate on creating very user-friendly applications.
Course schedule
Week # Reading Topics Assignments Due Dates
  In The Beginning Introduction, Background, and Overview Assignments are due on the Monday of the week in which they are noted here. Late assignments may be docked up to 50%
#1 -

20 Sept

Ch 1,2 Warm and fuzzy week

General introduction to VB
Use several controls
Be exposed to decisions

end of chapter prog Exercises

Asgt 0:Last Name First

Asgt 1: Assignment cover sheet

Bring work to class
#2 - 

27 Sept

Ch 3 Let's get serious about VB

VB Syntax
Variables, constants & calculations

 

Asgt 2.  English - Metric Temperature conversion program

due 12 April

Bring work to class

Asgt 1

         
#3

4 Oct

Ch 4 VB Syntax

Decisions and Conditions
Objects
Coding for events

Please read this page on event driven programs

Assgt 3 Loan Payment Calculator

Asgt 4: Payroll Calculator see info below. 

Due 19 April

Asgt 2 
#4

11 Oct

Ch 5,6

 

Menus, subs, functions, OOP

Asgt 5: Rental Form

 Asgt 6: Perimeter & area 
due 26 April

 Asgts 3,4
#5

18 Oct

Ch 7
just a little of 8

Read the appendices

Lists, Loops

asgt 8: String Parser

Due 3 May

Note:  This is out of order

Asgt 5

Asgt 6.

#6

25 Oct

 

Ch8

 

Repetitive structures  - loops 
Arrays
Additional structures
Review and Midterm exam with take-home asgt

asgt 7 Simple data base program
due 10 May

 

Asgt 8

#7 -

1 Nov

Ch 9,10 Web Forms
Data Base connections

Asgt A-9 Test Administrator
due 17 May

Group leaders start asgt 10

Asgt 7
  Apply what we have learned to real world problems. Really get serious about VB Put  most of our efforts into finishing our applications  .
#8

8 Nov
Mon,Tue only
 

CH 11,12,13 File I/O
Graphics, Adv. Stuff

 

Asgt 10 begins: Final Project - Hospital multi-form project

10- Group leaders present RQMTS
#9

15 Nov

 

  Data base programming
Data Base Project

 

  Asgt 9

 

#10

22 Nov*
Mon, Tue only

  ASP.NET ***
If we have time
   
#11

29 Nov

  Finish everything off  

10 completed
Everything turned in

Monday
6 Dec
 

Class project demonstration

   
  . .Final Exam
Thursday, December 9, 2004
   



Evaluation Criteria:
Since mastery of a programming language means that you can create programs/applications in that language you will be evaluated primarily on how well your programs work and how easily they could be maintained through the projects/assignments you turn in. The exams will sample the depth of your understanding of the material presented in this course.
Criteria for grading Exams: . .Assignment Grading: . Course Grading:
92 % - 100 % = A   Correct/Actual Program Code = 50%   One Test = 200 pts
85 % - 91.9 % = B   Documentation/Style = 25%    Seven assignments = 500 pts
75 % - 84.9% = C    Test Plan = 25%   Attendance & participation = 100 pts
68 % - 74.9% = D    Late assignments may be docked up to 50%    You must turn in all assignments to receive a passing grade.
Below 68% = F        


 

Attendance policy:  I will take attendance about once per week.  Five absences is too many.


Programming rules for Phase II and Phase II
The week the program is assigned you will turn in a program specification for the assigned program.
The program must be handed in by the due date as hard copy with the following:

- Assignment ID and title exactly as shown in the syllabus
- Program specification -- If this is different from the original, all changes will be noted explicitly with reasons for the changes.
- Program test plan -- How are you going to test the program to show that it properly performs per the specification and the results of the test.
- Program hard copy with annotating comments -- Complete program with source text and screen images -- NOT "Form as Text"!
- Disk with program in its own folder -  This will be returned within one week


Specification Requirements:
Each assignment will be formatted as follows:

'Assignment 2 A   Exact title of assignment                Without these, I will return your program

'Your name        Visual Basic       Date                        and you will have to resubmit properly

'Brief description of what the program does

You will hand in:

  • A hard copy of the program code (with the above header)
  • A hard copy of the program screen showing active data
  • Proof that the program works - a test plan

Beginning with assignment 2:

  • Annotate your program with sufficient comments
  • Comment every decision
  • each sub or function or method will include a descriptive comment
  • Document as if you were turning over the program for someone else to maintain


Test plan
Each chapter in the book has a complete case study demonstrating the program development process from analyzing the problem to coding the final product. The specific layout and formatting is up to you. The following items are expected in your test plan:
- For each input (text box, button, slider, etc), a list of values to test all its ranges
- i.e. if the acceptable range is from 7 to 25 inclusive then you will need a value less than 7, a value between 7 and 25, a value greater than 25. In this case it would be good to also use 7, 25, 0, and a negative value, and a positive value between 0 and 7.
- The expected response/output for each input.
- The expected reports based upon the inputs given.


Source Code Format: The source Code must have (Here is an example In Word 97 Format):
- Module definition - The title and purpose of each module in the program In comments!
- Program documentation - Sufficient documentation to make the structure of all code very clear to someone other than the programmer. Especially the decisions.
- Naming conventions - All objects and variables will be named with meaningful names. "Text17" is not a meaningful name! txtLastName is.
- Format for printing - All printouts of source code should use the font "Courier New" with a point size of 10. Print in landscape (11 inches wide by 8.5 inches tall) and not portrate (8.5 inches wide by 11 inches tall). the Code should be be on the left side of the page and most of the comments in your code should be on the right.
 


Assignment 1   Cover sheet for assignments

grade report form -

Create a program which you can use this quarter to produce a cover page for all your assignments.  The format should look something like this:

Visual Basic Project       CS-223

Project # 1          Project name  Cover Sheet

                                                                Wolfgang Wu

Date 3-3-03

Score:    ______________   _______________   ____________
              Content                    Style                         Total

Write the program so that you can call it up and enter the important information for each subsequent assignment.  Then you can print the cover sheet and attach it to the hard copy of your project.

 



Assignment 2  Temperature conversion program with slider:

Part A  --  Create a program with a slider control/scroll bar which selects a temperature between - 40 and + 451 degrees Fahrenheit.
As the temperature is changed via the scroll bar, display the Fahrenheit and equivalent Celsius temperature in text boxes.
As the temperature changes, change the background color of the form from blue (cold/Below freezing) to light grey (between freezing and boiling) and Red (Boiling and above).

Extra credit:   Make the program convert both Fahrenheit to Celsius or Celsius to Fahrenheit

Part B --  Create a program similar to part A but which gives the user several choices of conversions.  The user should be able to convert in both directions, english to metric and metric to English. 

Include conversions for pounds/KG, Inches/meters, Miles/KM, & quarts/liters.



Assignment 3 

Loan Payment Calculator  

  • Create a program interface with the following input areas:
    Sale Price
    Down Payment
    Annual Percentage Interest rate (%)
    Number of monthly payments
  • Your program is to calculate and display the following:
    Loan amount
    Monthly payment

One button "OK" initiates the calculation
Another button "Clear" empties all the data areas on the form to get ready for another calculation
A third button "Exit" causes the program to halt.

Your program must check the down payment to assure that it is less than the sale price, the annual Percentage Interest rate to assure that it is between 0 and 20%, and the number of payments to assure that it is in the range of 1 to 46.

The equation for this calculation is
                         Loan Amount * Monthly Interest Rate
            Pmt= -----------------------------------------------------------
                        1-(1+ Monthly Interest Rate) ^ -number of payments 




Assignment 4 ----  Salary calculator      --- 

Set up a screen that would be appropriate for a timekeeping clerk to enter the working hours for an employee.

Your program will provide a list box with the valid employee numbers and names of the employees.

The program allows the clerk to click on one of the list items to transfer that employee's name and number to the form.  the remaining information will be typed into the form by the clerk.  Include at least the following information:

Number of hours worked each day Monday through Sunday.
Any hours that should be counted as overtime but wouldn't normally be calculated as overtime for the week
Hourly rate of pay
% deduction for taxes

Your program should calculate hours worked and amount paid as follows
    0-8 hours per day straight time   over 8 hours in a day overtime.
    Saturday and Sunday hours are overtime
    Under special circumstances as determined by the clerk, some hours that might normally be paid as
        straight time may be paid as overtime.

Calculate the gross pay at the hourly rate for straight time and time and a half for overtime.
Deduct for taxes and a standard 1.5% for insurance

Print the results in the form of a check stub.  (On the screen is fine)




Assignment 5  --- Yacht rental agency Rental form
Page 327, problem 7.3




 

Assignment 6   ---  Area Calculation program.

Write a program that will give the user the choice of circle, square, rectangle, and triangle.  When the user chooses one of these, allow the entry of the appropriate size parameters (lengths) then calculate and display the area contained in the shape. 

Extra Credit:  Draw the shapes to scale.

 



Assignment 7  --  Simple data base program

Create a simple data base with one table.  Use Access as needed
    A sample table will be provided

Create a program which accesses the data base and displays it in a data grid.

Display key fields in text boxes.

 



Assignment 8   --  String Parser

Write a program that will accept a line of words (perhaps a sentence) and separates each of the words into an array when the user clicks on the button <parse>.

When the user clicks on the button <Display> the words will be transferred from the array to a list box.

  • Sentence delimiters:      .  ? !
  • word delimiters            < > space  ,.;:'?" !




Assignment 9  --  Test administrator -- Define details in class  Program Part 1:

Do this program from a data base


Create a program to give and grade quizzes (Students are to pair up with a fellow student for this assignment).
-- Create and utilize a User Defined Data Type (UDT) to store the question, four answers as strings, and which is the correct answer.
-- There must be at least 15 Questions.
-- The questions must be given in a random order without repeating a question.
-- Give score and grade to students once the quiz is done.
-- You may pick the topic of the quiz.



Assignment 10  Final Project - Employee timekeeping Information System: (or other assignment at the discretion of the instructor)
Assignment 7  Final Project - Employee Information System:

Note:  The instructor will consider alternative projects if one or more students would like to suggest one.

 
SPECIFICATIONS
This program will operate as two component parts which work together.  We prefer that you create these programs in groups of two or three students.  This probram must use an ADO data base for storing and retreiving data. 

Administrative program:

this program will allow administrators to create a database table of employees which includes their normal shift hours, rate of pay, names and social security number.  A separate "in_out" table of "punch-ins" and "punch-outs" is maintained by the user program as employees come to and leave work.  This table also includes fields for Hrs Worked and for YTD Hrs Worked.

The administrative program will go through the "in_out" table and for each employee, posts the hours worked this week and adds to YTD hours worked.  It will also generate a hard copy report of each employee's hours worked.

User program

This program displays a list of employees when running.  Any time an employee clicks on his name, the User program will post the enter/leave entry with the current time to the "in_out" table.  

The presentation of the list of employees will include a place to click for beginning a shift (punch in) or leaving a shift (punch out).   

MILESTONES:
Milestone 1 - Diagram of the data structure used in the program and in the file(s).
Milestone 2 - The user interfaces for both programs (their look and operation).
Milestone 3 - A preliminary test plan and Pseudo-Code for each of the programs
Milestone 4 - Present the program to the class and explain how it works.

FINAL PRODUCTS :
-- Screen Prints.
-- Source Code.
-- Pseudo Code.
-- Test Plan.
-- Results of testing against plan.
-- List of who worked on what part of the program.
-- All of the above on a Floppy Disk (if there is not enough room on one floppy disk, put the program on one floppy and everything else on a second floppy disk)
-- A short, one page (about 500 words) from each person on what they learned from this assignment.



Back to home page