Professor Emery Berger
- Lectures: TuTh 4:00PM - 5:15PM, South College Room W245
- Labs: Mo 4:00PM - 4:50PM, South College Room W245 (same room)
- Course web page: http://web-programming.org
- Textbook: Click for information
- TAs: Ziwei He: email@example.com, Ishan Khatri: firstname.lastname@example.org
- Office hours: to be determined
- Piazza: https://piazza.com/class/k54kjhj9hsk1s4
- Course calendar: http://web-programming.org/schedule.html
Zybook - Web Programming
- Sign in or create an account at https://learn.zybooks.com.
- Enter zyBook code:
The subscription is $77.
COMPSCI 187 and/or 186. This course assumes a good understanding of programming at the 187 (data structure implementation) or 186 level (using data structures), basic command line usage, understanding of version control systems (e.g.,
This course satisfies the Integrative Experience (IE) requirement. The upper-division integrative experience provides a structured context for students to reflect on their own learning and explore the connections between the broad exposure provided by General Education and the more focused exposure of their major. You can read additional details on the integrative experience website. The IE requirement is fulfilled by this course through the application of extensive team-based learning. Furthermore, this course embraces the IE through a substantial team project that is entirely student driven and explicitly integrates the material covered in this course with the experiences, learning, and knowledge attained by every unique person enrolled in this course.
The learning outcomes of this course are:
- Students will learn and apply HTML to structure content in a browser
- Students will learn and apply CSS to style content in a browser
- Students will learn and apply the fundamental architecture of a front-end web application
- Students will learn and apply the fundamental architecture of a back-end web application
- Students will learn and apply the connection between front-end and back-end
- Students will learn and apply a RESTful web application
- Students will learn and apply the fundamental construction of a modern complete web application
Course Development Environment
Given that this is a programming intensive course it is important to highlight the development environment! Generally, most of what we cover in this course is available on all the typical operating systems. However, the team project allows you to explore additional environments that may have specific OS requirements. You are welcome to use those additional libraries/tools, however, you will not receive direct support for what you use. It is your responsibility for the installation, setup, and use of those additional components. You are welcome to use any editor, IDE, or tools to explore this material.
We strongly recommend that you use Visual Studio Code.
It is assumed that you have a computer to use for assignments in this course. It is highly recommended that you get a Dropbox account (or other file synching service) or USB memory stick to save files that you create for assignments. There are no excuses for missing or accidental deletion of work.
Note: you may only use GitHub for storing your work on individual assignments if you are using a private repository. Use of public repositories to store assignment solutions on github is considered cheating and will result in a failure for this course.
You are welcome to store and share your team project work on a public repo!
Lectures will be led by the professor and will provide a high-level overview of the course material. The presentation format will include a variety of slides, written notes, programming examples, activities, etc. All material will be available through the course learning management system site (e.g., Moodle, Piazza). You are expected to attend every lecture and arrive promptly so you do not disturb others.
The use of laptops or other electronic devices during class, including phones, is not allowed without prior consent of the professor. Phones should be silenced or turned off.
The Lab section is led by a teaching assistant (TA) for this course. There will also be undergraduate course assistants (UCA) assigned to your lab section. You are expected to attend every lab section. Labs are used to begin lab exercises in groups as well as to work on the end of semester project. Missing a lab section does not excuse you from any activities that occur during that time. Do not ask to make up any missed work during lab section time.
Please turn off or silence your phone during lab.
Rules for Success
This course has seven important rules. If you follow these rules, your odds of learning the material and achieving a good grade in this course will improve greatly.
- Do the assigned reading from the book.
- Read the assignment documentation early.
- Do your work on time, submit your work on time, make sure you submitted the correct work.
- Communicate with other students in the course, the professor, and any other course staff for help.
- Be honest in the work you do and the submissions you make.
- Communicate with me and others in the course with respect and understanding.
- Do not ask to submit assignments after the due date.
You can expect from us:
- Timely release of course assignments.
- Timely release of scores achieved on course assignments.
- To respond to questions in the discussion forums in a reasonable amount of time during the week and normal working hours.
- Be respectful of your ideas and value the diversity you bring to the virtual classroom.
- Be open to dialogue that challenges me.
- Be present during my stated office hours.
- Ensure the proper running of the course in the online format.
The anticipated breakdown of course grades is as follows; this is subject to change.
- Team Project (40%)
- Labs (20%)
- Participation (15%)
- Challenges (15%)
- Team Project Demos (10%)
- Individual projects/assignments/labs will not be scaled (curved), so don’t ask.
- The instructor may or may not choose to scale final grades, so don’t ask.
- Final grades are assigned based on the overall weighted average as defined by the grading policy. Grades will not be rounded up, so…don’t ask. For example, if you achieve an 89.93 then the final letter grade will be (for example) a B+, not an A-. Do not ask.
For each assigned reading, there will be associated participation exercises. You will be required to complete participation exercises as part of the reading the day after each lecture to be given credit. These activities are associated with the book. Several of these activities require you to simply review an animation.
Challenges can be viewed as homework. They are basic exercises on the material that you must complete before the following week’s class. These activities are associated with the book. They are automatically graded and scored based on your response. You are allowed to work on these until you get the correct answer.
Labs are larger assignments associated with the material covered during the week that the lab is assigned. These activities are associated with the book. The labs are assigned during the lab section, you can work in teams to come up with the answer, and you may submit your answer individually by the following week.
Team Project Demos
The last class meeting of the semester will require you and your team to demonstrate your working project and explain its significance and impact. You will be required to have a laptop, phone, or other device that demonstrates your work and be able to answer questions from students. You will also be required to review other student projects and provide feedback as part of your grade.
To evaluate your understanding of the course content, we will use scores achieved on each of the above assessment components. Your final grade will convey what you know from the course and how well you know it. Missing assignments can have a dramatic impact on your final grade so it is important that you are attentive to submission deadlines and avoid any missing work. The typical breakdown of percentages and final grades for this course are A (93-100), A- (90-92), B+ (87-89), B (83-86), B- (80-82), C+ (77-79), C (73-76), C- (70-72), D+ (67-69), D (60-66), F (0-59). This grading scheme may be adjusted based on the overall performance of students in the course.
Late submissions for any assessment component will not be accepted. It is your responsibility for maintaining your own schedule and being prompt with your submissions. We expect that you become familiar with the course submission software and verify that your submission has been properly uploaded. We will not accept late submissions due to lack of checking on this. We assume:
- You are an adult and have the ability to check and verify your work has been received properly.
- You are capable of using GitHub, DropBox, Google Drive, or some other backup software to ensure that your work is not lost in the event of a computer failure.
- You have a back-up plan in place in the event that your computer fails or your internet connection is unavailable. Make sure you have a plan B and C if your computer crashes or your internet is unavailable. This is your responsibility.
- To ensure that you submit projects on time you should begin them early and not wait until the last minute to submit. You will be able to submit multiple times so submit early and often to ensure you have something in before the deadline.
Assignments will be submitted electronically. You are responsible for submitting your assignments by the assigned due date. The due dates for assignments will be clearly indicated on the schedule and it is your responsibility to update your own calendar so you are aware of due dates.
Your first point of contact is the teaching assistant (TA) for your assigned lab section. That is, if you have a problem in the course, an assignment, a question about a participation/challenge/lab grade, or a question about the material, you should first approach the TA leading your lab. If they are unable to answer your question they will communicate this to the professor and the professor will provide an answer.
Online Discussion Forum
We will be using Piazza for all communication. The discussion forum should be your first choice for asking questions as others most certainly have the same question. You should check the discussion forum before asking your question to see if the same question has already been posted. We will not answer questions that have already been answered in the discussion forum. Think before you post. We expect you to do a reasonable amount of thinking to try to solve your problems before posting for help. Make sure you are articulate and clear with your post (i.e., think before you post). You should post questions related to assignments early rather than wait until the last minute. Questions that are posted very near an assignment deadline may not be answered. Course staff are expected to answer questions Monday through Friday. Do not expect prompt answers on Saturday, Sunday, and scheduled holidays and breaks.
Note: Do not send direct email to course staff unless your discussion section TA allows it or it is an emergency (death or extreme documented illness).
The professor is dedicated to establishing a learning environment that promotes diversity of the students, including race, class, culture, religion, gender, sexual identity, and physical ability. It is important that this is a safe virtual classroom environment. We will practice being generous and respectful members of our classroom and computer science community. Anyone noticing discriminatory behavior in this class, or who feels discriminated against, should bring it to the attention of the professor immediately.
Accommodations are collaborative efforts between students, faculty, and Disability Services (DS). Students with accommodations approved through DS are responsible for contacting the faculty member in charge of the course prior to or during the first week of the term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through DS should contact DS immediately at (413) 545-0892. If you are a student with a documented disability and are registered with Disability Services, please contact me immediately to facilitate arranging academic accommodations. Reasonable arrangements will be made in accordance with your accommodations provided by DS in the context of this course.
Attendance and Participation
You are expected to attend class and lab regularly, read the assigned readings before class, and participate in class discussions. Your participation will be evaluated in a variety of ways. This includes any in class activities or activities that may be given during weekly discussion sections. You are responsible for maintaining your own schedule and ensuring that you are present during activities. Do not ask to makeup missed activities.
Students who are unable to complete course requirements within the allotted time because of severe medical or personal problems only may request a grade of Incomplete from the instructor of the course. Incomplete grades are warranted only if a student is passing the course at the time of the request and if the course requirements can be completed by the end of the following semester. Furthermore, an incomplete will be granted if at least 75% of the work has been completed for the course. Otherwise, the recommended course of action is to withdraw and retake the course in the future. Please see the Academic Regulations Section IV Grading System and Credit Guidelines for further details.
Note: an incomplete means you are on your own to complete the material agreed upon by the instructor of this course. Do not expect additional help or one-on-one teaching of the material past the course completion date. It is your responsibility to complete the remaining material.
It is very important in all courses that you be honest in all the work that you complete. In this course, you must complete all assignments, quizzes, exams, etc. on your own unless otherwise specified. If you do not you are doing a disservice to yourself, the instructors for the course, the School of Computer Science, the University of Massachusetts, and your future. We design our courses to provide you the necessary understanding and skill that will make you an excellent computer scientist. Assignments and exams are designed to test your knowledge and understanding of the material. Plagiarism and academic honesty of any sort may seem like an easy way to solve an immediate problem (which it is not), however, it can have a substantial negative impact on your career as a computer science student. There are many computing jobs out there and many more people working hard to get those positions. If you do not know your stuff you will have a very difficult time finding a job. Please take this seriously.
We will carefully review your submissions automatically and manually to verify that “cheating” has not taken place. If you are suspected of plagiarism we will follow an informal path to determine if academic dishonesty has taken place. If you are found guilty you will receive an F for the course and it will go on your permanent record at UMass. This will disrupt your schedule for completing courses and may lead to you not completing your degree in a timely fashion. You should carefully review the Academic Honesty Policy, Avoiding Plagiarism, and the Academic Honesty Flowchart to understand what academic honesty is, how you can avoid it, and the procedure we will follow if you are under suspicion. In general, you should review all documentation described by UMass’ Academic Honesty Policy and Procedures.
Specifics for this course:
- Unless otherwise specified, assignments in this course are individual, not group, and direct collaboration is inappropriate. Any group work we will clearly mark as such.
- While we support learning from your peers, the rule of thumb is that any learning will be in your head. Therefore, you should not leave an encounter (in person or electronic) with anything written down (or electronically recorded) that you did not have before. Thus, giving or receiving electronic files is specifically considered cheating.
- Use of materials from previous offerings of this course, no matter the source and even if you are retaking the course, is prohibited.
- We will employ various means, electronic and otherwise, to check for compliance with these course policies. We will pursue sanctions vigorously and the usual sanction we will pursue is an F in the course.