Information Systems and Supply Chain Management Bryan School of Business and Economics University of North Carolina at Greensboro ISM 672: Web Programming (Online Course) Fall 2013 Instructor: Dr. A. F. Salam Associate Professor of Information Systems Email: amsalam@uncg.edu Course Website: https://blackboard.uncg.edu Instructor Site: http://www.uncg.edu/bae/people/salam Required Textbook: Beginning PHP 5.3 Author: Matt Doyle Edition: 2010 (Published Oct 2009) Wrox Press– Published By Wiley Publishing Inc. ISBN: 978-0-470-41396-8 Online References: I) II) PHP Documentation Website: http://www.php.net/manual/en/index Note: May be somewhat confusing to some http://www.w3schools.com/ - Strongly recommend this site. This site has many examples, which are easy to follow. Introduction: This course will provide students with a fundamental and basic introduction to Web Programming. In this course, we will learn PHP as our primary programming language along with related set of technologies such as HTML and CSS. We cover fundamentals of programming, object-oriented programming concepts as well as developing applications with MySQL backend database system. This set of web technologies ensures that students are able to apply the PHP language in developing introductory level Ecommerce applications. HTML and CSS combined with PHP programs provide the user interface required in a web or Ecommerce application. MySQL Database System provides backend data support for ecommerce applications. Additionally, we also consider and discuss various issues related to information technology and management in a digital economy. Course Objectives: After completion of the course, students should be able to: 1. Analyze programming principles for developing web applications. 2. Examine programming concepts for developing web applications. 3. Test technologies needed for developing web applications. 4. Evaluate programming techniques in developing web applications. 5. Evaluate entrepreneurial opportunities related to using Web applications and technologies. 6. Synthesize managerial and entrepreneurial issues related to using web applications in a new or existing business. Online Course and Navigation in a New Learning Environment: ISM 672 being an online course makes use of a new and somewhat novel approach to learning programming. In-class course in programming is different than an online course. In a face-to-face course, you have the option of a rich interactive communication with the instructor. But in an online setting, this communication is replaced by online computer-based approach. The most important distinction between the two approaches to teaching a programming course is that an online student has to be more responsible in terms of keeping up and keeping pace with the delivery of the course. The student has to manage time very effectively and must follow a structure that allows her or him to manage the learning process effectively as well. Since there are no more classes to go to at a set time, the imposed structure of a face-to-face class no longer exists. This freedom is good on one side but it may be difficult for some if one is not careful and disciplined enough to follow a study routine that works for the individual. So in short, I strongly suggest that you plan ahead and set aside time for this course in your own personal calendar taking into consideration all other constraints. A set number of hours must be there for you to study, practice the examples in lecture notes and the textbook, and complete the graded assignments in a timely manner. Programming just like driving cannot be mastered by reading books or lecture notes. You can read all about driving but you cannot drive unless you practice driving on the road. Just like driving, programming is experiential learning. You must write programs, find solutions to why your program is not working (called debugging) and apply the programming principles in the process. Practice makes you proficient in programming. You end up with more confidence in your ability to write high quality programs. So please keep these in mind as you embark on your journey this semester in ISM 672. Student Study Hour Requirements: As you can see, this course deals with a significant amount of concepts and technologies that are new. I suggest that you set aside at least 7 to 8 hours of study time per week depending upon the difficulty of the topic. These are suggested times and will vary for each individual student depending upon the background and experience of 2 each student. You should also be prepared to learn how to install, configure, test and use different pieces of software technologies that are needed in this course. It is expected that students be prepared to cope with the demanding and often frustrating elements of dealing with software development, programming and testing. Software development requires many hours of patience. Student Responsibilities Related to ISM 672 Online Course: Please note that this is a purely ONLINE course on Web Programming. There are NO face-to-face classes in this course or face-to-face Office Hours. Every activity including lectures, lecture notes, PHP Program demos, assignments and exam submissions and all course related communication occurs over the Internet. Primary means of communication and course material delivery occurs over the UNCG Blackboard (BB) System and UNCG Spartan Email System. Since this is an ONLINE course, it will be dynamic in the sense that frequent updates to some materials may occur depending upon difficulty of the concepts covered during the semester. Students will be notified via BB Announcements and Emails. So it is IMPERATIVE to check Email and BB course site for Announcements and Updates. Students are solely responsible for ensuring that they have a reasonably fast and updated computer system (Windows 7 or Windows 8 or Mac OS X) and preferably Broadband Internet connection to access course materials in a timely manner from the UNCG BB system. Broadband connection is strongly recommended, since many of the course materials are delivered via pdf documents, which are sometimes quite large. Many of the pdf documents may contain embedded lectures. There are many video lectures delivered through Blackboard as well. These video lectures demonstrate with examples many fundamental programming concepts to help student master the course materials. Students are solely responsible for successfully installing ANY and ALL software such as XAMPP for Windows 1.8.2 or MAMP for Mac (if you have Apple Mac computer) and NetBeans IDE 7.3.1 and Adobe Reader (latest version) and Apple Quicktime Video Player (latest version) on their respective computers. Please follow the links as well as documentation and lecture demo video under BB course Menu Item “Course Pre-req. and Required Software”. Under this Menu item you will find the following items related to ALL required software that we need for this course (see Figure below). All of these softwares are free for learning and development. The following figure provides information and instructions for downloading and installing required software for this course. 3 Please NOTE: Every student MUST install and test all of their required software installation by August 23, 2013. This is a hard deadline because you CANNOT expect to function as a proficient student if the software you need for the course do not work on your computer. If all the required software do not work properly, You WILL fall behind. Each student is solely responsible for making sure that her/his ‘system’“computer, required software and Broadband Internet connection”-ALL work properly throughout the Fall 2013 semester including the Exam Week in December 2013. The course Instructor cannot be held responsible for any and all ‘system’ components mentioned above. Failure to submit any assignments and/or Exams or Quizzes in a timely manner due to any ‘system’ problem mentioned above is the sole responsibility of the student. 4 Instructional Methods: The course is delivered online through a mixture of readings, video lectures, exercises, and assignments via UNCG Blackboard course site. Exams and Quizzes: This course will include one online Mid-term and one online Final Project (Project II). There is no Final Exam. Online participation in Midterm is mandatory-- no make-up examinations are given for any reason (except for verifiable medical circumstances with prior notification) and in that case, the grade for the Midterm may be transferred to the Final Project (Project II) at the sole discretion of the instructor. All Exams and Assignments are delivered through the UNCG Blackboard system and students are required to complete these Exams, Assignments and Projects through the Blackboard system as well within the prescribed time and procedure as set by the instructor. Attendance Policy: There is no in-class meeting in this course and as such there is no attendance required in the sense of a face-to-face class. But the instructor may hold online discussion sessions on various topics and it is expected that students attend those sessions asynchronously (each student participating at a different time) while the topic is considered. Communication: Students are expected to communicate with the instructor primarily via email as necessary. The instructor will make every effort to respond to student emails within 48 hours. Many times the instructor may respond to a set of student emails that revolve around the same problem topic via posting of audio or video demo lectures or with sample programs and notifying the students via email of the available solution to their questions. Technology Applications Technological advances in computing are addressed throughout the course. Ethical Perspectives: This course will address ethical perspectives in the context Web Programming and related technologies. Global Perspectives: This course will address global perspectives only in the context of technology, its impact and management. Demographic Diversity Perspectives: This course will not specifically address the issues of demographic diversity. Political, Social, Legal, Regulatory, and Environmental Perspectives: This course will not specifically address the perspectives of Political, Social, Legal, Regulatory, and Environmental issues except those that are relevant to the use Web Programming and related technologies. 5 Grading: Grades for the course are based on examinations, assignments, projects as shown in the table below. The final grade for the course will be determined as follows: Note: Details about the Assignments, Projects and Exams will be given in time. Each Assignment and Project is to be completed by Individual Student unless otherwise indicated by the Instructor. Detailed Course Schedule will be posted in time. Course Components Assignments Practice Assignments These are NOT graded and are NOT to be submitted Used in Discussion Board to Clarify Concepts BB Online Discussion Participation and Contribution Mini Term Paper Blog Midterm Exam Final Project II: Ecommerce App Dev Using PHP, HTML, CSS and MySQL Database Point Distribution 30 0% Due Dates NOTE: Detailed Schedule will be posted in time with Due Dates 10% (Based on Active and Meaningful Participation) 10% 25% 25% NO FINAL EXAM Total 100% The relationship between total points and letter grades is as follows: 95 <= X < 90 <= X < 87 <= X < 83 <= X < 80 <= X < 76 <= X < 70 <= X < 0 <= X < 100 95 90 87 83 80 75 60 A AB+ B BC+ C F 6 Honor Code Policies: University (UNCG) 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, and/or plagiarism. Students will NOT make, borrow, or “share” copies of their project assignments or files with other students. 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 any published material available on the Internet). This includes submitting work done by another as one’s own work. Helping one another is allowed on practice assignments only but NOT allowed on assignments that are to be graded. Copying another person’s work is cheating. This practice violates the UNCG Honor Code and defeats the purpose of this course. No credit will be received for shared work, and other penalties may be imposed. Please refer to the UNCG Honor Code Policies as applicable to online courses. Posting Grades: Grades for courses, offered in the ISOM Department, are not posted and are not supplied over the telephone or email. Final semester grades will be posted on UNC Genie. Interim grades will be posted in a timely manner in the Blackboard grading area. 7