emeryberger / web-programming

web programming course (COMPSCI 326, UMass Amherst)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fall 2022

Professor Emery Berger

UMass Web Programming

Course Overview

The web is arguably today's most important application platform. Web browsers run on practically every device, and even many phone applications are in fact web applications under the covers. This course will cover a broad range of client-side web technologies, including HTTP itself, HTML5, CSS, and JavaScript; it will additionally cover key concepts for the server side of web applications, including key value stores and SQL servers. This course will also cover key concepts and technologies including AJAX, JavaScript libraries (e.g., jQuery), and web security. This course is hands-on and heavily project-based; students will construct a substantial dynamic web application based on the concepts, technologies, and techniques presented during lectures and in readings. This course satisfies the IE Requirement.

Required Text

There is no required text.

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. We have also purchased a repl.it subscription for this class (link distributed on Slack).

Other Material

It is assumed that you have a computer to use for assignments in this course. You should make sure to commit your work frequently to GitHub. We will not be able to accept 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!

EVERYTHING BELOW HERE IS BEING UPDATED

Full calendar

Calendar

The above-linked Google sheet contains the up-to-date schedule and links for all lectures, labs, homeworks, and project milestones.

Homeworks are assigned on Tuesdays and due the following Monday. Project milestones are due on Sundays.

Project

Milestone Date
Full project overview N/A
Milestone 0: Project Ideas October 9
Milestone 1: Project Wireframes (HTML/CSS) October 23
Milestone 2: Front-end JavaScript November 6
Milestone 3: Back-end Node.js and integration November 20
Final: Public site + video December 11

Labs

Lab notes

Homeworks

Individual homeworks are assigned every Sunday and due the following Monday.

Scrabble board

  1. Scrabble Starter
  2. Scrabble Utilities
  3. Scrabble Game & Rack
  4. Scrabble Renderer
  5. Scrabble Save Game & Refactor
  6. Scrabble Fetch & Rack
  7. Scrabble Server Starter
  8. Scrabble Multiplayer
  9. Scrabble Rules & Fetch
  10. Scrabble DBMS & Heroku

Acknowledgements

Thanks to Joseph Spitzer and Nicolas van Kempen (Fall 2020), and Ziwei (William) He and Ishan Khatri (Spring 2020) for their help in developing and curating these materials.

About

web programming course (COMPSCI 326, UMass Amherst)

License:Apache License 2.0


Languages

Language:JavaScript 100.0%