Instructor:
Jeremy Shafer (jeremy@temple.edu)
Physical Office: 209D Speakman Hall
Phone: (215) 204-6432
Profile: http://community.mis.temple.edu/jshafer
Office Hours:
- 2:30 pm – 3:30 pm every Monday & Wednesday
- Other times by appointment
- Office hours are in effect 8/26/2024 through 12/9/2024
- Email: jeremy.shafer@temple.edu (Please be specific in your email communication with me, kindly include your name, course, and section for a faster reply)
Class Locations and Time:
- Section 4: 4:00 pm to 5:20 pm, Monday and Wednesday, In Person, Speakman Lab 12
- Section 4 on the web: https://community.mis.temple.edu/mis2402sec004fall2024
Prerequisites:
Either MIS2101 or MIS2901 are prerequisites. Students must also take MIS2502 in the same or prior semester. Prior programming and/or web development experience is advantageous, but not required.
Course Description:
The ability to program in any language is a great asset to any person working in IT, regardless of his/her chosen area of expertise. Likewise, the Internet is a pervasive element in all IT solutions. An understanding of the underlying protocols of the Internet and how web applications work is advantageous to any IT professional.
This hands-on programming course uses open-source software to provide students with an understanding of programming fundamentals. This class is designed to develop individual proficiency and reward individual achievement as students develop the skills necessary to create solutions that interact with web APIs.
To develop a web application, the student must develop competency in a number of different technologies, and ultimately use them in combination to create a whole solution. This class is structured so that individual technologies are introduced, and then combined to create increasingly more sophisticated results.
Course Objectives:
- Learn and apply the basic principles common to all programming languages (e.g., variables, algebraic expressions, logical expressions, if/else statements, loops, functions, arrays, and objects) using JavaScript.
- Develop the logical thinking skills necessary to break down tasks into component steps and express those steps in code.
- Be able to use debugging tools to identify problems with the code.
- Learn the basic structure and syntax of HTML5, CSS, and JavaScript. Be able to use and combine these languages to present a complete solution.
- Get an understanding of client/server interactions.
- Be able to use Web APIs and related protocols to send and retrieve data.
- Observe and learn the basic syntax of the HTTP protocol necessary to send and retrieve data from an API.
- Explain the concept of Single Page Architecture. Use simple jQuery commands to implement a simple Single Page Architecture.
- Be able to handle and validate user input via HTML forms.
- Learn how to use tools (i.e., libraries/frameworks) that can speed and simplify application development (e.g., Bootstrap and jQuery).
- Demonstrate the ability to get data from multiple third-party APIs and use it in the Web Application.
How This Course Will Be Taught:
This is a traditional, in person class. We meet synchronously on Monday and Wednesday each week.
MIS Department Instructional Practices:
MIS faculty intentionally nurture student behaviors that promote critical thinking, curiosity, and perseverance.
In this class, this means:
- Ask good questions in class
- Independently experiment to discover answers
- Break large tasks down into smaller tasks
- Don’t be satisfied with “magical” solutions
- When your code doesn’t work, step back, think, and try again.
- Turn in your work on time.
- Code a little each day. Not all at once before a due date.
Textbook and Materials:
Textbook
JavaScript Absolute Beginner’s Guide (2nd Edition) by Kirupa Chinnathambi
Series: Absolute Beginner’s Guide
Paperback: 464 pages
Publisher: Que Publishing
Language: English
ISBN-13: 978-0136502890
ISBN-10: 013650289X
Video
This LinkedIn Learning video: Practical HTML for No-Coders (by Jen Kramer)
(To get full access, login at https://linkedinlearning.temple.edu )
Software
Students should download and install Visual Studio Code. This free software runs on both Mac and PC platforms. It is important for students to install Visual Studio Code in the first week of the semester.
Visual Studio Code can be found here: https://code.visualstudio.com/Download
Additional Software
Later in the semester, students will need to install the following additional software.
Windows PC users will be expected to install the Bitvise SSH client.
The Bitvise SSH client can be found here: https://www.bitvise.com/ssh-client
Mac users will be expected to install FileZilla.
The FileZilla software can be found here: https://filezilla-project.org/download.php Both FileZilla and Bitvise are free software products.
Other resources
Students are expected to own a personal laptop with a working audio/visual capability for web conferencing. See: https://www.fox.temple.edu/current-students/laptop-policy/
Limited resources are available for students who do not have the technology they need for class. Students with educational technology needs, including no computer or camera or insufficient Wifi-access, should submit a request outlining their needs using the Student Emergency Aid Fund form. The University will endeavor to meet needs, such as with a long-term loan of a laptop or Mifi device, a refurbished computer, or subsidized internet access.
Evaluation and Grading:
Graded Items
Item |
Percentage |
In Class Activities (14) |
10% |
Assignments (10) |
20% |
Quizzes (12) |
35% |
Final (Hands-On) Exam |
35% |
Letter Grade Scale
94 – 100 |
A |
73 – 76 |
C |
90 – 93 |
A- |
70 – 72 |
C- |
87 – 89 |
B+ |
67 – 69 |
D+ |
83 – 86 |
B |
63 – 66 |
D |
80 – 82 |
B- |
60 – 62 |
D- |
77 – 79 |
C+ |
Below 60 |
F |
IMPORTANT NOTE: Students who fail to earn the required MIS PRO points will receive an “Incomplete” for this course regardless of performance on exams or class participation! See the MIS Department PRO Points Requirement section of this document for details.
Grades are always communicated to the student as a percentage – i.e. on a scale of 0 to 100.
Once a grade is communicated electronically students have a 1-week window of time in which they may approach the instructor during office hours and question the grade received. Grade adjustments will not be considered after this window has closed. Of course, during the last week of the semester, study days, and finals week, the 1-week window may shorten.
Grade adjustments will not be considered 48 hours after the last day of final exams.
Exams and Quizzes:
The dates of the quizzes and exams are documented in the class schedule. There will be no impromptu (‘pop’) quizzes or exams.
Students are permitted to use a single 8.5 x 11 page of instructor provided notes on Hands-On exams and/or quizzes.
There is only one exam. It is administered during finals week. Students are required to take 12 quizzes. There are two kinds of quizzes: Traditional and Hands-On.
Traditional Quizzes
Traditional quizzes are roughly 10 minutes in length. They are usually administered at the end of class in the second meeting of the week. Students are not permitted to use notes on the traditional quizzes.
Traditional quizzes are designed to evaluate the learning of students inside and outside the classroom. Traditional quizzes are paper/pencil based. The format of the quizzes will vary from week to week. Here are some of the possible question formats:
- Answer a multiple choice or a short answer question
- Write a very short portion of code by hand
- Identify one or more errors in a code sample
- Read a code sample and determine its output
Hands-On Quizzes
Five quizzes will have a different (non-traditional) format, they will be “Hand-On” quizzes. The Hands-On quizzes are designed to evaluate a student’s ability to apply concepts learned in the class. They are also intended to help students prepare for the final exam.
Students are permitted to use a single page of hand-written notes on “Hands On” quizzes. The notes page must be turned in at the end of the assessment.
The Hands-On quizzes are given the same weight as the Traditional quizzes. Students are allotted an entire class period to take a Hands-On quiz. Students are encouraged to think of the Hands-On quizzes as low-stakes practice opportunities for the final exam.
The final exam will be similar in nature to the Hands-On quizzes. The final exam accounts for a greater percentage of the student’s grade. Students are permitted to use a single page of hand-written notes on the final exam. The student note page must be turned in with the exam.
The Administration of Hands-On assessments
The Hands-On assessments are technical exercises completed in a fixed amount of time. Whenever possible, these are conducted in class, and students must use a workstation in the classroom to complete the exam. No other electronic device is to be used for the exams.
What happens if you miss a quiz or exam?
Make-up exams/quizzes will not be given. Exceptions are reserved for:
- Students who make prior, mutually agreed upon, arrangements with their instructor.
- Documented hospitalization or other extreme circumstances.
If an exception is made, students may find the content of the make-up exam/quiz to be more difficult than the original. It is, therefore, to the student’s advantage to show up for the exam at the scheduled time and take it with the rest of the class.
In the absence of an exception, students who miss a quiz will receive a grade of zero for the quiz.
Assignments:
Throughout the semester assignments will be provided to compliment instruction. These assignments will be graded. There are 10 graded assignments provided in the semester. Unless otherwise stated by the instructor, students are expected to complete each assignment independently, and without the assistance of A.I. resources.
Some of the assignment start files have been deliberately “contaminated” with one or more errors. This is a deliberate strategy to help students improve their debugging / troubleshooting skills.
Assignments typically conclude with instructions to “submit your work on canvas” and/or “publish your work to the class server”. You must upload your work as directed by the instructor to receive credit for it.
Work submitted any other way (e.g. email) will not be graded.
Assignment solutions will not be provided by the instructor. Students who struggle with a particular assignment are encouraged to seek assistance from the ITA, the MIS Helpdesk for Coding, and the instructor. This is advisable even in cases where assignment the due date has passed.
Late Assignment Policy:
All assignments are graded on a 100 point scale. If an assignment is turned in on or before its due date, it is on time. Assignments turned in later are automatically assigned a 20 point penalty, no matter what the reason. Assignments may not be turned in more than three days late. These assignments get a grade of zero.
For the assignment to be considered “on time,” you must attach all necessary files specified in the assignment instructions by the due date. If additional/revised/corrected documents are received after the due date, then the 20 point penalty will be applied to the assignment.
In Class Activities:
In Class Activities (ICAs) are opportunities for students to try new concepts as they are presented in class. They are evaluated on the basis of completion and will be awarded a score on a scale of 0 to 100 points. Some ICAs are so simple that they are evaluated on an all-or-nothing basis (zero or 100).
Other ICAs may have multiple steps. For example, students assigned a four-step ICA could receive 25 points for each step, making for the possible grade outcomes 0, 25, 50, 75, or 100.
As the name ICA implies, students are expected (and encouraged) to complete the ICAs in class. Some ICAs may have components that presume the presence of a student in class – such as a hand drawn diagram, or the review of another student’s code.
Students who are not physically present for such activities forfeit the opportunity to earn the points associated with the activity .
Students may be permitted to turn in all or a portion of their ICAs after class ends, but no later than 11:59 pm on the day of the class.
ICAs have the same late policy as assignments.
Some of the ICA start files have been deliberately “contaminated” with one or more errors. This is a deliberate strategy to help students improve their debugging / troubleshooting skills.
Attendance and Participation:
Attendance and participation are essential. While attendance is not strictly tracked, and there is no participation score, students who do not attend class and/or participate will find the class material especially difficult and, as previously stated, absent students may forfeit the opportunity to earn points on some ICA assignments.
If a student does miss class, it is the student’s responsibility to catch up on any related material. While every student is encouraged to use office hours to gain a better understanding of class material, office hours are NOT for helping students catch up on material they missed because they were absent.
Attendance Protocol and Your Health:
If you feel unwell, you should not come to campus, and you will not be penalized for your absence. Instructors are required to ensure that attendance is recorded for each in-person or synchronous class session. The primary reason for documentation of attendance is to facilitate contact tracing, so that if a student or instructor with whom you have had close contact tests positive for COVID-19, the university can contact you. Recording of attendance will also provide an opportunity for outreach from student services and/or academic support units to support students should they become ill. Faculty and students agree to act in good faith and work with mutual flexibility. The expectation is that students will be honest in representing class attendance.
Plagiarism and Academic Dishonesty:
Please see the following: http://bulletin.temple.edu/undergraduate/about-temple-university/student-responsibilities/
It is important to do your own work, and to not present the work of others as if it was your own. Cheating and plagiarism will not be tolerated in this class.
In this course, you will develop critical thinking and coding skills by working on assignments and activities. Doing this work independently is an important part of the learning process. Consequently, unless otherwise directed by your instructor, students may not use ChatGPT, AI, or any other tool that generates code to complete any part of your assignments.
Students are expected to solve the assignments and activities using the limited subset of programming features and elements that are presented in the course material . Students should not look for pre-written solutions elsewhere, AI generated or otherwise. Students are expected to construct their own solutions using the programming features and elements provided.
Students who are not constructing their own solutions as outlined above are engaging in a form of academic dishonesty.
Sharing your work with another student via One-Drive or any other file sharing technology is prohibited. Unless otherwise directed by your instructor, students are not to share their work with other students.
Any attempt to deliberately interfere with the technology used in this class (e.g. the class server), or to electronically impersonate a student other than yourself, or to knowingly share your credentials with another student for the purpose of sharing your work, will also be treated as a case of academic dishonesty. All students involved in such events or activities will be penalized.
Penalties for academic dishonesty range from a failing grade in the entire course to expulsion from the program. Instances of cheating and plagiarism are very likely to be reported to the University Disciplinary Committee.
Disability Disclosure Statement:
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact the instructor privately to discuss the specific situation by the end of the second week of classes or as soon as practical. Students should contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the available resources. The instructor will work with DRS to coordinate reasonable accommodations for all students with documented disabilities.
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
Class recordings:
Class meetings will not be recorded.
MIS Department PRO Points Requirement:
The MIS Department has instituted a PRO point (professional achievement point) requirement for all MIS majors. This class is a checkpoint to ensure that students are focused on this requirement and on track to earn their 1,000 points by graduation. Students in MIS2402 must earn a minimum of 200 points by the end of the semester. Students who fail to earn the required points will receive an “Incomplete” for this course regardless of performance on exams or class participation.
IMPORTANT NOTE: If a student fails to earn the minimum number of PRO points within one year from the end of the semester or does not notify their instructor that they have earned the minimum number of points, then their “Incomplete” will be changed to an “F” automatically. The grade of “F” will then be the student’s permanent grade.
Students are STRONGLY encouraged to, at a minimum, do the following to earn points:
- Create an e-Portfolio and have it listed with the department.
- Become an active member of AIS and participate in professional development activities.
- Attend the IT Awards Reception (spring semester only).
- Volunteer your time for department-sponsored events.
- Discuss opportunities to earn MIS PRO points for projects with your MIS instructors. Note that students may not request course/project related PRO points more than one year after the end of the semester.
Here are two excellent resources that describe why the MIS professional achievement points are important to you.
Finally, students will be given the opportunity to earn up to 50 MIS PRO points by doing an optional project. Details about the MIS2402 PRO point project will be announced on the class website.
Before Class Begins:
The semester will move quickly. Before the first day of class students should install the software titles we are using and watch video material assigned by the instructor. Relevant documentation can be found on the class site. Installation instructions are provided for both Mac and PC platforms. However, please be advised that instructional materials are written primarily with PC / Windows users in mind.
Getting Help:
Students can contact the instructor or the class ITA via email.
Please be advised that email correspondence is not an ideal way to trouble-shoot / resolve a technical problem. In-person meetings are usually much more productive.
Students who need assistance are encouraged to do the following.
- Visit the MIS Coding Help Desk. See the class web site for details.
- Schedule a session with the ITA. These are first-come, first-serve, and subject to the ITA’s availability.
Visit the instructor during office hours.