UNIVERSITY OF LETHBRIDGE FACULTY OF MANAGEMENT

advertisement
UNIVERSITY OF LETHBRIDGE
FACULTY OF MANAGEMENT
Mgt 3821 - Visual Programming Applications (using Visual Basic)
Term:
Spring 2001
Instructor:
Brian Dobing, Room E424, 329-2492, brian.dobing@uleth.ca
Class Web Page: http://home.uleth.ca/~brian.dobing/3821.htm
Class Times: Tues, Thurs 10:50 – 12:05 (A), 13:40-14:55 (B), E646 Lab
Office Hours: Tuesday, Thursday 9:20 - 10:45 AM, Monday 1:00 – 3:30 PM
Other times may be arranged by appointment.
________________________________________________________________________
Overview
Visual Basic has rapidly become a critical software development platform since the introduction
of VB3. In a survey printed in ComputerWorld (March 24, 1997), VB was dominant choice for
"building multidepartmental, multitiered corporate applications." This remains true today and, as
of this summer, Visual Basic was rated the most in-demand developer skill (as shown in the
techies.com table below). Equally important for business students, Visual Basic for Applications
is the language of Microsoft Office. VBA is closely related to VB and, with it, Access and Excel
become much more powerful tools. And Visual Basic is also an excellent web development
platform for Internet Explorer users (although that's beyond the scope of this course).
1
2
3
4
5
6
7
8
9
10
Programming
Skill
C++
Java
HTML
SQL
JavaScript
C
Perl
XML
VB Script
PL/SQL
Developer
Skill
Visual Basic
Visual C++
PowerBuilder
Visual InterDev
Oracle Developer/2000
Rational Rose
Winrunner
Oracle Forms
SQA Test Suite
Delphi
This course provides an introduction to event-driven programming in a visual programming
environment, specifically building Windows software using VB6. Building systems in Visual
Basic can be fun! (If you don't believe programming can ever be fun, you probably don't belong
in this course.) By providing a powerful set of tools, VB allows you to quickly create software
that looks very much like commercial Windows programs.
1
Prerequisites:
This course requires Computer Science 1620 or an equivalent introductory programming course.
This course could be in C, Java, Pascal or almost any other language. You should have an
understanding of basic programming including loops, decision structures, arrays, subprograms
and basic file structures. This includes nested loops, nested if statements, and multidimensional
arrays. If your programming skills are weak, this will be a difficult course. Neither the lectures
nor the text are designed to teach fundamental programming.
The course also requires Mgt 2060. You should be comfortable sending and receiving email and
using Word (or WordPerfect) for written assignments. We will build links from Visual Basic to
Excel spreadsheets and Access databases, but very little prior knowledge of those packages is
required. Perhaps what is most important is that you are familiar with the standard Windows
95/98/NT interface and want to write programs for that environment.
Grading:
Assignments - Four worth 5% each
Final Exam
Project
Project Evaluation
20
40
35
5
The following is an approximate grading curve. Final scores will be rounded, e.g., 77.5 will be a
B. The actual grade distributions for this semester may be adjusted (but only to the advantage of
students) and will not be determined until the end of the semester when all marks are in. The
final grade distribution will be consistent with past classes.
95-100
90-94
86-89
A+
A
A-
82-85
78-81
74-77
B+
B
B-
70-73
66-69
62-65
C+
C
C-
58-61
54-57
50-53
D+
D
D-
Textbook:
The text for this course is Programming in Visual Basic 6.0, by Julia Case Bradley and Anita C.
Millspaugh, Irwin/McGraw-Hill, 1999. The same book was used last year, so you may find some
used copies around at a reasonable price.
If you see any cheap VB5 books that look interesting, you may want to pick one up to
supplement the text. The changes from VB5 to VB6 are not great and have little impact on what
we will do in this class. The user interface, toolbox, and most menu items are the same.
You are expected to not only read but work through the material in the text. Do at least a few of
the exercises at the end of each chapter. You will not learn Visual Basic or any other
programming language by listening to lectures or reading books. You will learn by doing. For
assignments and examinations, you are responsible for all material in the text even if it was not
discussed during classes.
2
Software:
VB6 Professional (with Service Pack 4) is the official course software. This version is now
available in all the labs. A CD-ROM with the VB6 "Working Model," a more limited version of
Visual Basic than the Professional Edition in the labs, comes with the text. This software will be
helpful for those working on personal machines, particularly for the assignments, but will
probably not be sufficient to complete the project.
If you have VB5 Professional on a home machine, you will probably find it will do almost
everything you need. You may prefer to use it rather than the more limited VB6 Working Model
If so, be sure your software has been updated with Service Pack 3 for VB5. It fixes some bugs
and adds a few new features. And it's free! There should be a link to this upgrade from the class
web page. However, please note that all grading will be done using VB6 Professional so you
should test your programs in the lab before submitting them. In particular, charts built in VB5
will not work in VB6.
The next version of VB is VB.Net and Beta versions are now available. However, there are some
important differences that prevent VB.Net programs from running under VB6. As a result, you
will not be able to use VB.Net for this class.
Assignments:
There are four assignments in this course, worth 5% each towards the final grade. Each
assignment will be distributed two weeks prior to the due date. If there are any serious problems
or omissions with an assignment, I will send out an email message to keep you informed. Any
notices will normally be posted on the web page as well.
Assignments are to be done individually, not in groups or pairs. You can help each other with
ideas on how to do them, and I hope you will. But the final work you hand in should be your
own. The submission requirements will be specified on each assignment. In general, the
computer files required should be emailed to me by 1 PM on the due date. Most assignments will
require multiple files; they should be combined into a single WinZip file The zipped file name
should contain the assignment number and your name, e.g., A1SmithChris.zip. You should bring
a diskette to class in case there are any problems. Any required printed material (usually
documentation, including printed program listings, diagrams, text descriptions, etc.) is due at the
start of class. If you have a good reason for missing class, an email is sufficient but a printed
version must still be submitted as soon as possible and it must be identical to the emailed files.
Emailed assignments are due an hour before the start of class on the due date, but the written
portion may be submitted at the start of class. If you are having problems with email, you can
also bring your program to my office. Any extensions due to lab problems, weather, or other
reasons will be posted on the course web page. Submitted assignments may be used during the
class to illustrate different ways of approaching a problem. In particular, one or two of the best
assignments may be posted on the web page so others can see them. They may be modified if
necessary.
3
There will be a 10% penalty for submissions received within three hours of the deadline, a 25%
penalty for submissions made later than that but before 9:15 AM the following day, and 50%
after that. No assignments will be accepted after the start of the class following the due date. Late
penalties are subtracted from the grade you otherwise would have earned. So work submitted two
hours late that is worth 80% will receive a grade of 70%.
Final Exam:
There will be a three-hour final exam in this course, in the normal slot scheduled by the
Registrar’s Office.
Project:
Students will choose their own team of two students and build a larger system in the second half
of the class. Past classes have built different games, including Monopoly, Trivial Pursuit and
Yahtzee. Last term, we built the VB Auto Center project described in the text. More details on
the project will be made available later.
Although not listed in the syllabus, you may need to submit some preliminary project work. For
example, you might be asked to submit your proposed user interface design, data file design, or
other documents. The nature, value, and due dates for this preliminary work, if any, will be
announced when the project assignment is distributed.
All projects will be run and graded using the VB6 Professional edition. (This prevents you from
using features found only in the Enterprise edition.) However, all features of VB6 can be used,
regardless of whether they have been covered in this course.
Project Evaluation:
After projects are submitted, everyone will be given a project (not their own!) to evaluate. The
distributed project will include the source code, not just an executable version. The project
evaluations are due at the start of the final class. The evaluations will be read before final project
grades are assigned, but they do not normally have much impact.
You will review the project on several dimensions, including usability, functionality, and
software quality. You will not be expected to make any changes to the project you evaluate, but
you can certainly suggest specific improvements.
Course Web Page:
Material will be posted on the course web page:
http://home.uleth.ca/~brian.dobing/3821.html
You should be able to find the course syllabus, assignments, project notes, class notes, and links
to some useful VB web sites. Any subsequent corrections, additions, etc. will also be posted on
the web page. You are responsible for checking both your email and relevant web pages
4
regularly. If you find other interesting web pages that ought to be linked, please let me know.
Class notes will usually be posted the day after classes. They are quite detailed and should
eliminate the need to take notes in class.
I will try to respond to email and voice mail messages. However, I cannot provide long and
detailed responses that way. Some questions may be answered on the class web page and/or
brought up in the following class.
Academic Integrity:
It is critical to the reputation of the Faculty of Management, and of our degrees, that everyone
associated with our faculty behave with the highest academic integrity. As a Faculty that helps
create business and government leaders, we have a special obligation to ensure that our ethical
standards are beyond reproach. Any dishonesty in our academic transactions violates this trust.
The University of Lethbridge Calendar addresses the issue of academic dishonesty under the
heading “Student Discipline Policy. Of particular concern, but certainly not the only violations,
are:
 copying someone else's program, even with minor modifications and with or without
their permission, from a diskette, printed copy, or even by observing what they are
doing
 providing a disk or printout or otherwise allowing someone else to copy your work
 allowing someone else to do all or part of your assignment
 working jointly with others to create a single solution and then customizing it for each
student
 presenting code taken substantially from books, CD-ROMs, the Internet or other
sources as your own
Students cheating on exams or assisting others to do so will receive an "F" in the course.
Assignments that are obviously copied between two or more students will ALL receive a mark of
ZERO, plus there will be an additional penalty of up to 5 marks deducted from your final grade.
Thus, protecting your work against copying is important. In particular, your team project must be
original work. Any significant copying of programs found in other books or on the Internet will
be regarded as a serious violation. A mark of zero on the project will result in an "F" regardless
of exam and assignment marks. If you are unsure about what is or is not acceptable, please see
me.
Many courses in the Faculty of Management, including this one, require group projects. Group
projects are subject to the same rules regarding academic dishonesty. Team members should
exercise special care to ensure that the group work does not violate the policy on Academic
Integrity. Should a violation occur, team members are jointly accountable unless the violation
can be clearly attributed to a specific individual(s).
5
Tentative Class Schedule:
Date
Jan 4
Jan 9
Jan 11
Jan 16
Jan 18
Jan 23
Jan 25
Jan 30
Feb 1
Feb 6
Feb 8
Feb 13
Feb 15
Feb 27
Mar 1
Mar 6
Mar 8
Mar 13
Mar 15
Mar 20
Mar 22
Mar 27
Mar 29
Apr 3
Apr 5
Apr 10
Topics
C1: Introduction to System Development Using Visual Basic
C2: More Controls
C3: Variables, Constants and Calculations
C4: Decisions and Conditions (pp.123-151)
C5: Menus
Assignment #1 Due
Toolbars, C5: Procedures
C5: Functions, C6: Multiple Forms
C7: Lists, Loops and Printing
C8: Arrays
Assignment #2 Due
Program Flowcharts
C10: Sequential Data Files, Common Dialog Control
C10: Random Access Data Files
C4: Testing and Debugging (pp. 152-161)
Assignment #3 Due
READING WEEK
C11: Accessing Database Files
Databases Continued
C12: Advanced Data Handling
Databases and SQL, C12: Error Trapping
Assignment #4 Due
C13: Drag-and-Drop, Keyboard and Mouse Events
Windows API and Sound
Interface Objects
HTML Help Workshop
C15: ActiveX Controls
C14: Graphics
Animation
Project Testing and System Implementation
Project Due
Review Projects
Final Exam Review
Project Evaluations Due
Some topics and their orders may need to be changed later once the project has been defined.
6
Download