Syllabus

CSIS-390: Web Application Development

Lecture: Monday and Friday, 8-9AM, RB328

Lab: Wednesday, 8:10-10:10AM, RB330

Required Text

Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition by Robin Nixon

Course Learning Goals

Students will...

  1. learn about the modern framework for implementing web and mobile applications and how it is uniquely different than the framework for traditional "desktop" applications.
  2. study the fundamental concepts of web application development including synchronous and asynchronous request and response processes, the traditional three-tier web architecture, and techniques for separating an application's content, presentation, and behavior.
  3. develop skills in how to use a variety of different languages (HTML, CSS, JavaScript, PHP, and SQL) to implement a single integrated application.
  4. hone their abstracting thinking and programming skills by designing applications that specifically leverage the power of emerging web and mobile technologies.

Topics

For a complete list of topic covered see the Course Schedule

Pre-requisites

None

Grading

Final grades will be based on the following weights:

25% 5 Projects
25% 11 Labs: quizzes, attendance, participation, deliverables
30% 2 Exams
20% Cumulative Final Exam

Letter grades will be assigned based on your numeric final average:

A>= 93.0 A->= 90.0 B+>= 87.0
B>= 83.0 B->= 80.0 C+>= 77.0
C>= 73.0 C->= 70.0 D+>= 67.0
D>= 63.0 D->= 60.0 F< 60.0

Lecture Attendance

A student is expected to attend every lecture. It is the student's responsibility to be aware of this policy. Students can receive up to a 10% penalty toward their final average for excessive absence, lateness, or disruption during lecture. Students will be given a warning if they are more than 2 minutes late to lecture. After a warning, subsequent lateness will be recorded. Students who are more than 10 minutes late will be marked absent and absence penalties will be incurred. Students can have two unexcused absence and two lateness warnings without any penalty. But after two, students will receive a 1% penalty for each unexcused absence and a 0.5% penalty for each unexcused lateness (maximum of 10% total penalty).

Lab Attendance

Students are required to attend all 11 lab sessions. There is a 10% penalty toward the individual lab for arriving late. Students will be given a warning if they are more than 2 minutes late. After a warning, the penalty will be enforced for any subsequent lateness. Students who are more than 10 minutes late will be marked absent. In addition, there is a 10% penalty for leaving early, i.e., leaving before the 2 hour lab period is over unless a student has completed the lab and submitted the deliverable.

Students who miss lab entirely receive a 30% penalty for the lab and must still submit the pre-lab quiz and the lab deliverable at midnight on the day before the next lab period, otherwise they will lose an additional 30% and 40%, respectively. In addition, students who miss two or more labs (unexcused), will receive additional penalties describe below:

2 unexcused lab absences 3% penalty on final average
3 unexcused lab absences 7% penalty on final average
4 unexcused lab absences 15% penalty on final average
5 unexcused lab absences Automatic failure from the course (no exceptions)

Excused Absences

Lecture: Students can be excused (and not penalized) from lecture for illnesses, job interviews, and serious commitments such as athletic or academic trips/competitions. However, students must inform the instructor as soon as possible, provide proof/documentation, and take responsibility to acquire notes and information from other students.

Lab: Missing lab is more serious than missing lecture because labs involve activities that cannot be easily duplicated outside of the lab session and these activities are essential to the learning goals in the course. Only serious, documented issues will be considered. Students can be excused (not penalized) from lab and allowed to submit late quizzes and deliverables but the following rules will be strictly enforced:

  • Job interviews will NOT be considered a valid excused for missing lab. Do not schedule job interviews during your lab time unless you are willing to accept the penalties.
  • Practices (athletics), regularly scheduled extra curricular activities, and weekly obligations in other courses will NOT be considered a valid excuses for missing lab. Students should not register for this class if such activities conflict with the lab session.
  • Traveling to athletic games that are documented by the Athletic Department are a valid excuse. However, if you are going to miss more than three labs due to games, it is recommended that you drop the course and take it in the off season.
  • For illness or medical emergencies, students WILL have to show documentation (a doctor's note, release form, receipt or equivalent) that verifies the excuse. If an illness is not serious enough to go to a doctor then it is not serious enough to be accepted by the instructor.
  • For family emergencies, funerals, or other serious commitments, students should contact the office of Student Affair or Academic Affairs. If the emergency is serious, ask an authorized school official to contact all your instructors regarding your absence. If an excuse is not serious enough to contact an authorized school official then the excuse is not serious enough to be accepted by the instructor.

The instructor makes the final decision to excuse or not to excuse an absence. If you are concerned that an absence will not be excused, you should contact the instructor as soon as possible.

Pandemic/Emergency Preparedness

  • Students are instructed to bring all texts and a copy of the syllabus/course schedule home with you in the event of a College Closure. The Academic Calendar will be adjusted upon Reopening; so be prepared for the possibility of a short mini-semester; rescheduled class/exam period; and /or rescheduling of the semester, depending on the length of the Closure.
  • If your situation permits, you should continue with readings and assignments to the best of your ability, per the course schedule.
  • You will be given instructions regarding how to deal with paper assignments requiring library or other required research by me, as needed.
  • Online office hours will be used by me in order to maintain contact with my students. You will be able to “check-in” with questions that you have. If you do not have internet access available, I will also provide my home phone number and home address, as needed. Remember, internet, mail delivery, and telephone services may also be impacted by a Pandemic or other emergency event.
  • Finally, stay connected with information regarding the status of the College’s status and Reopening schedule by monitoring the Siena web site, www.siena.edu.

College Policies

Instructor

Dr. Eric Breimer, ebreimer@siena.edu, 786-5084, RB 320

Office Hours:
  • Tuesday & Thursday, 10:00-11:30am
  • Friday, 9:00-11:30am

Web Site Projects

There will be as many as five web site projects due throughout the semester. Each project may take 20 or more hours of work outside of lecture and lab. Project descriptions will be posted at least two weeks before the due date (see the project page). Due dates will be announced and put on the course schedule. Late projects will not be accepted and will be given a grade of zero. Thus, it is important that you submit all your work prior to the deadline even if you have not completed the entire project. Some projects will be submitted though Blackboard and others will be published to a private web site.

Labs

There will be 11 lab periods during the semester. Students must prepare for lab by reading assigned material (textbook and web sources) and completing an online quiz in Blackboard. During lab, students will complete tutorials, activities, and small design projects. Each lab will include specific deliverables that are due the day before the next lab.

Lab Grading
30% Pre-lab Online Quiz
30% Attendance & Participation
40% Lab Deliverable
Pre-lab Online Quiz

A quiz will be posted on Blackboard at least 4 days before each lab session. Most quizzes will be 10-12 multiple-choice or fill-in type questions. Some quizzes will have 2 to 4 long-format questions that each require a paragraph-long answer. Each quiz must be completed before the start of the lab period, otherwise students will be given a grade of zero, which is a 30% penalty on the lab.

In-lab

During lab, students will be asked to complete an activity and submit a deliverable, which is typically one or more documents. Some documents will be submitted though Blackboard and others will be published to a private web site. Students are expected to complete work during lab and will work with different lab partners. This allows the instructor to verify that students are completing the lab work and collaborating appropriately. Thus, students are not allowed to complete lab work before the lab period.

Lab Deliverable

It is common for a lab activity to take more than the allotted time (2 hours). Thus, students are expected to complete the lab activity on their own and each individual must submit the deliverable at midnight on the day before the start of the next lab period, otherwise they will receive a zero on the lab deliverable, which is worth 40% of your lab grade. After the lab session, students are not permitted to collaborate or share work done outside of lab.

Exams

Exams are schedule during lab (see the course schedule for the exact dates). Students must make every effort possible to attend class on the dates of exams. If you will be absent for a scheduled exam, you must inform the instructor immediately. Make-ups will only be given for serious, documented excuses. If your absence is not excused, you will receive a zero.

Final Exam

The Final Exam will be given during the designated final exam week, which is the week after the last day of class. If you cannot attend the scheduled Final Exam and do not provide a serious documented excuse, you will receive a zero. The Final Exam is cumulative.

Academic Integrity

Exams

Students caught cheating an exam, will receive a zero on the exam, will be penalized a full letter-grade in the course, and a letter describing the student's actions will be sent to Siena's Vice President of Academic Affairs. During an exam period, students cannot share information, look at each other's tests, or use unauthorized materials. Exams are closed-book, closed-notes, there are no cheat sheets allowed, and electronic device usage is prohibited.

Pre-lab quizzes

Student must complete pre-lab quizzes independently. Students should not work with any other students to answer pre-lab questions. Students can use the textbook, notes, or other sources to help answer questions. Student who inappropriately collaborate on pre-lab quizzes will be given a zero on the quiz (30% penalty for the entire lab). Students who cheat a 2nd time will receive a zero on the quiz, will be penalized a full letter-grade in the course, and a letter describing the student's actions will be sent to Siena's Vice President of Academic Affairs.

Projects & Lab Deliverables

Cite your sources: It is very easy to copy code (HTML, CSS, JavaScript, etc.) from other sources and claim it as your own. This is academically dishonest and considered plagiarism. However, in web design, it is considered professionally acceptable to use open source code (HTML, CSS, Javascript, etc.) and non-copyrighted design components (layouts, menus, etc.) as long as such usage is documented by giving the original author credit via citation/footnote in the newly published document. Documenting sources should be done by using HTML citations and by using comments in other source files (CSS and JavaScript).

Only use open and public sources: In this course, integrating code from open sources is considered an acceptable practice as long as the integration is non-trivial and leads to a design that is significantly different when compared to the original open/public sources. Students will not be penalized for using other authors' code as long as the source is cited and as long as the code comes from an open source or public domain. In lecture, the instructor will teach students strategies for identifying open and public domain sources vs. protected, commercial and copyrighted sources.

Do not share your code: While it is natural for students to help each other outside of lab, students retain more knowledge if they attempt to write and debug code on their own. It is acceptable for students to help each other understand general concepts, but students are prohibited from sharing their code or writing code for another student. The only exception is the group project and in this case, the only collaboration and sharing permitted is between team members.

Do not seek excessive help: It is appropriate to ask for or provide help solving a coding problem as long as it is done in a general or abstract way. Appropriate examples include: helping a peer understand an error message, sharing debugging strategies, or explaining a concept related to a specific problem. But, it is inappropriate to have any other students (including tutors) solve your problems directly. Seeking excessive help is a form of cheating. Inappropriate help includes: Asking a peer or tutor to write code for you, looking at another student's working solution, or receiving excessive (step-by-step) help in directly completing a project or lab.

If you do not cite code, you better understand it: Integrating code from multiple sources into a new, unique design often requires great effort to get all the part to work together properly. However, it is important that you can point to the parts of your code that you wrote yourself and the parts taken from other sources. If a student cannot explain the purpose, function, and details of the code that they claim to have written themselves, the code will be considered plagiarized.

Know the penalties: Students who present other authors' code, documents, images, or designs as their own will receive a grade of zero on the entire project or lab. Students who commit plagiarism a second time will again receive a zero, but will also be penalized a full letter-grade in the course and a letter describing the student's violation will be sent to Siena's Vice President of Academic Affairs

Lab Collaboration

Only collaborate during the lab session: The two-hour lab period is the only time that students are allowed to share code and collaborate, but they can only share lab deliverables, not project work. The lab session is supervised by the instructor who can provide guidance and feedback on what constitutes an appropriate level of help.

After lab, students are expected to work on their own. Thus, at the end of lab, students must share the in-lab work with their partners and then they must stop directly collaborating. In seeking help outside of lab, it is natural to want to share code. However, students should not share code written outside of the lab session. Instead, students who wish to help each other should talk about their problems in general or abstract ways, which is an important cognitive process in becoming a better, independent coder. Again, this instructor considers plagiarism to be instances where a student submits lab deliverables where they cannot explain the purpose, function, and details of the submitted code.

Your goal is to become an independent problem solver: An important goal in this course is for students to learn strategies for becoming more independent with respect to problem solving, coding, and debugging. Towards end of the course, students should not need excessive help from classmates, tutors, or even the instructor. Requiring excessive help toward the end of this course is an indication of poor performance and students will be penalized if they cannot complete labs independently.