This class provides an introduction to the design and implementation of interactive, dynamic web sites. The class will be based on web2py, a Python-based framework for the rapid implementation and deployment of web sites (read why web2py was chosen).
The web2py book. You can also download it in pdf if you wish to read it offline.
For this class, you need a laptop / desktop on which you can install the required tools for the class. Any OS is fine: Linux, Mac OS X, or Windows. Please follow these installation instructions to set up your machine for development.
Here is a Virtualbox VM with installed everything you need for web2py.
All announcements will be posted to the Piazza discussion group. It is your responsibility to keep up with announcements and deadlines.
All the lectures will be videocast at https://ucsc.zoom.us/j/583291852 , and we plan to make recordings available for the lectures. You can attend the class either in person in the classroom, or via videocast.
There will be two tracks in the class: the standard track, and the project track.
In the standard track, the breakdown for the class grade is:
In the project track, the breakdown is:
Homework grading. The homework submissions will be peer-graded via CrowdGrader. The TAs and graders will regrade, for each assignment, the submissions with the most disagreement, and some of the other submissions selected at random.
Late homework policy: Homework turned in late will be marked down as follows:
Attendance: Attendance will be taken in class using Google Forms. In some classes (about once a week), the instructor will provide a link, via QR code and projected on the class screen. You will then have a few minutes to submit a form, which will record your email, and your answer to a few survey questions. Example of questions are: how is the pace of the class, what material would you like covered in the review sessions, and similar. The questions are not graded; they are just survey questions.
You obtain the 5% component of class grade due to attendance if your attendance is recorded in at least 70% of the forms circulated. You can attend either in the classroom or in the videocast.
This year, the class will have two tracks: the standard track and the project track.
In the standard track, you will complete 5 homework assignments. The last four of these assignments will lead you to develop pieces of a website. The project then consists in putting together these four pieces into a single, well-working site. The project in the standard track is thus the same for all students in the standard track, and it is done individually. The project will be graded both via CrowdGrader, to enable you to have feedback, and via the TAs and class readers/graders. There is no final project presentation in the standard track.
The projects in the standard track need to be turned in on:
The project grade will be the average of the two grades (crowd-grade, and final grade).
In the project track, you can work in groups of 1 to 4 people. You have to write a project proposal, and if the proposal is accepted, you will be assigned a project mentor (a TA or the instructor) that will follow the project during the quarter. You are expected to meet with the project mentor at least bi-weekly, and regular short weekly meetings are encouraged.
Please use this form to submit your project proposal. Please submit by April 16, end of day.
We aim at accepting about 15 to 18 projects. The projects will be presented in the time slot usually reserved for the class final, which is Wednesday, June 12, 12-3pm.
Before 11:59pm on Wednesday, June 12, you have to submit:
Instructions for submitting the above material will be made available in due time.
HTTP, HTML and CSS basics:
Web2py:
Javascript:
Deployment:
Collaboration policy
You can work in groups on the projects in the projects track.
You are free to borrow code from stack overflow or the web (not from other students), but you must cite the source of your code (the URL where it came from) in all cases. However, you cannot ask anyone to do the homework for you.
Here are some links that you might find useful.
UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me privately during my office hours or by appointment, preferably within the first two weeks of the quarter. At this time, we would also like us to discuss ways we can ensure your full participation in the course. We encourage all students who may benefit from learning more about DRC services to contact DRC by phone at 831-459-2089 or by email at drc@ucsc.edu.