This is an old version of the class. Please see the 2021 version instead.

Homeworks and Policies

Grading, turn-in policy, late policy, cheating etc, are described below.

In the homeworks for this course, you will be creating a web page that uses html, CSS, and JavaScript. It will pretend to sell T-shirts. HW#1 involves generating a web page from dynamic content. In HW#2, you will create a separate webpage to investigate using input events to support clicking, dragging, and using multiple fingers to change size. In HW#3, you will build a custom editor that supports both "painting" and "drawing", that takes advantage of the input events. In HW#4, you will update your implementation from Homework 1 to use ReactJS, and add a Shopping Cart page. In HW#5, you will add support for Undo using Command Objects, and in HW#6, you will connect your web page to a backend web service and a database. Finally, you will have a separate group Final Project.

Homework List

The homeworks will involve significant coding in JavaScript. Here are the preliminary descriptions. All of these homeworks are individual, so you will need to be able to do them on your own.

Number Start Due Description
HW #1 9/1/2020 9/10/2020 Html, CSS, and JavaScript
HW #2 9/10/2020 9/22/2020 Input Handling
HW #3 9/22/2020 10/6/2020 Graphics using SVG and Canvas
HW #4 10/6/2020 now 10/22
Using React
Midterm 10/20/2020 10/21/2020  
HW #5 10/22/2020 now 11/4
11/3, 10/29/2020
Undo using Command Objects
HW #6 11/3/2020 now 11/16
Connecting to a Backend
Final Project 11/11/2020 12/15/2020 Final Project

Homework & Class Policies

Course Grading:

Here are the number of points each part of the course is worth:

Homework 1 10
Homework 2 10
Homework 3 10
Homework 4 10
Homework 5 10
Homework 6 10
Final project 20
Midterm Test 20

It is fine with me if you want to take the class pass/fail or even to audit the class, as long as it is OK with your program director. I am happy to sign whatever forms are needed. Note you will get much more out of the class if you do the assignments.

Late Policy:

Diversity Statement:

It is my intent that students from all diverse backgrounds and perspectives be well served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. It is my intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups. In addition, if any of our class meetings conflict with your religious events, please let me know so that we can make arrangements for you.


Technology for Class:

Zoom: As a fully remote class, we will be using Zoom for all lectures. The Zoom link will be the same for the whole semester, and the link will be available on Canvas. I will record the lectures using Zoom's recording feature, and will upload the videos to the "Files" section of Canvas, in the "Lecture Videos" folder. Note that, except where noted otherwise, recordings of course sessions are provided solely for educational use by students enrolled in the course and may not be distributed to any other person or posted on the internet without the express written permission of the course instructor. Therefore, links to the the class videos will only work for people in the class.

Please make sure that your Internet connection and equipment are set up to use Zoom and able to share audio and video during class meetings. (See this page from Computing Resources for information on the technology you are likely to need.) Let me know if there is a gap in your technology set-up as soon as possible, and we can see about finding solutions.

Sharing video: In this course, being able to see one another helps to facilitate a better learning environment and promote more engaging discussions. Therefore, our default will be to expect students to have their cameras on during lectures and discussions. However, I also completely understand there may be reasons students would not want to have their cameras on. If you have any concerns about sharing your video, please email me as soon as possible and we can discuss possible adjustments. Note: You may use a background image in your video if you wish; just check in advance that this works with your device(s) and internet bandwidth.

Chrome browser: We will be authoring html, css, JavaScript and React. In order to avoid cross-browser issues, everyone is expected to use the Google Chrome browser for their development and testing. This will work on both PCs and Macs (and probably Linux):

Code Editor: I will use Visual Studio Code (VSCode) as my code editor, and recommend you do too, but it is not required, if you prefer a different environment. Let email know if you like something better! VS Code is available free for both Windows and Mac (and probably Linux):

Touch screen that can run Chrome: The homework about Handling Input will require that you run Chome on a touch screen, since you will need to implement multi-finger interactions. Apple iOS (iPhone or iPad) devices or Android phones or tablets should work, as well as laptops that have touch screens which can run regular Chrome for Mac or Windows. If you do not have available to you such as device, please let me know, and we can probably find one you can borrow.

Accommodations for Students with Disabilities

If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at

Amount of Work:

This is a "12 unit" course. As per university policy, this means that this course is expected to take students 12 hours per week, including class time.

Cheating Policy (see also below)


While there is a university-wide disciplinary committee which handles serious disciplinary matters referred to it, the responsibility for establishing disciplinary guidelines rests with each department. Since the affiliation of this course is with the Human-Computer Interaction Institute (HCII), we will follow the set of rules established by that department. The following are the rules to be applied uniformly by the HCII:

First, cheating in any form is not permitted as an ethical or professional behavior and will not be tolerated. Cheating includes, but is not necessarily limited to:

Should any student be found guilty of cheating on a quiz, exam, homework or project, at minimum a zero grade will be recorded and then averaged in with the other grades (should there be any) for the term. Depending on the circumstances, and at the discretion of the instructor and the Department Head, the student may be failed in the course and may be expelled from the University. In any case, the University will be notified of any case of cheating or plagiarism. A repeated occurrence of cheating will be treated as an automatic failure (R grade) and expulsion from the University.

A subtler form of cheating arises in the form of plagiarism, which is defined as "passing off as one's own the ideas or works of another." Making use of reference material and failing to note (either at all or properly) the original source constitutes plagiarism. When two or more people work together on an individual project and each then turns in his/her individual report as though no collaboration was involved, this also is plagiarism. Simply rewriting another's words or thoughts, or rearranging another's materials, is in every sense plagiarism - unless the student properly and completely references such material, each and every time it is used and to the full extent of usage. Should a case of plagiarism arise, the initial responsibility for judging the seriousness of the offense will rest with the instructor. If the instructor feels that the student was simply sloppy in referencing the material used and plagiarized, a judgment of sloppy professionalism rather than cheating will be made. The grade for the paper, project or thesis will be lowered by at least one grade point. On the other hand, if the instructor feels that the student plagiarized flagrantly, and intentionally meant to mislead the instructor into thinking that the work was the student's own original work, the grade for the report, project or thesis will be recorded as zero.

It should be emphasized that any group collaboration that involves individual take-home projects, papers or theses should be carried out only with considerable discretion. That is, students are encouraged to discuss and collaborate among themselves on the various principles which are exposited in class or covered in the reading material, etc.; but any group discussion or collaboration which involves any specifics of take-home projects, papers or theses should be avoided - unless the ideas or efforts of others are properly noted. Put differently, when individual work and thinking is called for, group thinking and/or work is entirely inappropriate and is a form of plagiarism. In any case of cheating or plagiarism, the student may request a review of the instructor's decision by the department head, who will then make the final decision for the department. The student, of course, can appeal any faculty decision to the University Committee on Discipline. In a case of flagrant cheating by a graduate student on a thesis, the matter will be forwarded to the Disciplinary Committee for stronger action.

Additional resources:

Take care of yourself

This semester is unlike any other. We are all under a lot of stress and uncertainty at this time. Attending Zoom classes all day can take its toll on our mental health. Make sure to move regularly, eat well, and reach out to your support system or me if you need to. We can all benefit from support in times of stress, and this semester is no exception.

Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

If you have questions about this or your coursework, please let me know.