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 8/30/2022 9/13/2022 Html, CSS, and JavaScript
HW #2 9/13/2022 9/27/2022 Input Handling
HW #3 9/27/2022 10/11/2022 Graphics using SVG and Canvas
HW #4 10/11/2022 10/25/2022
ext. 10/28
Using React
Midterm 10/12/2022 10/14/2022 48-hour take-home midterm
HW #5 10/25/2022 11/3/2022
ext. 11/8
Undo using Command Objects
HW #6 11/3/2022 11/15/2022
ext. 11/17
Connecting to a Backend
Final Project 11/15/2022 12/8/2022 Final Project
Final test 12/13/2022 12/14/2022 48-hour take-home final test

Homework & Class Policies

Course Grading:

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

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

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:

Office Hours:

The TA, will hold office hours every week, day and time TBD.

The Professor, Brad Myers, will hold office hours every week, day and time TBD.

We are also both available at other times by appointment - please feel free to email and ask.

For either office hour, you can show up in person, or else we will be available through a Zoom room which you can find on Canvas.

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:

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): https://www.google.com/chrome/.

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 me know if you like something better! VS Code is available free for both Windows and Mac (and probably Linux): https://code.visualstudio.com/download.

Touch screen that can run JavaScript: The homework about Handling Input will require that you run your JavaScript code in a browser 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 browsers 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 access@andrew.cmu.edu.

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

Do your best to maintain a healthy lifestyle 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 https://www.cmu.edu/counseling/. 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.