ISM 240: Programming 1 Fall 2014 Instructor: Co-Instructor: Office: E-Mail: Phone: Office Hours: Jeffrey Wall Hamid Nemati 392 Bryan Building jdwall2@uncg.edu (email is the preferred method of contact) (336) 334-4159 (I don’t have a voicemail box) Tue & Thu from 11:00 am – 12:30 pm And by Appointment Catalog Description: Introduction to the planning and creation of computer programs for solving business-related problems. Emphasis on problem analysis and objected-oriented programming techniques. Students utilize an object oriented programming language. Course Objectives: Upon completion of the class, students will be able to: 1. 2. 3. 4. 5. Plan and design solutions to business problems Translate those solutions to computer programs Use Visual Basic 2012 to create and modify files Write, test, and debug Visual Basic 2012 applications that contain forms, objects, event handling, methods, decisions, iterations, arrays, databases, and object oriented programming concepts. Learn to use official documentation and online forums to assist with issues for assignments, exams, and projects. Required Materials and Textbook: In this class, we will use Visual Studio 2012 to develop programs in Visual Basic. This class will primarily use one book. The book and other supplementary materials are available to all registered UNCG students via the Safari Texts online database at UNCG Libraries for FREE. Go to: http://library.uncg.edu/dbs/dbs-byletter.aspx?showdbs=S 1. 2. 3. 1 Go to the UNCG Libraries Page at library.uncg.edu Select Databases. Choose ‘S’ and you will see this screen. Search for and bookmark for yourself the following books for easy access for the entire semester. Required Text – you can use the online version on Safari Tech Books for free or purchase a physical copy. Visual Basic 2012 Unleashed, Second Edition o Print ISBN-10: 0-672-33631-6 o Print ISBN-13: 978-0-672-33631-7 o Web ISBN-10: 0-13-325584-0 o Web ISBN-13: 978-0-13-325584-3 o http://proquest.safaribooksonline.com/book/programming/vb/9780133255843 Supplementary Texts – you can use the online versions on Safari Tech Books for free or purchase physical copies. http://msdn.microsoft.com – contains documentation and samples Sams Teach Yourself Visual Basic 2012 in 24 Hours o Print ISBN-10: 0-672-33629-4 o Print ISBN-13: 978-0-672-33629-4 o Web ISBN-10: 0-13-325574-3 o Web ISBN-13: 978-0-13-325574-4 o http://proquest.safaribooksonline.com/book/programming/vb/9780133255744 Instructional Methods: This course will be delivered by mixing lectures and discussions with code-alongs, programming assignments, and a team project. Lectures and discussions will give students a basic understanding of programming topics and a foundation for engaging in the hands-on programming exercises. Students will have the opportunity to practice the techniques discussed in lecture by completing programming assignments, exams, and projects. The assignments are designed as homework, but lab time will be provided to assist students in answering questions and resolving issues. Lab sessions will not be guided by the instructor. Students who do not complete some work before the lab session may find it difficult to complete the assignments on time. No late assignments will be accepted. Students are expected to learn how to find information to solve the problems they encounter in the hands-on exercises. Knowing how to find answers is extremely important in programming. Programming languages change frequently and some functionality becomes deprecated. Additionally, libraries and built-in classes and functions allow programmers to build on the work of others. Programmers must be able to find the tools and libraries they need. This requires programmers to stay on top of the latest trends and to find tools and libraries to provide the desired functionality. Thus, hands-on activities will not follow a formal and structured lab style. This structure is to ensure that students learn how to find information and solve problems on their own or in teams. General Preparedness: Students are expected to participate in class. Students are expected to be prepared for class by reading assigned materials. Each student is responsible for all of the information and announcements that are made in class and on Blackboard. Announcements are frequently posted to Blackboard. Poor performance in this course is directly related to poor attendance. Students are expected to conduct themselves in a professional manner. Professionals show up for scheduled meetings prepared and on time and participate regularly. Any student missing the first two classes without notifying the instructor will be administratively dropped from the course. Late Assignments: Take-home assignments cannot be turned in late. Assignments must be completed by their assigned date and time. Exams may only be made-up with a written, verifiable, legitimate excuse or prior written consent from the instructor. Late team projects will be docked 10% for every day late up to 40% off unless previous written arrangements are made with the instructor. No assignment will be accepted after the last official day of class; this does NOT include finals week. 2 Take-Home Assignments: There will be 5 take-home assignments throughout the semester. Assignments are worth 10 points each. To accommodate for emergency situations, the lowest assignment score will be dropped. Assignment dates are posted on the course schedule, but adjustments may be made as necessary. Any changes to the schedule will also be posted to the Blackboard announcements section. Not all material is covered in class. Students are expected to do the assigned readings and search for solutions online to further develop their knowledge and complete assignments. Lab sessions will be dedicated for each assignment. However, they are not guided lab sessions. Students who are struggling with the assignment may come to the lab for assistance. Students are expected to complete as much of the assignment as possible before the lab session. Students who fail to work on the assignment before lab may have difficulty completing the assignments on time. Assignments can be completed in groups of 2-4 individuals or individually. The following stipulations exist when completing assignments as a group. Failure to follow these stipulations will result in a 0 on the assignment. If assignments are copied or shared without collaboration as designated below, students may be subject to additional academic penalties, including an F in the course. 1. All group members must meet in person or via virtual communication platforms that allow for screen captures and voice and/or video communication. 2. All group members should be involved in the programming required in the assignment. 3. Only one assignment should be turned in for the group. 4. The comments section on Blackboard must list the names of the group members. 5. If you do not actively participate in your groups, your grade may suffer on the exams and projects. The following rubric will be applied to grade all take-home assignments: 1. Code does not compile: 2. Code compiles with errors: 3. Code compiles without error but does not run: 4. Code compiles and runs (points added or removed for functionality/design): 5. Code runs with object oriented design (points added or removed for functionality/design): Base Grade 55% Base Grade 65% Base Grade 75% Base Grade 85% Base Grade 95% Exams: The two exams will be take-home practice exams. You will be asked to complete a programming objective to demonstrate the knowledge you have acquired in the course. You will have approximately one week to complete each exam. Class will not be held during the exam to ensure that you have ample time to complete the exams. Students are responsible for material in the assigned readings even if not covered in class. No make-up examinations are offered unless a written, verifiable, legitimate excuse for the absence is presented to the instructor or written arrangements are made beforehand. The exams are open-note, open-book, and open-Internet. Communication or collaboration with any human being on the exams is strictly FORBIDDEN and will result in academic penalties up to an F in the class. Team Project: Students will develop a program for a company. The company and a description of the desired program will be provided by the instructor. However, students are encouraged to contact the instructor within the first two weeks of the semester if they have a project that they would like students to work on. Teams will consist of 3-4 students. An assignment sheet will be posted to Blackboard describing the details of the project. The project is worth 250 points of your final grade. Grading: Your final grade is determined using the following scale and assignment weights: Points Grade Points Grade Points Grade Points Grade 97-100% A+ 87-89% B+ 77-79% C+ 67-69% D+ 93-96% A 83-86% B 73-76% C 63-66% D 90-92% A– 80-82% B– 70-72% C– 60-62% D– Below 60% Deliverables Points Assignments (10 points each) 40 points Midterm Exam 100 points Final Exam 100 points 3 F Team Project 250 points Total 490 points Ethical Issues and the Honor Code Policies: University students are expected to conduct themselves in accordance with the highest standards of academic honesty. Academic misconduct for which a student is subject to penalty includes all forms of cheating, such as illicit possession of examinations or examination materials, forgery, plagiarism, etc. Although students are allowed to work with others during activities and on team projects, students may NOT borrow, or "share" their work. Students will receive a 0 for the deliverable if misconduct is proven. Students should read and must follow the UNCG Honor Code. Plagiarism is defined as "presenting as one’s own work that work which is, in whole or in part, the work of another person or persons without giving proper credit to the appropriate source." This includes submitting work done by another as one’s own work. It is understood that what you turn in to me for a grade represents your own effort. Plagiarism will be immediately punished with a 0 for the assignment in question. Further disciplinary action will be pursued as the instructor deems appropriate. No credit will be received for copied work, and other academic penalties may be imposed. Teamwork does NOT include one person completing an assignment and then sending the assignment to another student. UNCG’s academic integrity policy can be viewed at: http://academicintegrity.uncg.edu/complete/ Bryan Faculty/Student Guidelines: Faculty and students at UNCG have certain obligations. Please view these obligations and guidelines at: http://www.uncg.edu/bae/faculty_student_guidelines_sp07.pdf Disabilities: If you have a documented disability and wish to discuss academic accommodations, please contact me as soon as possible. Inclement Weather: Rarely, UNCG closes for inclement weather. The radio and TV stations will have the closing notification by 6:30 am. You may also call 334-5000 for a message related to weather closings. These messages are updated hourly. * This syllabus is subject to change as needed * 4 Tentative Course Outline *This outline is subject to change as needed* OOP = Object Oriented Programming Week Of Tuesday Thursday Blackboard Readings Deliverables Week 01 (08/18) Syllabus. Event-Based Programming Introduction to the Visual Studio IDE and Events Intro to the IDE Week 02 (08/25) OOP User Interface Objects OOP Code-Along (User Interface Objects) Intro to Classes Week 03 (09/01) OOP Working with Classes Lab Time for Assignment 1 Intro to Inheritance Assignment 1 due 09/05 at 11:59 pm Week 04 (09/08) OOP Code-Along Working with Classes Lab Time for Assignment 2 Intro to Arrays Intro to Loops Assignment 2 due 09/12 at 11:59 pm Week 05 (09/15) Arrays (vectors and matrices) and Loops Arrays and Loops Code-Along Intro to Data Types Common Operators Week 06 (09/22) Optional Exam Review Lab Time for Assignment 3 No Reading!! Week 07 (09/29) Take-home Exam1. No Class. (collaboration of any sort will result in academic penalties) Week 08 (10/06) WPF Applications/XAML WPF Applications/XAML Intro to WPF Week 09 (10/13) Spring Break! No Class!! Enjoy! WPF Applications Code-Along No Reading!! Week 10 (10/20) Database Integration Lab Time for Assignment 4 Intro to OleDb (database) Assignment 4 due 11/07 at 11:59 pm Week 11 (10/27) Database Code-Along Lab Time for Assignment 5 No Reading!! Assignment 5 due 11/14 at 11:59 pm Week 12 (11/03) Catch-up Day Catch-up Day No Reading!! Week 13 (11/10) Open Lab. Dedicated time to work on Team Project Open Lab. Dedicated time to work on Team Project No Reading!! Week 14 (11/17) CMV Framework Take-home Exam2. No Class. (collaboration of any sort will result in academic penalties) Week 15 (11/24) Take-home Exam2. No Class. Thanksgiving Holiday! No Class!! Enjoy! Assignment 3 due 09/26 at 11:59 pm Exam1 due 10/04 at 11:59 pm 5 No Reading!! Exam2 due 11/25 at 10:00 pm Finals Week No Class. Team Project Due 12/09 at 8:00 am 6