Instructor: Luca de Alfaro
Time: 8-9:35 TTh
Schedule Information including:
(you will need to be logged in via your @ucsc.edu account to view this information).
Piazza discussion group, to be used for all communications and for all announcements.
Prerequisites: Please check that you satisfy the class prerequisites. There are additional logistical prerequisites in addition to the ones enforced by the registar's office.
Enrolling: The undergraduate advisors are sending students permission codes based on their need to be in this class, giving precedence first to students who need to graduate in Spring 2020, then to people in classes that were cancelled, then to people in the waitlist. They will be giving out more than a hundred permission codes, perhaps close to two hundred.
Logistics: Classes will be broadcast on zoom and recorded, the recordings will be made available online generally within one day. Students should make sure that zoom works correctly on their laptops, including audio and video, as that will be the only way also to access office hours. Zoom allows screen sharing, which facilitates looking at code and discussing it.
DRC Accommodations: please upload them using this form.
All homework assignments and materials for the class will be posted to this page, and all announcements will be made on Piazza (so set up to get email from Piazza, or you might miss announcements).
We post here links to the material for each lecture, including any reading, videos of the class, materials to review for the class, etc.
Here is also a summary of all lectures with the main code presented.
Code
All the code presented in class is part of the cse 183 project by the instructor on bitbucket. Feel free to browse any code there.
Lecture Videos
Here are all the lecture videos, in original format. You need to be logged in via your @ucsc.edu email to view them.
Quizzes are at Scuiz.
Please register using your official UCSC email, and you will have access to the quizzes.
This year, we are planning to completely revamp the class. We are switching web framework, going from web2py to py4web, and we will use vue.js as our Javascript framework. The main reason for the switch is that py4web is smaller, faster, more modular, and more modern in design. It is also arguably better from a teaching point of view, since it makes it much easier for students to see what is going on "under the hood", and modify the server behavior when desired.
The class will have two tracks: standard project and custom project.
Standard Project
Students in the standard project track will all turn in homework that will eventually come together in a single, working project.
Thus, the grading will be essentially via homework submissions, the last of which is known as the "project". The grading is based on:
Custom Project
Students in the custom projects track can propose a project, and develop it in groups of 1-4 people. You need to submit a project proposal to be in this track. They will present the project on the day of the final exam, giving a 10-15 minutes presentation on it. Projects need to be:
Students in this track will be graded by:
See these instructions for presenting and turning in the final project.
HTTP, HTML and CSS basics:
Databases:
Py4web:
Javascript:
Web development:
Deployment: