Syllabus

CSIS-390 Course Syllabus

Web Application Development

Instructor
Dr. Eric Breimer
Contact Info Office Hours
Course Meeting Days & Times
  • Lecture 01: Mon & Fri 8-9am RB328
  • Lab 2T: Tue 8:15-10:15pm RB330
  • Lab 1W: Wed 8:10-10:10am RB330
Pre-requisites
CSIS-210 or significant programming background
Topics

For a complete list of topics see:

Course Schedule

Required Textbook

Web Programming zyBook Signup

Enter code:
SIENACSIS390BreimerSpring2019

The cost to subscribe is $58 and subscriptions will be valid through 06/14/19.

About The Course

Web Application Development is an upper-level course where students will learn how to implement web applications that are functional, accessible, extensible and mobile-first.

Students will learn how to use...

  • HTML5 and CSS3 to create web pages with good semantic structure that are styled for display on mobile devices.
  • JavaScript and jQuery to add application behavior.
  • AJAX and JSON to asychronously send/receive data to/from a web server.
  • PHP, MySQL and Node.js to create web pages dynamically from content stored in databases.
  • RESTful web APIs and Framework Concepts to understand best practices for building web applications

Full Schedule

Course Learning Goals

Students will...

  1. study the history of the Internet leading to the development of the World Wide Web including web browsers, web servers, domain names, URLs, IP addresses and the HTTP protocol.
  2. learn about the modern framework for implementing web and mobile applications and how it is uniquely different than the framework for traditional "desktop" applications.
  3. apply fundamental concepts of web application development including:
    • the synchronous and asynchronous request and response processes
    • the traditional three-tier web architecture (client, server & database)
    • importance of separating an application's content, presentation, and behavior
    • importance of meeting the web accessibility requirements established by the Americans with Disabilities Act (ADA)
    • techniques for ensuring data and application security including SQL-injection attack protection, database encryption and strong password-based authentication techniques
  4. develop skills in how to use a variety of different languages (HTML, CSS, JavaScript, PHP, and SQL) to implement a single integrated application.
  5. hone abstracting thinking and programming skills by designing applications that specifically leverage the power of web technologies and mobile devices.

Grading

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

Final grades will be based on the following weights:

20%zyBook Reading & Activities
15%Labs & Assignments
20%Projects
20%Midterm Exam
25%Cumulative Final Exam

Be aware of the following penalties:

1-15% Penalty for lecture absences/lateness
1-100% Penalty for lab absences/lateness

zyBook Reading & Activities

Students must read select chapters in the zyBook and complete the integrated activities and challenge questions. Students are required to purchase the zyBook. If you cannot purchase the zyBook, you should contact your instructor immediately to resolve the situation.

See the course schedule for the due dates on assigned reading/activities. The zyBook reading is typically due on Monday before midnight. Students will receive a 20% penalty on any zyBook work that is not completed before the deadline. Students will receive a zero on any assigned zyBook work that is not complete before the start of lab.

Students can lose up 20% total on their final average for failing to complete the assigned zyBook reading & activities.

Labs

There will be 12 lab sessions during the semester where students will work with different lab partners to complete activities, assignments and project work.

Pre-lab Preparation

Students must prepare for lab by completing assigned zyBook reading & activities for the week. The zyBook reading is typically due on Monday before midnight. Students will receive a zero on any assigned zyBook work that is not complete before the start of lab.

In-lab Participation

Lab time allows the instructor to observe students to assess their capabilities in coding (independently or collaboratively). Thus, students are not allowed to start and finish lab activities before the lab period.

Students must fully participate by either finishing the assignment entirely in lab or by using the full lab session to make significant progress on any assigned activity or project. Students who do not participate in lab will incur absence penalties.

Lab Assignments Deliverables

Many labs will involve a specific assignment with deliverables that must be submitted to get full credit. Lab assignments will be submitted though Canvas and/or published to a private web server. In some labs, the assigned activity will be project work and there will be no specific lab deliverable. When lab deliverables are assigned, they must be submitted by midnight on the Monday before the start of the next lab period, otherwise students will receive a zero on the lab assignment.

Lab Partners & Academic Ingegrity

Lab partners are allowed to work together in lab and outside of lab but only on lab assignments. Whenever working collaboratively on deliverables, students should indicate their lab partner in a comment at the top of submitted files and in the comment section of Canvas. A lab partner pair can submit one set of deliverables. Lab partners can choose to work individually after lab and can submit deliverables separately. If a students submits a deliverable and does not indicate their partner's name in any way, it is assumed that the submission is individual.

Do not put your lab partner's name at the top of your files if they did not contribute to the completion of the activity. Lab partner pairs should not share lab work with any other individuals.

Projects

There will several web programming projects due during the semester. These projects will be much more intense and time consuming than lab assignments. Project descriptions will be posted at least two weeks before the due dates. 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 student start project early and attempt to submit well before the deadline. Projects will be submitted though Canvas and/or published to a web server. See each project description for the submission details.

Exams

Midterm Exam

The midterm exam is scheduled during lab (see the course schedule for the exact dates). Students must make every effort possible to attend lab on the date of midterm. If you will be absent, 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. The final exam is cumulative but will focus on the material covered after the midterm exam.

If you cannot attend the scheduled final exam and do not provide a serious documented excuse, you will receive a zero.

Attendance Policy

Students are expected to attend every lecture and lab. Students must arrive on time and stay for the full period.

Students can fail the course entirely for excessive absence in lecture and lab.

Lecture Attendance

Students can have two unexcused lecture absences without any penalty. But after two absences, students will be penalized as follows:

Number of unexcused absences Penalty on final average
3 1%
4 3%
5 6%
6 10%
7 15%

Lab Attendance

Students should not miss lab sessions and will be penalized as follows:

Number of unexcused absences Penalty on final average
1 1%
2 3%
3 7%
4 15%
5 31%
6 Automatic course failure

Lateness

Students will be given one warning if they are late to lecture or lab. Any subsequent lateness will be considered an absence and the penalties above will be incurred.

Lab Makeups

If a student's lab absence is officially excused, the instructor will establish a due date to makeup the missed lab. For unexcused absences, students must do their best to makeup the lab work on their own and submit lab activity deliverable at midnight on Monday before the next lab period, otherwise students will receive a zero on the lab activity in addition to the attendance penalty.

Excused Absence

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. Students can be excused (and not penalized) from lecture and lab for serious illnesses or important 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.

The following rules will be strictly enforced:
  • 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 seek treatment or see a doctor then it is not serious enough to be accepted by the instructor.
  • For family emergencies, funerals, or other serious issues, students should contact the Academic Affairs (Office of Student Retention and Success) and ask an authorized school official to contact all your instructors regarding your absence. If an excuse is not serious enough to contact Academic Affairs then the excuse is not serious enough to be accepted by the instructor.
  • 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 lecture or lab. Students should not register for this class if such activities conflict with the lecture and lab sessions.
  • Traveling to athletic games or academic trip/competition that can be documented are a valid excuse for missing lecture or lab. However, if you will miss more than three labs, you may have great difficulty making up lab activities or completing projects, and it is your responsibility to makeup missed work.

Academic Integrity

Exams

During an exam period, students cannot share information, look at each other's tests, or use unauthorized materials. Unless explicit permission is given, assume that exams are closed-book/closed-notes and that cheat sheets and electronic devices are prohibited. Students caught cheating on 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. Students caught cheating a 2nd time will automatically fail the course and a 2nd letter describing the student's actions will be sent to Siena's Vice President of Academic Affairs.

Lab Assignments

Do not put your lab partner's name at the top of your files if they did not contribute to the completion of the lab assignment. Lab partner pairs should not share lab work with any individuals other then their designated lab partner for that particular assignment.

Projects

For group projects, you can only work with your designated teamates. Project teams should not share code with other project teams.

Integrity in Coding

It is very easy to copy code (HTML, CSS, JavaScript, PHP, etc.) from classmates and other sources and claim it as your own. This is academically dishonest and considered plagiarism. Students who present other authors' code, documents, images, or designs as their own will receive a grade of zero on the entire activity or project. Students who commit plagiarism a second time will again receive a zero. In addition, they will be penalized a full letter-grade in the course and a letter describing the violation will be sent to Siena's Vice President of Academic Affairs. Students caught cheating a 3rd time will automatically fail the course and a 2nd letter describing the student's actions will be sent to Siena's Vice President of Academic Affairs.

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 creator credit. Documenting sources should be done by using citations and/or comments in source files. Note that it is very important to cite your sources before you submit your work.

The following coding guidelines will be enforced:
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 web page, site or application 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, 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. And, students should never write code for other students. The only exception is when student are working with lab partners on lab work and project partners on group project work.

Do not seek excessive help with coding:

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 solution, or receiving excessive (step-by-step) help in directly completing individual work. 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 the 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.

If you do not cite the source of your code, you better understand it:

Integrating your code with code from other open sources to create a new web page, site or application is considered acceptable. 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.

Pandemic/Emergency Preparedness

  • 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.
  • 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 complete lab assignments, projects and exams remotely if necessary.
  • Online office hours will be used in order to maintain contact. If you do not have internet access available, the instructor will provide a phone number and address for course communication. 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 College’s status and reopening schedule by monitoring the Siena web site: www.siena.edu.

Ash Ketchum Penalty

Students will recieve a full letter grade reduction if they submit any work that mentions or depicts Ash Ketchum positively. Ash is an enslaver of Pokemon and a perpetrator of injustice. For example, due to the included picture below, this syllabus would yeild a maximum letter grade of B if it were a graded assignment.

evil slave master