UNIVERSITY OF LETHBRIDGE FACULTY OF MANAGEMENT Mgt 3821 - Visual Programming Applications (using Visual Basic) Term: Spring 2005 Instructor: Brian Dobing, Room E424, 329-2492, brian.dobing@uleth.ca Class Web Page: http://classes.uleth.ca/200501/mgt3821a Class Times: Mon, Wed 1:40 – 2:55, E-640 Lab Office Hours: Tuesday, Thursday 1:00 - 3:00 PM Other times may be arranged by appointment ________________________________________________________________________ Overview Visual Basic 1 was introduced in 1991 and has rapidly become a critical software development platform. Six years later (ComputerWorld, March 24, 1997) VB was already the dominant choice for "building multidepartmental, multitiered corporate applications" in a Windows environment. This remains true today. Equally important for business students, Visual Basic for Applications is the language of Microsoft Office. VBA is closely related to VB (although more like VB6 than VB.NET) and, with it, Access and Excel become much more powerful tools. And Visual Basic is also an excellent web development platform (covered in Mgt 3822). The primary criticism of Visual Basic in the past was that it is not fully object-oriented. With the introduction of Visual Studio .NET in February 2002, this is no longer true. However, this class does not cover object orientation. (That is also part of 3822). The goal is to introduce eventdriven programming in a visual programming environment or, more specifically, to build Windows software. 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. Prerequisites: This course requires Computer Science 1620 or an equivalent introductory programming course that has been given CS 1620 transfer credit. Students who register in this class without this prerequisite can be forced to withdraw from the course at any time during the term. 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 no longer requires Mgt 2060, but you will need an introductory understanding of databases and Microsoft Access. We will build links from Visual Basic to Access databases. And you should be familiar with Windows XP and want to write programs for that environment. 1 Grading: Assignments 1 and 2 - worth 5% each Assignments 3 and 4 – worth 10% each Midterm Exam Final Exam Project Project Evaluation 10 20 15 25 25 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 50-57 <50 D+ D F Textbook and other materials: The text for this course is Visual Basic .NET Programming: Business Applications with a Design Perspective, 2nd Edition, by Jeffrey J. Tsay, Pearson/Prentice-Hall, 2004. This book may be replaced next year with an updated version (for VB.NET 2005). 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 assigned material in the text even if it was not discussed during classes. The following titles are on reserve at the Library. They are more advanced books and should be more useful later in the course or in 4841 (if you build a VB front-end). Francesco Balena, Programming Microsoft Visual Basic.NET (Core Reference), Microsoft Press, 2002. John Connell, Coding Techniques for Microsoft Visual Basic.NET, Microsoft Press, 2002. Rick Dobson, Programming Microsoft Visual Basic .NET For Microsoft Access Developers, Microsoft Press, 2003. There are also some good Internet sites. However, many cover both VB6 and VB.NET so you need to be careful when incorporating their ideas into your programs. 2 Software: Although the textbook is written for the first version of VB .NET, we will be using VB .NET 2003. The changes are relatively minor, at least in terms of anything we will cover in class, and mostly consists of bug fixes and some improvements to the interface. Programs written in the older .NET version will be automatically upgraded by VB .NET 2003. However, programs written in the 2003 version will not run with the original .NET software. VB .NET 2003 must be used for all assignments and the project. The VB .NET 2005 Beta is available but all submitted assignments and projects must run in VB .NET 2003 (lab environment). We hope to make the VB .NET software available free to students for home use. We have had some trouble with this in the past, although last term most students managed to get it installed and working. Assignments: There are four assignments in this course, worth 30% 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. The first two assignments are to be done individually. You can discuss ideas about the assignment, but the final work you hand in should be your own. The submission requirements will be specified on each assignment. The third and fourth assignment and the project may done in pairs (but teams of three or larger will not be permitted). You do not have to use the same partner for all three – you choose your partners. The computer files required by the assignment should be emailed to me by the specified due date and time. All submissions will be acknowledged but this can take several hours so don’t expect an immediate response. 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(s), e.g., A1SmithChris.zip or A3KleinMartin.zip. Any required printed material (usually printed program listings) is due at the same time at my office. If you are not on campus, an emailed project is sufficient to avoid a late penalty but a printed version must still be submitted as soon as possible and it must be identical to the emailed files. Both parts must be submitted before the assignment will be graded. If you are having problems with email, diskettes or CDs (labeled with your name please!) brought to my office by the due date and time are also acceptable. Any extensions due to lab problems, weather, or other reasons will be posted on the course web page. There will be a 10% penalty for assignment submissions received late on the due date, 25% penalty for submissions made 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 a day late that is worth 80% will receive a grade of 55%. Late penalties for projects will be specified later. 3 Exams: Although the outline specifies both a midterm ad final exam, a class vote will determine whether there is a midterm and may also affect class scheduling. The final exam will be held during the exam period. 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, Yahtzee and Wheel of Fortune. Classes have also built business projects such as a consignment car dealer, an MIS Post-Diploma student planner and a small theatre ticket operation. More details on the project will be made available later. Assignment 4 is usually linked to the project. 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. Projects will be evaluated for their usability, functionality, and software quality. Course Web Page: Material will be posted on the course web page: http://classes.uleth.ca/200403/mgt3821a You should be able to find the course outline, assignments, project notes, and class notes. 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 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. 4 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. 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: 1 2 3 4 5 Date Jan 10 Jan 12 Jan 17 Jan 19 Jan 24 6 7 8 9 10 Jan 26 Jan 31 Feb 2 Feb 7 Feb 9 11 Feb 14 12 Feb 16 Feb 21 13 Feb 28 14 Mar 2 15 16 17 18 19 20 Mar 7 Mar 9 Mar 14 Mar 16 Mar 21 Mar 23 21 22 23 24 25 Mar 28 Mar 30 Apr 4 Apr 6 Apr 11 Apr 13 26 Apr 18 Topics C1,2: Introduction to Visual Basic .Net 2003 C3: Controls, Properties and Events C4: Variables, Constants and Calculations C4: List Box, Variable Scope C5: Decisions and Conditions C6: Input/Output (MessageBox, InputBox) Assignment #1 Due C6: User Defined Procedures and Functions C7, C8: Loops and Arrays C11, p.474: Code Modules Testing and Debugging App A: Sequential Files Assignment #2 Due C11: Menus and Toolbars Open File Dialog, Colors, Fonts READING WEEK – NO CLASSES C10: Error Handling C9: Accessing Databases Assignment #3 Due (Friday, Mar. 4, 5 PM) Midterm Exam C9: Database Connection C9: Database Navigation C9: Database Grid Control C9: DatabaseValidation C10: Keyboard and Mouse Events Assignment #4 Due (Thursday Mar. 24, 5 PM) EASTER MONDAY – NO CLASS App. B: Drag-and-Drop, Control Arrays C11: Multiple Form Applications HTML Help Workshop Advanced Topics Project Testing Project Due (Tuesday Apr. 12, 6 PM) Review Projects Discuss Final Exam Project Evaluations Due Final Exam Some topics and their orders may need to be changed later once the project has been defined. 6