Project Assignment

CS 1130 Visual Basic Programming

Overview

For the course project, you are to create a program that satisfies your personal needs or interests, to think about how Visual Basic may be used to solve a problem in your major field of study. You may already have an idea for an application that you have always wanted or needed. You may choose to create an original program, or you can choose to emulate some software that you already use.

All projects are to be completed individually or in pairs. Students working in pairs are required to take the final exam. Partnerships must be established prior to beginning work on the project. Whether working individually or with someone, you are encouraged to speak with classmates, friends, and me (your instructor) about your project—what to do, how to do it, etc.

We will (eventually) see some problems in class that are examples of problems that could be developed as projects—a pizza ordering app, a text-analysis toolbox app, a Yahtzee game manager, an arithmetic drill and practice program. Some of the projects completed by students in the past are: ticket selection program, calorie counter & diet analyzer, attendance and grade book app, golf tournament organizer, a roulette game, and an app to keep track of exercising. Additionally, you may be interested in blending Visual Basic and MS Excel or MS Access as your project (I don't have any experience there but am willing to learn with you). Whatever project you choose, the expectations indicated below will need to be met. Feel free to discuss your project with me mostly outside of class (I try to reserve class time for activities or questions of import to most students).

There will be four graded components of the projects—proposal, check-in, project, project report. The general expectations and the four components are discussed below. Combined, they will count for 40% of the course grade.

Specifications

This project should highlight and demonstrate your mastery of the skills and concepts we explore in this class. While the general topic is your choice, your project is expected to meet certain requirements. Specifically, your program should accomplish/include the following:

It may be okay to not have all the above elements if your project clearly does not need to make use of them and it is complex enough to make up for the deficiency. Please check with me to verify that is the case on your project (to avoid a grading deduction).

Additionally, you are to demonstrate your understanding of programming style/documentation by using reasonable names for projects, forms, form controls, variables and subroutines and by including descriptive documentation in your code. ("WindowsApplication1", "Form1", "Button1", "TextBox1", "RadioButton1", "CheckBox1", "GroupBox1", etc. should not appear in your project.

I encourage you to start thinking immediately about what your project might involve. Feel free to discuss possibilities with me as part of the exploration process.

Project Proposal and Meeting

I expect to have a discussion with each person/pair and come to an understanding of what the project is expected to do. That process starts with a project proposal prepared by the student(s). It should briefly describe the project indicating its general and specific purpose. Sketches of all the forms anticipated to be included should be supplied. File data external to the program needs to be identified. Finally, an overview of the interaction between users and the program should be supplied—it should address all the major different actions of users. The more detailed the plans, the better. When planning be sure to consider each user alternative allowed and what the computer will do in response to each of them. The proposal should be in electronic form. Drawings can be scanned to produce electronic copy (see me if you have difficulty accomplishing this).

You are encouraged to check with me about your project topic. Once you have decided what your project will be, produce your proposal and then arrange a meeting about the proposal (use e-mail or an in-office visit to do so, allowing me to place the appointment on my calendar). Once the meeting is arranged you should send your proposal to me so I can prepare for the meeting. The meetings will last about 30 minutes.

I need to receive the proposal 24 hours prior the the meeting. To submit the proposal send me a message with the following characteristics:

The project proposal and meeting will count for about 5% of the course grade. The deadline for will be posted on the course website. A relatively heavy penalty for being late is likely.

You may wish to review the project checklists before submitting your proposal.

Project Check-in

You are encouraged to discuss your project with me during all phases of work on it. Do not wait until the check-in meeting to ask questions!

When you have code that involves at least three of the following main project elements—selection (If statements), interacting forms, iteration, collection/array, files— you should schedule a project check-in meeting. I want to meet with each person/pair to see how the work is proceeding and to help identify potential problems and plan to avoid or overcome them.

You should use e-mail to set up the appointment. That message or a subsequent one :

Be prepared to discuss your project and explain the working of the code you have completed.

The check-in meeting will count for about 5% of the course grade. This meeting should be completed before the last week of class.

You may wish to review the project checklists before arranging your meeting and submitting your "check-in" report

Project Submission

The overall project will be a VB project folder. In addition to all the code, images, files, etc. necessary for the program to run, it should include a user guide. The guide is to be included as a README.TXT file this is placed in the same folder as the solution file used to run the program. The expectation is that the project specifications noted above will all be met. While working on your project keep in mind the following expectations:

The target date for program completion is the last day of classes. The project is to be submitted (zipped and attached to the message). Your report (preferably a PDF) should also be attached to the submission mail message.

The project submission will count for about 25% of the course grade. While it is critical that programs do what was intended and do it correctly "good" and "excellent" programs do other things better than "okay" programs. To get a higher B or an A, your project will need to have something extra in either quality or language features (or both). A project that meets all the language feature specifications, fulfills the proposed activity, runs correctly, appears to be the work of the student(s) submitting it will, and can be readily run from the information in the README file will receive at least a grade of B-. Better grades will be based on:

To submit the final version of the project, send me a message with the following characteristics:

Project Report/Reflection

The project report is to describe and assess the project and provide an opportunity for you to reflect on the project, your learning, etc. The report should be typed (or copied and pasted) in an e-mail message and, minimally, should contain/address:

You may wish to review the project checklists before submitting your project report.

If you worked in the project in partnership, each partner should complete a separate, private project report that is not shared or discussed with the partner.

To submit the project reflection, send me a message with the following characteristics:

The project report will count for about 5% of the course grade. Elements of assessment/grading are a) clarity & completeness of the requested information, b) perceived quality of reflection, and c) quality of the writing (grammar, etc.).