CIS 526 - Web Interface Design

Syllabus for Spring 2017

Instructor Nathan Bean
Office 2216 Engineering Hall
Office Hours 1:00pm-2:30pm Wednesday
Email nhbean@ksu.edu
Classroom 1116 Engineering Hall

Course Description

This course explores the standards, technologies, and strategies used in modern web application development. The ultimate goal is to develop the foundational theoretical and practical knowledge that will allow you to work with an endless variety of we stacks and frameworks, rather than focusing on a single technology or approach.

We have a lot of ground to cover, so we will be moving very quickly through the material. It is vital that you both keep up, and ask questions when you don't understand. Make good use of office hours.

Prerequisites

You should have completed CIS 501 with a C or better, and have the equivalent experience of CMST 135 with HTML, CSS, and JavaScript. If you do not, I strongly recommend you take a (free) crash course on HTML & CSS through https://codecademy.com or wait until you have taken CMST 135 before joining this course.

Course Objectives

At the end of this course, students should be able to:

Course Outline

The following is a general layout, and is subject to change:

  1. HTML5, CSS3, and user agents
  2. Hyper-Text Transfer Protocol
  3. ECMA Script 2015 (ES6)
  4. The Document Object Model
  5. JQuery
  6. Dynamic Web Services
  7. Databases
  8. CRUD & REST
  9. Authentication
  10. Webworkers
  11. Architectures for the Web
  12. AJAX
  13. Reactive Web Apps
  14. WebSockets
  15. Embedded HTML Templates
  16. Full-Text Search
  17. Tagging Systems
  18. User-Centered Design
  19. Test-Driven Development
  20. Geospatial Data & Location Services
  21. Canvas & SVG
  22. Accessibility
  23. Touch and Gestures
  24. Deployment Strategies
  25. Scalability
  26. Web Frameworks

Course Structure

In recognition of the importance of hands-on learning, this course utilizes a blended lecture/lab format, where theoretical understanding is immediately put to use programming software drawing upon that theoretical understanding. Effective learning following this strategy depends upon active participation; accordingly it is necessary to both attend class and participate in in-class activities to succeed.

Further, we will be embracing problem-based cooperative learning approaches at the midpoint of the semester where we will shift to small group work, developing an original and useful web application drawing upon the knowledge you have gained throughout the semester. To help promote accountability, peer reviews from this phase will account for the equivalent of a letter grade.

Grading Breakdown

Category Weight
Class Participation 20%
Assignments 30%
Open House Presentation 10%
Peer Evaluations 10%
Final Project 30%

Resources

While there is not an assigned textbook for this course, there are a number of extremely helpful resources you will want to use.

Github Classroom

We will be using the Github Classroom to for obtaining starter code and submitting assignments. The classroom can be reached here: https://classroom.github.com/classrooms/25181973-k-state-spring-17-cis-526-class.

If you have not yet, I strongly encourage you to sign up with Github as a student: https://education.github.com/.

Safari Online

K-State libraries has obtained a Safari Books Online library containing over 6k current titles. You can access this collection using your eid and password here: http://proquestcombo.safaribooksonline.com.er.lib.k-state.edu

Websites and Wikis

The following are some helpful websites for web development

W3C Standards https://www.w3.org/community/webed/wiki/Main_Page

W3C Web Education Community Group Wiki https://www.w3.org/community/webed/wiki/Main_Page

Mozilla Developer Guide https://developer.mozilla.org/en-US/docs/Web/Guide

Course Software

Node.js (for webserver development) https://nodejs.org/en Node is a fast server-side JavaScript engine based on Google's V8 JavaScript interpreter. We will be writing our webserver using Node.

Atom (Integraged Development Environment) https://atom.io Atom is an IDE that uses HTML5 and JavaScript as its underlying technologies, which akes it a natrual fit for web development. You will also want the atom-html-preview package https://atom.io/packages/atom-html-preview.

Google Chrome (Web Browser) https://www.google.com/chrome/browser/desktop/ Google chrome is a fast, cross-platform web browser with a robust set of developer tools. See https://developer.chrome.com/devtools for details. While you will always want to verify your web app using all browsers, we will be grading your work based on its performance in Chrome.

Attendance Policy

Each unexcused absence will reduce the student's class participation grade by 10%.

Late Work

Late work (with the exception of emergencies) will not be accepted.

Subject to Change

The details in this document are not set in stone - there may need to be changes made during the semester. If this occurs, the changes will be posted to K-State Online, my personal website, and emailed to all students.

Academic Honesty

Kansas State University has an Honor & Integrity System based on personal integrity which is presumed to be sufficient assurance in academic matters one's work is performed honestly and without unauthorized assistance. Undergraduate and graduate students, by registration, acknowledge the jurisdiction of the Honor & Integrity System. The policies and procedures of the Honor System apply to all full and part-time students enrolled in undergraduate and graduate courses on-campus, off-campus, and via distance learning.

A component vital to the Honor & Integrity System is the inclusion of the Honor Pledge which applies to all assignments, examinations, or other course work undertaken by students. The Honor Pledge is implied, whether or not it is stated: "On my honor, as a student, I have neither given nor received unauthorized aid on this academic work."

The default in this class is that ALL work will be accomplished individually, UNLESS my permission is given in advance of an assignment/quiz/exam/take-home exam/final. If you are in doubt, please ask

A grade of XF can result from a breach of academic honesty. The F indicates failure in the course; the X indicates the reason is an Honor Pledge violation.

For more information, visit the Honor & Integrity System home web page at: http://www.k-state.edu/honor/

Students with Disabilities

Students with disabilities who need classroom accommodations, access to technology, or information about emergency building/campus evacuation processes should contact the Student Access Center and/or their instructor. Services are available to students with a wide range of disabilities including, but not limited to, physical disabilities, medical conditions, learning disabilities, attention deficit disorder, depression, and anxiety. If you are a student enrolled in campus/online courses through the Manhattan or Olathe campuses, contact the Student Access Center at accesscenter@k-state.edu, 785-532-6441.

Classroom Conduct

All student activities in the University, including this course, are governed by the (Student Judicial Conduct Code)[http://www.k-state.edu/sga/judicial/] as outlined in the Student Governing Association (By Laws)[http://www.k-state.edu/sga/old_files/sgadocs/ByLaws.pdf], Article V, Section 3, number 2. Students who engage in behavior that disrupts the learning environment may be asked to leave the class.

Campus Safety

Kansas State University is committed to providing a safe teaching and learning environment for student and faculty members. In order to enhance your safety in the unlikely case of a campus emergency make sure that you know where and how to quickly exit your classroom and how to follow any emergency directives. To view additional campus emergency information go to the University's main page, www.k-state.edu, and click on the Emergency Information button.