http://faculty.bus.oregonstate.edu/stylesheet/spacer.gif

Oregon State University

http://faculty.bus.oregonstate.edu/stylesheet/spacer.gif

http://faculty.bus.oregonstate.edu/stylesheet/spacer.gif

Oregon State University Home Page

http://faculty.bus.oregonstate.edu/stylesheet/spacer.gif

BA272: BUSINESS APPLICATION DEVELOPMENT -- Fall 2008

Monday/Wednesday/Friday 12-1:10, Bexell Hall Room 324

CONTENTS

INSTRUCTOR

Byron Marshall, Ph.D.
Bexell Hall 426
(541) 737-6054
byron.marshall@bus.oregonstate.edu
Byron's web site

OFFICE HOURS

  • Monday 2:00 - 3:00
  • Tuesday 10:00 - 11:00
  • Wed 10:00 - 11:00
  • And gladly by appointment

I would enjoy talking to you!

COURSE DESCRIPTION -- BA272 is a four unit course.

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® 2008, Seventh Edition,
David I. Schneider, University of Maryland
Publisher: Prentice Hall
ISBN-10: 0136060722 or ISBN-13: 9780136060727
Some helpful student resources are available

Some course material will be available in Blackboard.

images/VBBook.jpg

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. 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. It runs on Windows only. 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.

Return to Contents

 

Tentative Course Schedule -- Fall 2008

Please read Reading assigned material and Do exercises in preparation for class – not graded but fair game for quizzes.    

Turn in Assignments as listed – bring a printout of the code to class with no name on it.

Term project drafts will be discussed and peer reviewed in class.  Stuck? Get help early. I want to help!

Week

Monday

Wednesday

Friday

1

Sep. 29

Chapters 1 & 2

Welcome: Chapter 1: Intro to computers and windows, folders, and files   Read pages 1-7

Chapter 2: Intro to VB, controls (textboxes, buttons, labels, listboxes, help, and tabbing) autohide, and events    Read pages 20-54

Walk through making the participation client

See instructions in Blackboard

Do  Ex 2.3 1-10 (p 55) make programs to try the exercises out.  Be able to easily do 17-32

2

Oct. 6

Chapter 3

Assignment 1 due at 6:30 am, copy it into your class folder. Variables, Scope, Data types, naming conventions, options strict and explicit

Chapter 3: Numbers, Zone Formatting, input and message boxes.

Read 3.1 (p 62-71) and begin 3.3 (p 95-98)

Do Ex 3.1 11-30,38-44

Chapter 3: Strings

Read 3.2 & 3.3 (p 72-107)

·         Fall 2008 - delayed till Monday

3

Oct. 13

Begin your term project

Assignment 2 due by 6:30 am

Chapter 3: File handling

Do Ex 3.3 68,77,79 (p 113-114)

Practice file handling and strings, catching exceptions

Walkthrough the Bank Account List Program

4

Oct. 20

Chapter 4

Assignment 3 due by 6:30 am

Chapter 4: ANSI characters, relational and logical operators, and If blocks

Read Sections 4.1 and 4.2

Chapter 4: Select Case Blocks

Read Section 4.3

Do: Ex 4.1 13-14,19-28,30

Ex 4.2 2,3,7,13,18 Ex 4.3 2,9-16,23-26

Finish up Chapter 4

Practice Programming Decisions

(Do the assignment during class?)

5

Oct. 27

Chapter 5

Start on Term Project in Class

Midterm Chapters 1-4

Multiple Choice, Short Answers, and Programming

Review Exam

Chapter 5: Procedures

Read Section 5.1 Sub Procedures

6

Nov. 3

Chapter 6

Read Section 5.2  & 5.3 ByVal and ByRef, Functions and constants

Ex. 5.1 2,8,31,32 (look them all over!)

Ex 5.2 ALL  5.3 ALL

Multiple Forms

Read p 481-484

7

Nov. 10

Chapter 7

Chapter 6: Repetition

Assignment 4 due by 6:30 am

Chapter 6: Arrays

Project Work Day

(Quiz?)

8

Nov. 17

Work on term project

The Split Command

Project Work Day

(Review Quiz?)

Bring a draft introduction for a term project to class including a first draft of a testing plan

9

Nov. 24

Creating your own classes

Read p545-576

Final Projects Due

Thanksgiving Holiday

10

Dec. 1

Term Project Presentations

Reading XML Files

Final Review and Wrap up

Dec 8-12

Finals Week

Tuesday, December 9th at 2:00 pm

Bexell 324 (our regular classroom) University Final Schedule

* 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.

 

Return to Contents

 

STUDENT EVALUATION

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

"Daily" Quizzes

10 %

Assignments

15 %

Midterm #1

25 %

Final

25 %

Individual Term Project

25 %

 

Final grade percentages

Grade

Minimum Score

A

93%

A-

90%

 

 

Grade

Minimum Score

B+

87%

B

83%

B-

80%

Grade

Minimum Score

C+

65%

C

55%

Grade

Minimum Score

F

<55%

 

 

 

 

Return to Contents

"Daily" Quizzes

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.

Assignments

To prepare you to understand what goes into a programming project, there is no substitute for writing and reading code.

·        Programming assignment due dates are firm (6:30am Monday mornings) except that each student can request by email two extensions. Extensions allow you to work on the assignment until class starts at noon.

·        Turn in your assignments by placing them in the appropriate folder. Learning to get the stuff in the right place is part of the course. See Create your assignment directories for more instructions. If you don’t submit the proper code in the proper place so that it will work for me to open it, you will not get credit for your work.

·        Bring a printout of your code for each assignment to class on Monday. We will trade sheets and review. Be prepared to let a fellow student execute your assignment during class. Your grade will be based on my review of your project as submitted in your assignment directory. However, you must also have your code reviewed in class by a colleague on Monday to receive more than 50% credit for the assignment. Of course exceptions can be made if an emergency arises.

·        If you are struggling to understand how to complete an assignment despite an appropriate level of effort or if you are reluctant for some reason to show your code to another student, please be sure and discuss your concerns with me. My motto regarding assignments is “when you learn, we both win.” We share code in class because learning to understand and write readable code is a crucial part of your IS education.

·        Always consider the Class Coding Standards they will affect your grade.

·        Try to keep these simple, they aren’t supposed to take too much time. Grading rubrics are provided in advance so you know how your submission will be graded.

Term Project

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.

Term Project Grading Criteria

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)

 


Also include at least 3 of the following:

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

 

Term Project Introduction

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.

Term Project Component Descriptions

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.

Term Project Test Plan

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:


Return to Contents

Class Development Standards

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:


Return to Contents

Create your assignment directories

A storage area for your work in this course has been generated: \\cob-storage\ClassFolders\2008_Fall\BA272\001\ONIDID. Replace the word ONIDID with the first part of your ONID email address. For example my ONID email address is marshaby@onid.orst.edu, so my ONIDID is marshaby. Your Term Project and Assignments are to be stored in this special class storage area. I suggest that you do (or at least copy) your ongoing work there so that you can show your work to me when you have questions. HOWEVER: BE CAREFUL, THIS STORAGE AREA WILL GO AWAY AFTER THE TERM. BE SURE AND COPY YOUR CODE OUT AT THE END OF THE TERM. YOU MAY WELL WANT TO ACCESS THIS CODE AS YOU GO ON IN THE MIS PROGRAM.

 

Professors can access anything you store there but your classmates cannot.

Please take a few moments and set up the following folders in your area. Please note that in some systems (notably UNIX-based systems) upper and lower case letters matter for directory names. So, get in the habit of naming folders exactly – same capitalization, no extra spaces, no extra characters.
...\termproject
so that is actually \\cob-storage\ClassFolders\2008_Fall\BA272\001\ONIDID\termproject

...\assign1, ...\assign2, ...\assign3  up to ...\assign6

It is your responsibility to store assignments and your project in appropriate folder. If they are not there, you will not receive credit for your work. But don’t stress, it’s easy to do and with only a bit a preparation you can be sure the folder is in the right place.

 
Return to Contents

Business Documents

A few things to keep in mind:

Format requirements:

Return to Contents

COURSE POLICIES

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:

Return to Contents

LEARNING OUTCOMES

Upon completion of this course, a successful student will be able to:

Return to Contents

This course will address the following College of Business Learning Outcomes

This page is maintained by Byron Marshall   Send E-mail to byron.marshall@bus.oregonstate.edu.