Information Systems - 105 VisualBasic.NET Programming Spring 2007 – T/R 9:30 to 10:45 a.m. – Aliber 004

Professor: Suzanne R. Clayton, M.B.A. Office Phone: 271-3811 Office: 343 Aliber Office Hours: M/W 9 to 11a.m. E-mail: [email protected] T/R 12:30 to Preferred method for communication 1:45 p.m. or Website: http://www.cbpa.drake.edu/clayton by arrangement

Textbook Required: Required Visual Basic Programming: Deitel Visual Basic.net 2003 Prentice Hall (ISBN 0-13-142640-0) . You will need flash drive (USB) and will need to have it with you at all times in class. The student files are available to download at the textbook web site or on the CD-ROM that came with the text www.deitel.com or www.prenhall.com/deitel.

Supplementary Information There are also many good references available in popular sources for microcomputer publications. For Microsoft help specific to this software package the URL is www.msdn.microsoft.com/library then go to VisualStudio.NET and then to VisualBasic.NET documentation. This website is more up to date and thorough than even the help that comes with the CD-ROM for those of you who install the computers on your personal machines. Through this URL you will have immediate access to help information. Class Notes and Handouts and any pertinent course related information and notices are available on Blackboard at http://.bb.drake.edu

Catalog Course Description: An introduction to Visual Basic programming for upper division students. The course emphasizes the use of the Visual Basic programming language to develop graphical user interfaces for client/server applications in a networked information systems environment. Topics include: understanding variables, including how to create expressions and call functions; objects and the events they generate, including simple event models; creating programs to manage data, including creating a database; ActiveX database controls; the SQL programming language; overview of Windows Common Controls, including the toolbar and status bar controls; Multiple Document Interface (MDI) programming and class module programming. Prereq.: IS 50, CS 65 or any other 3 hour programming course

Course Objectives/Outcomes: The course is planned to introduce the IS major to a wide variety of topics related to developing computer applications in the current technological environment., specifically, using VisualBasic.NET as a medium to encounter file structures, file accesses and most importantly, structured programming techniques applicable in today’s business arena. Current Object Oriented (OOP) concepts will be learned and applied and visual applications will be learned. This course is not intended to be a terminal programming course, but better to prepare the IS student for the rigors of the upper level courses and provide access to entry-level programmer/analyst positions upon graduation. Please be advised that the University policy with regard to academic honesty with regard to intellectual property (i.e. code/programs/homework) will be followed explicitly. For review of this policy please see the Student Handbook. Any work that cannot be explained or attributed as to source will be considered to be a breach of this policy.

IS 105 Syllabus S. Clayton Spring 2007 1 The outcomes expected for this course are as follows:  The ability to decompose a problem and solve it using VisualBasic.NET  Knowledge of VisualBasic.NET syntax and programming techniques, not as simple coding, but as complex business problem solving. In other words the mechanical aspects of this field are not enough to be successful in IS  Effective teamwork and communication in a learning team environment used to complete complex and lengthy projects that could not be done effectively by a single individual  Using business English to communicate in all forms, the structure and outcome of your knowledge of this course…no language translators will be used in this class…if you feel that this will be a problem please see me at the very beginning of this course and we will find the tutoring required for you to succeed in this course. This requirement is in reflection of the fact that English is the language of technology worldwide  Learning how to learn and how to research problems based on incomplete information, also called transference of knowledge

Prerequisites: CS 65 or IS 50, or permission of the instructor.

Course Outline: See below. Technology Requirements This course is based on the Microsoft Windows XP operating system. This class meets in Aliber 004, which is a lab equipped with thin-client workstations connected to a server hosting the necessary software. You will have a folder on the server from which you may run your VB.NET projects. You will ONLY be able to run from this folder when working in this room. You will be assigned an account that will allow you to save your work on the server. The workstations do not have disk drives. Your work may be accessible via the Internet via FTP for transfer to other computers. You may also move your work to other computers using a USB flash memory device. The University bookstore sells these memory devices and they are general available at other retail sites and via Internet sites. (The textbook will always contain directions for where the files are located on a standalone machine (you may choose to organize your files this way at home, but remember that when we are on campus all files will be on your flash drive, requiring movement to your MyDocs to work or on the S: drive, do not let this confuse you at first when looking at the exercises or projects). This course requires that you login into and use the Blackboard course management system at Drake University. This system works using your standard browser as long as it supports the features of the Blackboard system. The URL for accessing the Drake University Blackboard system is http://bb.drake.edu. You may wish to record this URL as a shortcut or favorite within your preferred browser for easy reference. Your username for logging into Blackboard should be the same as your student id number. The very first time you log into Blackboard using your student id number, your password is initially set to your birth date (mmddyy). If you have not yet done so, you should change your password to some other value. This can be accomplished once you are logged into Blackboard by going to the Tools area and then to Personal Information. Failure to change your password from the default value may enable others to log into Blackboard as you and access your information.

IS 105 Syllabus S. Clayton Spring 2007 2 When using Blackboard in public locations, such as an open computer lab, it is important that you remember to logout from Blackboard when you are finished. Failure to do so may enable others to access Blackboard using your account. I will rarely send out email for this course. Almost all information will be published as Blackboard announcements. If you need to reach me via email, my email address is [email protected]. One problem that happens much too often is that I get email from a student with no identification information in the message aside from an email address. This makes it very hard for me to identify the email author since I don't remember email addresses (my computer does this for me) and I deal with many students. So, please include your real name, first and last, in any email regarding this course. Email not honoring this rule will be replied to with the question, "Who are you?" Generally, all course materials will be available as standard Web pages.

Attendance: A student is expected (assumed) to be in class on the assigned day(s). One thing this instructor cannot do is teach someone who is not “here”. It is amazing the correlation between effort expended and outcome generated (think about it?). There may be examples given in class that are not in the required reading, but are absolutely pertinent to the material being covered (i.e. “test material”). My philosophy is that anyone who wants and has the required desire to learn to program, CAN succeed, given enough effort on his or her part. I’m here to teach and I want you all to succeed, but attendance and effort on your part will help with the partnership we’re establishing.

If you miss three class times in this semester you may receive a lower grade. If you are late to class two times it will equal one absence. No late assignments will be accepted. Just remember that in the real world sometimes late is WORSE than not at all. If there are schedule changes from below or additions/corrections are made to the course and programming projects/exam requirements during the course they will be posted to Blackboard. Changes will ALWAYS be announced in class, therefore it is imperative that you attend class in order to be best informed.

Any email addressed to me must carry in the subject line information that identifies the student and the class or it will not be answered. Any code segments need to be copied into email and not attached as they are too large to be handled in many email formats and they require rebuilding the project by me, which in most cases is not necessary. Thank you for your consideration in this regard. I maintain a pretty wide open email “virtual office” policy as long as these rules are followed.

IS 105 Syllabus S. Clayton Spring 2007 3 Attendance/Exams/Quizes: missed exams WILL NOT BE MADE UP. If you miss a scheduled exam, the weight of that exam (number of points) will be assigned (added) to the Final Exam points. EXAMS/QUIZES WILL NOT BE “MADE UP”, UNDER ANY CIRCUMSTANCES. There will be enough quiz points that with proper attention to attendance you will not be penalized. Exams will take place during the class time(s) scheduled below. All exams cover material covered since the last exam, except the final exam which is COMPREHENSIVE. The coding quizzes will also cover programming concepts used from the beginning of the class

Project Requirements: Projects (i.e. programming assignments) MUST be turned in on time and judged satisfactory by the instructor in order to pass the requirements for this course. The point totals for programs are low, but NO ONE WILL PASS THIS COURSE WITHOUT SATISFACTORILY COMPLETING THE PROGRAMMING ASSIGNMENTS. If projects are turned back they must be accompanied by the original work in order to be re-scored. Please see academic honesty portion of this syllabus and the Drake University Student Handbook.

Course Overview: As you can see the projects carry very few points, but the in class quizzes (your individual effort) are weighted quite heavily. You want to make sure that no matter how many resources you use in completing programming projects that you understand what has been done. This virtually eliminates the concept of “cheating” from this class. The only way to learn to code IS to code and your effort will be rewarded in class with good quiz scores. Grading : Your grade will be based on the following: (See Course Outline and course postings in Blackboard for specific assignments/due dates)

Midterm 50 A 90%-100% Coding Quizzes 90 B 80%-89% Final Exam 100 C 70%-79% Programming Projects (9) pts vary by D 60%-69% project 165 F below 60% In-class/ Attitude/Participation 25

Total for course 430 approximate (may change see Blackboard for updates)

IS 105 Syllabus S. Clayton Spring 2007 4 Turning in Work: (if physical hard copy submission is required, otherwise follow Blackboard instructions, where most projects will require that the files be zipped prior to submission and NEVER submit from your USB drive) ,

1. All homework will be submitted typed (unless in class or otherwise specified).

2. All homework will carry a coversheet (also a header or footer with same info) that contains the course name – IS 105 - Clayton, Spring 2007, full name. Note: please do not put University Id on the outside of any work that you are handing in, either homework or projects due to privacy concerns.

3. All homework is due at the assigned date/time or before (can be turned in to office, to mailbox through office support in Aliber 200, but not once class has started as this is very rude). Most will be submitted through Blackboard.

4. No late homework will be allowed for any reason. Could be turned in early, see above.

5. Remember the academic honesty issues visited in the syllabus and the Drake Student Handbook.

6. If hard copy submission is required it will be submitted in a manila envelop (the kind with a metal brad to close it) with the info stated above on the outside of the envelope (or you will not receive points for the assignment/project) and on all documentation included in the project (unless otherwise specified by the specific project).

7. NOTE: All computer files used in homework MUST have your name or other uniquely identifying info IN THE FILENAME (NOT MERELY AS A COMMENT IN THE PROGRAM!) and in all uses of resources etc affiliated with the specific homework of project. If you do not understand this re - quirement it is your responsibility to ask as failure to fulfill this requirement will give you a zero for the project or homework assignment. Oddly enough if past history repeats itself it is the last project that students most often have trouble with on this requirement!

8. Once again if there are any questions related to homework or projects it is YOUR responsibility to ask the instructor. DO NOT ASSUME! This course is about learning a detailed oriented process for problem solving, and following directions is critical to your success in this course Please consult Blackboard www.bb.drake.edu for the course for the most current information and notes regarding projects and assignments. Once again it is your responsibility to consult Blackboard fre- quently to make sure you are not “missing anything”.

IS 105 Syllabus S. Clayton Spring 2007 5 IS 105: VisualBasic.NET Programming Course Lecture/Reading Assignment/Program/Exam/Quiz Outline: Many (7 to 9) weeks class periods will end with a 10 minute coding quiz (excluding the first class and several that are used for other purposes, like project walkthroughs), these quizzes will be made up of material learned in your programming project in your learning teams and current course material. Most quiz topics will be an- nounced in class, but will not be confirmed elsewhere. Please be advised that changes to this schedule will be posted to Blackboard and the web site and announced in class.

Month Date Day Topic(s) Reading/Assignment Jan 16 T Introduction of Instructor and students Chapter 1 Introduction (should Course Introduction and technology be known to you from prior discussion of room and labs classes/experiences, but Overview of syllabus (accessible from please review) web or Blackboard, see above) 18 R How will all of this work? Walk through Chapter 2 VS.NET 2003 IDE of IDE and procedures for building and and Chapter 3 Intro to Visual running applications Programming (in class assign) 23 T TextBoxes and Buttons Chapter 4 25 R Introducing Programming Chapter 5 (Project #1)** 30 T Variables, Memory and math Chapter 6 Feb 1 R Program Control Chapter 7 (Project #2) 6 T CheckBoxes and Dialogs Chapter 8 8 R Loops – Do While/Do Until Chapter 9 (Project #3) 13 T Loops – Do Loop While/Do Loop Until Chapter 10 15 R 20 T Loops – For Next Chapter 11 22 R (Project #4) 27 T Select Case Multiple Selection Chapter 12 March 1 R Midterm Exam Ch 1 - 12 6 T Function Procedures and Sub Chapter 13 8 R 13 T Using Dates and Timers Chapter 14 15 R (Project #5) Spring Break No Classes – March 19 - 23 27 T Scope, Pass-by-Reference/Value Chapter 15 Option Strict 29 R One-Dimensional Arrays/ComboBoxes Chapter 17 April 3 T Two-Dimensional Arrays, Chapter 18 RadioButtons 5 R Keyboard Events, Menus and Dialogs Chapter 22 (Project #6) 10 T 12 R Strings Chapter 23 (Project #7) 17 T April 19 R Sequential-file Access Chapter 24 24 T (Project #8)

IS 105 Syllabus S. Clayton Spring 2007 6 26 R Database Programming Chapter 25 May 1 T (Project #9) 3 R Final Exam Thursday, May 10th **Projects are noted by 9:30 to 11:20 a.m. Chapter, see Blackboard for due dates and specific instructions

IS 105 Syllabus S. Clayton Spring 2007 7 Structure of Programming Component of IS 105 – First, I hope to deliver a course that fulfills the true mission of an IS course to deliver BOTH theory and practice…programming CONCEPTS and specific MS Visual VISUALBASIC.net SKILLS. This is one of the few disciplines where you are first judged on your ability to provide a skill/service and later as you move into management to combine (not LOSE mind you) that skill with conceptual design/application thinking. This will be a rigorous course. IS is not for everyone…it is not an easy way to make a living. Companies have become increasingly demanding of their IS professionals and EXPECT quality work from day one. You are competing for positions long term in an environment where you must distinguish yourself. Technical competency is only one way, but it is a formidable one. We hope to have at least one or two guests come into the classroom to talk about what really happens “out there”. There is a direct correlation between how well you do in this MIS programming course and your success at the upper levels of this major. I don’t want to hear, “I can’t program, but I can do that ‘other’ IS stuff”. The ability to think logically and solve a business problem using a step-by-step methodology is imperative to this field… programming is a way to achieve that goal. You may choose not to program as you go out into the world, but the concepts that you learn (if you do well in the course) will benefit you in whatever area of MIS you choose. See also discussion of learning teams. See sample peer review sheet attached. See also reference to University policy on academic honesty.

I will address SPECIFIC code related questions in email, but will do nothing in response if you do not label your Email with your full name (in the header of the email…if I cannot tell who is sending the email I will simply delete it without opening it for obvious virus protection reasons), or if you simply say “what’s wrong with this?”. If you come in during office hours or question a teaching assistant NEVER expect us to code the program for you…you need to have walked through the problem and arrived at a possible solution (or solutions) prior to bringing the program in. In the same vein I do not want you to “spin your wheels” for a long time without asking for help…remember I am here to TEACH you, but I am only one resource of many available to you.

There also may be unannounced in class exercises and assignments…many of these, due to the team nature or content may NOT be made up. If you know in advance that you must miss a class you may consult the instructor for the assignment for that date (preferably through Email) and the assignment MAY be able to be accomplished. This is only if you ask BEFORE the class period missed!

Quizzes: There will be a quiz almost every week (excluding the first one and the final review and others as scheduled). These quizzes will come from the programs and from the current text material. These quizzes will be done in the last 10 to 15 minutes of class and will mostly consist of Visual Basic.NET code. You can’t study for these quizzes per se…they will reflect your general knowledge and understanding of the course material. You need to stay current in your readings/projects/assignments. They will be open book/note but the time will be strictly enforced. These will be done individually and truly reflect your personal understanding of the projects. Each quiz is worth 5 points. Remember there are also 25 points for in class and participation points associated specifically with in class assignments and in class attitude.

IS 105 Syllabus S. Clayton Spring 2007 8