MIS 3501 – Application Development Fall 2010 (Section 001) Instructor Paul Weinberg Office: Speakman Hall 209J +1-215-204-9563 http://community.mis.temple.edu/pweinberg/ Class Location weinberg@temple.edu Office Hours: Posted on the MIS Community Site (Staff Category) TR 9:30-10:50 Alter 603 Course Objectives This course teaches the development of object-oriented, business-oriented applications. The language used in this course will be C#, although the basic concepts covered in this course could be applied to object-oriented development in general. C# is a “true” objectoriented language, making it an appropriate choice for learning object-oriented concepts. The course uses Visual Studio, an integrated application development environment from Microsoft. The emphasis of the course is to provide the skills necessary to develop a complete database application. In-class examples include a product maintenance example which is initially presented as a simple Graphical User Interface (GUI) application. The example is enhanced during the course using object technologies and eventually accessing and updating a relational database. In this course, students will learn: Basics of applications development using C# and Microsoft Visual Studio (VS) to develop GUI applications The software object and how it can be used to solve business problems The use of class libraries and reusable components The construction and deployment of custom reusable components Related Courses The prerequisite for this course is MIS 2501. The fundamentals of programming (such as using Visual Studio, basic GUI programming, data types, debugging, and flow control) will be reviewed in this class. However, the assumption is that students are already familiar with these topics. MIS 3501 Syllabus Spring 2010 20100725 MIS 3501 Syllabus Page 2 Textbooks and Supplies The book for the course is Murach, Joel, Murach’s C# 2008, Mike Murach & Associates, Inc., 2008, ISBN 978-1-890774-46-2. This was the book used in recently in MIS 2501. Additional Materials Software Additional materials are available at the Murach website http://www.murach.com Microsoft C# 2008 Microsoft Visual Studio 2008 Please do not use Visual Studio 2010. Assignments submitted using Visual Studio 2010 will not be graded. Microsoft Windows XP Professional or Windows Vista o This software is installed in the Speakman and Alter Labs. You can obtain a free software CD for your personal use in connection with course assignments. For instructions, go to http://community.mis.temple.edu/technology/softwarelicenses/ o A file compression program which can create and retrieve “zip” files. You can obtain a free copy of 7-zip, an free open source file compression program from http://www.7-zip.org/ Alice, a programming system for developing virtual worlds. (Not required but helpful.) You can obtain a free copy at http://www.alice.org Other Media or a USB device to save your homeworks and in-class exercises. MIS 3501 Syllabus Fall 2010 20100725 MIS 3501 Syllabus Page 3 Evaluation Item Percentage Midterm 1 26% Midterm 2 26% Final Exam 33% Projects (5) 15% Final grades are not rounded in calculating term letter grades. Scale 94 – 100 90 – 93 87 – 89 83 – 86 80 – 82 77 – 79 A AB+ B BC+ 73 – 76 70 – 72 67 – 69 63 – 66 60 – 62 Below 60 C CD+ D DF MIS Community Site, Announcements, and Blackboard Class materials (notes, presentations, projects, in-class exercises and examples) are located on the MIS Community Site. The URL for the course is http://community.mis.temple.edu/mis3501sec001f10/. This site also contains staff contact information. You are responsible for checking the site daily for updates and announcements. The Community Site is structured like a blog-based social networking site. A word of caution: Be careful posting project code on the MIS Community Site! For more information, read the section of the syllabus titled “Plagiarism and Academic Dishonesty.” Course announcements will appear on the Community Site as blog posts. You should check the announcements area several times a week. Select the announcements category to view the announcements. To avoid missing announcements, I recommend that you subscribe to the announcements using a Really Simply Syndication (RSS) feed. Click the RSS icon next to the announcements category in the Community Site course blog to subscribe. The announcements can be automatically sent to your MyYahoo or Google homepages, a folder in Microsoft Outlook, a mobile device, and other RSS readers. (The choice is especially easy to make if you are using the Firefox browser.) There is also a Blackboard web site for this course, accessible at http://tuportal.temple.edu. The Blackboard site will only be used for homework submission. All materials and your gradebook are located on the MIS Community Site. Attendance Policy I expect full attendance by every member of the class. I expect you to arrive on time to class and not leave before the class is over. Attendance may be checked randomly throughout the semester. There are obvious benefits of regularly attending class. In addition, I may reduce the grades of borderline cases with poor attendance records. MIS 3501 Syllabus Fall 2010 20100725 MIS 3501 Syllabus Page 4 Exams There will be three exams during the semester, two midterms and a final. The dates in the midterm are listed in the course schedule below. The final exam is cumulative but will emphasize material covered after the second midterm. Missed exams cannot be made up, regardless of the reason for absence. Plagiarism and Academic Dishonesty Plagiarism and academic dishonesty can take many forms. The most obvious is copying from another student’s exam, but the following are also forms of this: Copying material directly, word-for-word, from a source (including the Internet) Using material from a source without a proper citation Turning in an assignment from a previous semester as if it were your own Having someone else complete your homework or project and submitting it as if it were your own Using material from another student’s assignment in your own assignment Plagiarism and cheating are serious offenses. Penalties for such actions are given at my discretion, and can range from a failing grade for the individual assignment, to a failing grade for the entire course, to expulsion from the program. In an application development course like this one it is sometimes difficult to figure out where the line is between helping a fellow student and academic dishonesty. I want you to be able to discuss the projects and assignments with each other, but you should do your own work. There are some simple rules to follow: Never share an entire solution (application) with another student. Do not share with another student, or accept from another student, large blocks of code (more than 3 or 4 lines per project or assignment). Do not do part (or all) of another project assignment for another student. What you can do: Help another student fix a compilation or logic error in their code. Explain to another student what I’m asking for in an assignment. Help another student think through a problem. If you have a concern about what constitutes acceptable behavior, come ask me before you do it! For more information, refer to the Temple University student code of conduct, available at http://www.temple.edu/assistance/udc/coc.htm. MIS 3501 Syllabus Fall 2010 20100725 MIS 3501 Syllabus Page 5 Student and Faculty Academic Rights and Responsibilities The University has adopted a policy on Student and Faculty Academic Rights and Responsibilities (Policy # 03.70.02) which can be accessed through the following link: http://policies.temple.edu/getdoc.asp?policy_no=03.70.02. General Policies Students who are performing poorly will not be given additional work to improve their grades. It is not fair to the rest of the students. Submission of Projects Projects are to be submitted electronically. The files you create should be compressed in one “zip” file. Projects will not be accepted in other archive formats (e.g. rar or 7z). Use the Blackboard Assignment Feature to send your project zip file. Be sure you print and retain the receipt page. This page can be used to demonstrate on time submission of your project. The Temple email system cannot be used to submit projects because it rejects files containing programs. Other email systems may also reject zip files containing programs. When you send assignments, be sure you only include letters and numbers in the title of the zip file. Do not include other characters (e.g. #, $, %, etc). The file will not be sent if you include these characters. A project is considered late if it is turned in after the start of class the day it is due. No late projects will be accepted without penalty. Projects will be assessed a 10% penalty each day they are late. No credit will be given for projects turned in more than a week late, but you still need to turn them in. If you decide to skip a project there will be a penalty of half a letter grade (5%) off of your final grade (in addition to the 3% the project was worth). Late projects will not be accepted after last regular class session. During the semester, storage units will fail and printers will be out of service. You should always make a backup of your files (if it’s really important, make two backups). Equipment, network, other technology failures, or Septa service issues are not acceptable reasons for turning in a project late. Projects will not be accepted after the last class meeting. Once a project has been graded, additional project materials will not be accepted. Be sure you understand the submission requirements for each project. You are responsible for submitting the correct projects and the correct files. No credit will be given for: Projects submitted which are missing files or include the wrong files. Programs which do not compile and run. Parts of programs which do not run. These projects will be subject to the late project policy (above). MIS 3501 Syllabus Fall 2010 20100725 MIS 3501 Syllabus Page 6 Schedule (Keep in mind that all dates are tentative) The primary source of material for this course is the textbook. Before each class meeting, you should review the chapters in the text. I may also provide additional material, either available on the Internet or passed out in class. Please print the lab exercises before class and bring them to class with you. You may find it helpful to bring the book and notes posted on community.mis.temple.edu and Blackboard. MIS 3501 Syllabus Fall 2010 20100725 MIS 3501 Syllabus Topic Page 7 Notes Other Week 8/31 9/7 9/14 PART 1: GUI Development using an IDE; C# Concepts Week 1 Exercise: Review of Basic GUI Programming (from 2501) Chapters 1,2,3,4,5 Course Introduction: Relationship of this course to others in the program Review: o Building, Testing and Running applications using VS .net o Creating a GUI o Properties, methods, and events o Responding to events o Running projects and debugging o Variable and method keywords o Declarations and data types o Data conversion o Loops Week 2 Exercise: Progressive tax calculation using an if statement Chapter 6 Loops, methods Event Handlers Week 3 Exercise: Using a method in an application with a loop Chapters 7,8 One dimensional arrays Handling Exceptions and Validating Data Week 4 9/21 Exercise: Arrays Arrays and Collections Debugging Applications Dates and Strings Chapter 8, 9 PROJECT 1 DUE 9/21 Writing and using a method Week 5 9/28 Exercise: ArrayLists Arrays and Collections ArrayLists EXAM 1 on Tuesday 9/28 (Chapters 1-9 And one dimensional arrays) MIS 3501 Syllabus Fall 2010 Chapter 8 20100725 MIS 3501 10/5 10/12 10/19 10/26 11/2 Syllabus Page 8 PART 2: Object Oriented Applications Week 6 Exercise: Introduction to objects Object Class Creation and Use Chapter 12 Class Definition Attributes Methods Constructors Working with classes in Visual Studio Week 7 Exercise: Introduction to objects Object Class Creation and Use (continued) Chapter 12 Class Definition Attributes Methods Constructors Week 8 Exercise: Review Object Class Creation and Use (continued) Chapter 12 Static methods and attributes Deep and Shallow Copies Review and catchup Week 9 Exercise: Array of Objects Chapter 12 Objects within Objects Objects as Method Parameters Arrays of Objects ArrayLists of Objects Week 10 Exercise: Objects within Objects Developing multi-form applications Review and Catchup EXAM 2 (Chapters 1-14) on Thurs 11/4 MIS 3501 Syllabus Fall 2010 PROJECT 2 DUE 10/7 Arrays and loops in C# PROJECT 3 DUE 10/26 Creation and use of an object class Chapter 10 20100725 MIS 3501 11/9 11/16 11/23 12/2 Last Class 12/7) Syllabus PART 3: Inheritance Week 11 Exercise: Simplified Inheritance Inheritance Chapter 14 Class notes Basic Skills Object Types and Casting Week 12 Exercise: Review Inheritance Chapter 14 Overriding parent classes Public and Private Constructors and Inheritance Week 13 Exercise: Interfaces Chapter 14,15 Collections of objects created from an Class notes inheritance structure Interfaces Week 14 Exercise: Inheritance Review Additional topics Chapter 24 Inheriting from GUI Objects Adding menus to a form Toolbars Help FINAL EXAM DURING EXAM WEEK MIS 3501 Syllabus Fall 2010 Page 9 PROJECT 4 DUE 11/18 Inheritance PROJECT 5 DUE 12/2 Array of GUI Objects 20100725