4/16/22, 6:52 PM EECS 485 Syllabus
EECS 485: Web Systems Syllabus
The University of Michigan, Winter 2022
A holistic course of modern web systems and technologies, covering front end and back end. Build an Instagram clone in the rst half of the semester and a Google clone in the second.
Copyright By PowCoder代写 加微信 powcoder
Instructors
Course Format
Lectures will be given live and recorded. There will be supplemental studio-recorded videos from a previous semester also available. You may attend any lecture section or watch any of the recordings, even if it’s different than your registered section. We don’t take attendance in lecture.
Projects will be completed in groups and turned in to an autograder. You can nd a group using the “Search For Teammates” post on Piazza. If you’d like, we’ll help you nd a group.
Labs will be live and in-person with materials posted online. A recording of a live lab section will be posted each week. Expect hands-on practice with concepts from lecture and project introduction material. We don’t take attendance in lab.
Exams will be scheduled and timed. Exams will be taken online at home. If you need a suitable space to take an exam, we can provide one.
Of ce hours will be offered in-person as well as remote, both one-on-one and in groups. Computer and network recommendations
Make sure you have a laptop consistent with CAEN recommendations.
Test your internet connection with the U-M Custom Speedtest website and make sure it meets the minimum requirements for any UM service. You’ll need more bandwidth if there will be multiple simultaneous users in your household.
Those working remotely from China may need to use a VPN. Resources for help with computing equipment:
Information and Technology Services (ITS) Laptop loaner program
https://eecs485staff.github.io/eecs485.org/syllabus.html
4/16/22, 6:52 PM EECS 485 Syllabus
College of Engineering (CoE) Of ce of Student Affairs, email requests to coe-
Of ce of Financial Aid Higher Education Emergency Relief Fund emergency grants
Overview
EECS 485 integrates concepts from multiple computer science disciplines used in web applications (“front end”), web services (“back end”) and web semantics (“extracting knowledge and information”). Within these three themes, the course covers concepts such as:
Web Applications
Web Distributed Systems
Web Semantics
• Staticpages
• Server-sidedynamicpages • Client-sidedynamicpages • Sessions
• RESTAPIs
• Security
• Cloudcomputing:IaaS, PaaS, and SaaS
• Parallelprogramming
• Distributeddatabases
• Distributed lesystems
• Textanalysisforweb search
• Linkanalysisforweb search
• Recommendersystems
• AdsandAuctions
Students build a social media application similar to Instagram or Facebook and a search engine like Google or Bing. They gain experience with practical web technologies such as:
• HTMLandCSS
• JavaScript
• Flask(server-sidedynamicpages) • React(client-sidedynamicpages)
• AmazonWebServices(AWS) • SQL
• VersioncontrolwithGit
• Shellscripting
• Linuxsystemadministration
Objectives
By the end of this course, successful students will feel comfortable learning a new web technology independently using developer documentation. They will able to:
• Designandimplementa web application
• Balancethetrade-offs between static pages, server-side dynamic pages and client-side dynamic pages
• Designandimplementa parallel program using processes, threads and sockets
• Processwebdatausinga parallel compute framework such as MapReduce
• Designandimplementa pipeline of MapReduce programs to build a web search inverted index
• Ranksearchresultsusing text and link analysis
• Balancethetrade-offsof different auction
https://eecs485staff.github.io/eecs485.org/syllabus.html
4/16/22, 6:52 PM EECS 485 Syllabus
• UseJavaScriptand asynchronous programming to invoke remote procedure calls in web user interfaces
• UseJSONformessaging and data exchange
• UseIaaSandPaaStoscale a web application
• Balancethetrade-offsof different distributed databases and distributed le systems
mechanisms for web ad sales
• Describehowweb recommendations are made
• Describethesocietal impact of web technology
Prerequisites
The prerequisite for EECS 485 is EECS 281.
This course requires substantial independent learning. We’ll provide you with a starting point, but expect to learn independently a lot of HTML, CSS, SQL, Python, and Javascript.
Textbook There is no textbook.
Communication
eecs485.org links to all course resources and is required reading.
Piazza is the course discussion forum, best for technical questions and project updates. Do not publicly post your code.
reaches the course staff, best for non-technical questions. Individual professor email addresses are best for con dential matters.
There will be one midterm and one nal examination. Exam dates are posted on eecs485.org. There
will be no make-up exams. It is your responsibility to verify you can attend both exams.
Practice exams for many previous semesters are in the EECS 485 Exam Repository. We’ll support exams from the most recent two semesters in of ce hours.
Labs will contain hands-on practice with concepts from lecture and helpful project introduction
Projects
https://eecs485staff.github.io/eecs485.org/syllabus.html
4/16/22, 6:52 PM EECS 485 Syllabus
This course contains 5 programming projects. The rst three focus on web apps, while the last two focus on web distributed systems and web semantics.
Project 1: Templated Static Site Generator. An Instagram clone implemented with a templated static site generator.
Project 2: Server-side Dynamic Pages. An Instagram clone implemented with server-side dynamic pages.
Project 3: Client-side Dynamic Pages. An Instagram clone implemented with client-side dynamic pages.
Project 4: MapReduce. A single machine, multi-process, multi-threaded server that executes user- submitted MapReduce jobs.
Project 5: Search Engine. A scalable search engine similar to Google or Bing.
Project Groups
Project 1 is independent. The remaining projects are completed in groups of 2-3.
You may modify group membership between projects. You must not modify group membership during a project. In exceptional cases, you may request group dissolution via email to the faculty. If the dissolution is granted, all group members may use previously shared code and no group member may join another group for remainder of the project.
Each group turns in one solution to the autograder. You must register your group on the autograder. All group members earn the same grade on a project. We may adjust the grades of students who substantially under-participate based on feedback from their group members.
For those retaking the course: if you submitted an assignment in a previous term, you must not work in a group on that same assignment this term.
Project Grading
We use a web-based autograder to evaluate correctness and style.
Before the deadline, you may submit up to 3 times per day. After each submission, the autograder shows the results of the public tests released with the project.
After the deadline, the autograder shows the results of private tests.
Your nal project score is a combination of public and private tests. We use the submission that received the combined best score. If multiple submissions share the best score, we grade the last.
https://eecs485staff.github.io/eecs485.org/syllabus.html
4/16/22, 6:52 PM EECS 485 Syllabus
Letter grades are assigned on a curve. In general, our goal is be consistent with past semesters. We calculate your total weighted score using these weights.
Assignment
Percentage of Grade
Programming Projects 5 projects x 10% each = 50%
Midterm Exam
Final Exam
Sometimes the dif culty of exams varies from semester to semester. We use a curve to maintain consistent letter grades despite exam variation. In general, our goal is be consistent with past semesters, where a median grade is 3.3 (B+).
Minimum scores
You are guaranteed to pass EECS 485 with a C or better if your total weighted project score is at least
73.0%, and your total weighted exam score is within 1.5 standard deviations of the mean.
Deadlines and Extensions We do not accept late work.
We will consider extension requests made at least two weeks in advance, for example, for religious holidays or planned medical procedures.
For medical or personal emergencies we will consider exceptions on a case-by-case basis. Please provide documentation of the emergency.
Regrades
Exams are graded by hand. Request a regrade via Gradescope. Your score may go up or down.
Projects are automatically graded. We do not accept regrade requests.
In all cases regrade requests are due no later than 7 days after a grade is released unless a shorter deadline is speci ed.
https://eecs485staff.github.io/eecs485.org/syllabus.html 5/7
4/16/22, 6:52 PM EECS 485 Syllabus
Academic Integrity
We encourage collaboration in EECS 485, especially on concepts, tool, speci cations, and strategies.
All work you submit must be your own or your group’s. Collaboration must not result in code that is identi ably similar to other solutions, past or present.
You are still responsible for following these rules even after nishing the course.
If you are unsure about what constitutes an honor code violation, please contact the course staff with questions.
Code reuse
If you are retaking the course, you may reuse your own code, provided it was wholly written according to rules outlined in this syllabus. It is possible for instructors to miss an honor code violation in a previous term, but catch and report it when the code is reused.
Code publishing
You may not make your code publicly available in any form, for example, in a public GitHub repository
or personal website. You are still responsible for following these rules even after nishing the course.
If you are recruiting and would like to show companies your work in EECS 485, our recommendation is to create a Git repository with only a README le and no code. Take a screenshots of your solution put those in the README. Include a description of the languages, libraries, frameworks, and technologies you used. Another option is to privately demo or send your code to a recruiter.
Recordings
Course lectures may be audio/video recorded and made available to other students in this course. As part of your participation in this course, you may be recorded. If you do not wish to be recorded, please contact your instructor the rst week of class to discuss alternative arrangements.
Students may not record or distribute any class activity without written permission from the instructor, except as necessary as part of approved accommodations for students with disabilities. Any approved recordings may only be used for the student’s own private use.
Accommodations for Students with Disabilities
If you think you need an accommodation for a disability, please let your instructor know during the rst three weeks of the semester. Some aspects of this course may be modi ed to facilitate your participation and progress. As soon as you make us aware of your needs, we can work with the Services for Students with Disabilities (SSD) of ce to help us determine appropriate academic
https://eecs485staff.github.io/eecs485.org/syllabus.html
4/16/22, 6:52 PM EECS 485 Syllabus
accommodations. SSD (734-763-3000; https://ssd.umich.edu) typically recommends accommodations through a Veri ed Individualized Services and Accommodations (VISA) form. Any information you provide is private and con dential and will be treated as such.
Commitment to Equal Opportunity
As indicated in the General Standards of Conduct for Engineering Students, we are committed to a policy of equal opportunity for all persons and do not discriminate on the basis of race, color, national origin, age, marital status, sex, sexual orientation, gender identity, gender expression, disability, religion, height, weight, or veteran status. Please feel free to contact us with any problem, concern, or suggestion. We ask that all students treat each other with respect.
Students’ Mental Health and Well-being
University of Michigan is committed to advancing the mental health and well-being of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available. For help, contact Counseling and Psychological Services (CAPS) at (734) 764-8312 and https://caps.umich.edu during and after hours, on weekends and holidays, or through its counselors physically located in schools on both North and Central Campus. You may also consult University Health Service (UHS) at (734) 764-8320 and https://www.uhs.umich.edu/mentalhealthsvcs, or for alcohol or drug concerns, see www.uhs.umich.edu/aodresources. For a listing of other mental health resources available on and off campus, visit: https://caps.umich.edu/article/um-mental-health- resources.
https://eecs485staff.github.io/eecs485.org/syllabus.html
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com