|
|
|
|
|
|
|
NOTE: BA 272 is not offered
during the Winter 2008 term.
This syllabus is from the Fall
2007 course, and is for reference purposes only.
BA272: BUSINESS APPLICATION DEVELOPMENT -- Fall 2007
Monday/Wednesday 12-1:50,
Bexell Hall Room 323
CONTENTS
|
INSTRUCTOR
Byron Marshall, Ph.D. |
OFFICE HOURS
I
would enjoy talking to you! |
The Catalog Description: Introduction to business programming with VB.NET. Overview of programming processes, .NET programming environment, object-oriented and event-oriented models and console/Web integration of applications.
Informally: Although only some MIS students are seeking jobs as software developers, most professionals in today's world will be involved in some phase of system development for their organizations. Understanding how computer programs are written can provide keen insights into how systems work and what it takes to change them. Students in this course are expected to gain basic computer programming skills and develop a basic understanding of some key programming concepts. Students will:
COURSE
MATERIALS
An Introduction to Programming Using Visual Basic® 2005, Sixth Edition, Some course material will be available in Blackboard. |
|
|
Visual
Studio is available through MSDNAA so students can work at home thanks to
Microsoft, the College of Business, and other donors. You can arrange
to download ISO images of the Visual Studio DVDs and obtain a license
key. Read the license: academic use only. However, it is a huge download so
you may want to bring in some blanks and burn the images to DVD in the lab. Here's how to burn an image in the lab.
This is not for the faint of heart: it's very big and takes quite a while to
download, burn, and install. The installation includes a wide variety of
components which may impact other software on your PC. Windows only,
of course. If you have an older PC, it probably cannot handle the load of
this large complex application. While the COB computing services folks will
help you obtain an MSDNAA account and make sure you can download the files,
they cannot provide you tech support for installation or operation. For many
students, working on assignments in the lab is a great option. But still,
savvy student's have successfully installed it at home in the past. |
|
|
Please read Reading
assignments (doing the walkthroughs) and Do exercises in
preparation for class. |
|||
|
Week |
Monday |
Wednesday |
|
|
1 |
Welcome
- Introduction, Assignments -- Key Concepts |
Read: Sects 1.1 - 1.5 Computers
& VB |
|
|
2 |
Read: Sects 3.2 and 3.3 Events
& Numbers |
Read: Sect 3.4 Strings Do:Ex3.4:
1-36, 37,41,47 * |
|
|
3 |
Catch
up! Variables, Debugging, & Saving Projects |
Do: Chapter 3 Programming
Projects (1-5) p128-129 |
|
|
4 |
Sub
Procedures
|
Read: Sects 4.3 and 4.4 Function
Procedures & Modularity |
|
|
5 |
Bring
a second draft introduction for a term project to class |
Midterm
#1 covering Chapters 1, 3, and 4 |
|
|
6 |
Read: Sects 5.1, 5.2 Logical
Operators & If |
Read: Sects 5.3, 5.4 Select
Case Do: Ex5.3:1-27,28,34 * |
|
|
7 |
Read: Sects 6.1, 6.2, 6.3
Repetition (iteration) |
Read: Sects 7.1, 7.2
Arrays |
|
|
8 |
Read: Sects 7.4, 7.5
Sorting and Searching Arrays, 2D Arrays |
Read: Sects 8.1
More files and Exception Handling |
|
|
9 |
Term
Projects Due: Term Project Presentations |
Read: Sects 11.1
Object-Oriented Programming |
|
|
10 |
Read: Sects 11.2, 11.3
More Object-Oriented Programming |
Final
Review and Wrap Up |
|
|
Dec 3-7, Finals Week |
Monday, December 3rd at
9:30 am |
||
|
*
Some programming exercises are not "assigned" because they seem
redundant but you should look at all "Write a program to"
exercises; make sure you know how to do them. If the assigned ones were hard,
maybe you should do a couple more. If the assigned one looks boring,
sometimes there is a more interesting (harder) one you can do instead. |
|||
Student evaluation will consist of two related areas--the understanding of
basic concepts and the ability to apply tools and techniques. Students will
demonstrate their understanding of concepts by participating in classroom
discussions and completing written assignments, quizzes, and examinations.
Students will demonstrate their ability to apply tools through completing
assignments and projects.
|
Grade
Component |
Weighting |
|
25 % |
|
|
Midterm
#1 |
25 % |
|
Final |
25 % |
|
25 % |
|
Final grade percentages |
||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||
Successful mastery of programming concepts and skills requires repetition and application. You have to do the reading and walkthroughs before class if you are to grasp the material. The concepts build on each other and falling behind will significantly hinder additional learning.
Short quizzes will be given most days so I can see how well you understand the material and give you feedback on your progress.
Quizzes cannot be taken in advance or made up. I will drop one or two quizzes (depending on how many are given) to allow for off days or unavoidable absences.
Want to drop an extra quiz? I may ask for (in advance) volunteers to show off their programs (maybe assigned programs, maybe term project code.) I would appreciate it if you would be willing to show your work in class. We will talk about the code, why it's good, and how to make it better. You learn the most when you explain and teach what you know.
In the term project students demonstrate their understanding
of key programming concepts. The project requires design and development of a
small program which includes a number of required
program elements. The project documentation first introduces the purpose of the project and then describes the various component types
saying what they do in general and giving an example of how they are used in
the project. Coding standards will be used to create variable names and
appropriate inline documentation will be inserted into the project. The project
report concludes with a test plan. This plan tells
the instructor how to walk through the program’s functionality. Projects
receiving top marks will demonstrate mastery of the program concepts presented
in the class as demonstrated in the quality of the program code, the
effectiveness of the testing plan, and in the quality of the final write-up.
Exceptional submissions are expected to receive 93% or higher, strong
submissions will receive 88% to 92%, Good submissions should receive 80% to
87%, and acceptable submissions will receive a C.
|
Weighting |
Factor |
|
50% |
Component
implementation: 10% deduction for each missing component, full marks requires
a sensible implementation of each component to accomplish a reasonable task. |
|
15% |
Accurately
describes component functions and usage: exceptional descriptions 15%, high
quality descriptions 13%, acceptable descriptions 11%. |
|
15% |
Test
plan is accurate and covers a reasonable portion of the program’s
functionality. |
|
10% |
Writing:
Introduction, descriptions and test plan are concise, grammatically sound, and
have reasonable topic sentences. Does the introduction
communicate details, explain the value of the program, and describe useful
functions? |
|
10% |
Program
documentation and adherence to course coding standards: program elements use
PascalCasing and camelCasing for names as appropriate; variable, procedures,
and object names are sensible and descriptive; and comments tell what each
section does. Exceptional: 10%, Strong 9%, Good 8%. |
Term Project Technical Requirements
|
|
|
Create
a business-related VB.Net Windows application which includes the following
components: |
|
|
1.
A button |
10.
Branching (e.g., Case or If) |
|
2.
A label |
11.
An event procedure |
|
3.
A list box |
12.
A sub procedure |
|
4.
A textbox |
13.
A function procedure |
|
5.
An array |
14.
A ByRef call and a ByVal call |
|
6.
An input file |
15.
A try, catch block |
|
7.
An output file |
16.
A type conversion (e.g., CDbl, CStr) |
|
8.
A mathematical computation |
17.
An input box, message box, or file open box |
|
9.
Iteration (e.g., Do while, do loop until, for next) |
|
|
|
|
|
1.
Rounding |
|
|
2.
A two dimensional array |
|
|
3.
Some other visual control (e.g., A data grid, radio buttons, check boxes,
etc.) |
|
|
4.
A second kind of iteration (e.g., Do while, do loop until, for next) |
|
|
5.
A second kind of branching (e.g., Case or if) |
|
|
6.
Formatting (e.g., FormatNumber, Zone Formatting) |
|
|
7.
String Manipulation (e.g., indexOf, left, right, substring, masked textboxes)
|
|
|
8.
A structure or class |
|
Write
a concise (one paragraph to one-page) description of the purpose of the
project. Example:
The IT Project NPV Calculator supports estimation of the Net
Present Value of an IT project. A user can enter a series of costs and benefits
spread out over several years. The program is able to load up old projects and
save project details in a text file. Users can add new rows for benefits and
costs as well as new columns for additional years. The user-provided discount
rate is used to compute estimated net present value (NPV) and return on
investment (ROI). These figures are important when trying to choose, plan, and
justify IT projects that will positively impact an organization. NPV
calculations use the present value formula PV = FlowT / ( (1 + r)T) where r is
the designated discount rate, T is the year this flow takes place, and FlowT is
the amount of the Flow in year T. ROI is calculated by dividing the NPV of the
project by the NPV of the costs. To support future uses of the project
components, the "model" is stored in a separate class from the
interface. This class performs the business logic e.g., computing NPV or
creating and interpreting text files. Code to manage the interface is kept in
the form. Although it is reasonably functional, the program was written
primarily to demonstrate a variety of programming techniques.
Please
note that this paragraph emphasizes the value of the project, includes details,
begins with a summary, and has been carefully edited for grammatical errors. It
focuses on the purpose and function of the program rather than on its technical
components. Your introduction should have these same characteristics.
!!PLEASE
NOTE THIS CHANGE: ONLY 10 COMPONENTS NEED TO BE DESCRIBED. 10/17/2007
For 10 of the types of components or capabilities write two short paragraphs.
Use your own words. The first describes what this type of component is or does
in general. Example:
Button controls are displayed on a form and allow a user to
initiate an action in a program. Button clicks are captured by an event
handling sub procedure. Actually, a single event handling procedure can be
associated with a number of events. Buttons can be adorned with a variety of
characteristics such as text (display on the button), size, position, and
color. They can be added to a form dynamically, although we only add text boxes
and labels dynamically in this program.
This
paragraph provides several important characteristics, capabilities, or uses.
There are other of details that could have been chosen (colors, enabling,
mouseovers, text alignment, hidden...) So there is no one right answer. The
second paragraph describes how the component was used in this particular
project. Example:
One button in the IT Project NPV Calculator allows you to
add an additional year to the model. The add year button click event is
associated with the procedure: btnAddAYear_Click. btnAddAYear_Click resizes
arrays in both the form and the ITProject class to expand the model, creates
new text boxes and positions them on the form, manages the size of the form to
ensure that the new boxes fit, and resets the tabbing order of controls on the
form to enhance the user experience. Other buttons allow you to add cost or add
benefits to the model and load or save a project file.
Different
components will call for different descriptions. Make sure the description
refers to one or more places where the component is used and connects the
component to the overall functionality of the project. Also, try to pick an
interesting example of the component. Don’t choose a boring button to save
space; choose an interesting one to show off your hard work.
Create
a test plan for your project. It should be specific enough to allow the
instructor to walk through the functionality of the program. It should also
demonstrate that you have thought through how the program might fail. By
listing the main risks associated with program functionality.
Here is a simple test plan for the IT Project NPV Calculator. I would provide a
copy of the input file with the test plan. Yours will likely be a bit longer.
For example, I did not describe how the colors of the calculated fields should
change given different conditions.
This
test plan should cover the major risks:
Development
guidelines (formal or informal) are used in nearly all software development
organizations. While there is no single "best" set of practices,
guidelines help make systems more reliable and maintainable. These guidlines
are loosely adapted from the text and the development guidelines used by BSG
(Business Solutions Group - a software development organization located here in
the college.) There may be times to "break the rules." If so, be
prepared to justify why the variation improves the situation.
When coding for BA272 please employ the following development guidelines:
Your
Term Project should be stored in your COB storage area. I also suggest
that you do (or at least copy) your ongoing work to your account so that you
can show your work to me when you have questions.
Please take a few moments and set up the following folder structure in your ...\classwork\ folder:
...\classwork\BA272\termproject\
...\classwork\BA272\myWork\
It is your responsibility to store materials in your ...\classwork\BA272\termproject folder in accordance with
these rules. If it is not there, you will not receive credit for your work.
Return to Contents
A
few things to keep in mind:
Format
requirements:
University wide Student Conduct Polices
Academic Honesty Policy:
Individuals
are encouraged to discuss the projects and assignments outside of class and
share ideas. However, unless specified as a team assignment, each person
must individually complete and submit his/her own work. Students are
expected to uphold the OSU standard of conduct for students relating to
academic dishonesty. Academic dishonesty is defined as an intentional act of
deception in which a student seeks to claim credit for the work or effort of
another person or uses unauthorized materials or fabricated information in any
academic work Students assume full responsibility for the content and integrity
of the academic work they submit. The guiding principle of academic integrity
is that a student's submitted work, examinations, reports, and projects must be
that student's own work for individual assignments, and the group's own work
for group assignments/projects. Students are guilty of academic dishonesty if
they:
The
penalty for academic dishonesty is severe. Any student guilty of academic
dishonesty may be subject to receive a failing grade for the exam, assignment,
quiz, or class participation exercise as deemed appropriate by the instructor.
In addition, the penalty could also imply that the student receive a failing
grade for the course and be reported to the University officials at the College
of Business, and the officials at the Office of Student Affairs.
Behavior in Class:
Accommodations:
Discrimination or Harassment:
Arbitration:
Upon
completion of this course, a successful student will be able to:
This page is maintained by Byron Marshall Send
E-mail to byron.marshall@bus.oregonstate.edu.