This is the homepage for the UW iSchool Winter 2019 Server-side development course.
Dive deeply into the world of server-side development. Build your own web application. Deploy it to the cloud. Authenticate users. Authorize and validate persistent data. Build retrieval indexes for fast searching. Notify clients of changes in real-time. Extend your system with a microservice architecture. Put it all together in a sophisticated web applications.
Instructor: Nigini Oliveira
TA's: Anirudh Kumar Subramanyam & Bao Dinh
(The team wants to thank Dave Stearns for making his material available as a base for this course!)
Anirudh will be available Mondays from 12:30 to 2:30 and Fridays from 11:30 to 1:30 at MGH440.
Bao will be available Mondays and Wednesdays from 1:30 to 3:30 at MGH440.
Nigini will be available under request. (Please send a message with at least a day in advance via Canvas with a topic you need to discuss and a couple of time slots you can meet.)
All communication should happen through Announcements and Discussions on Canvas.
Below, each day have a set of required sources that we want you to read/watch before coming to class. These will orient and prepare you for our in-class coding exercises. If you don't do this, you'll get lost rather quickly.
This course will be evaluated based on weekly assignments (10) and class+lab exercises (~18).
Assignments worth 90% of the grade and will be released every Tuesday morning. The submission deadline will be every Monday night (so you will have a week to work on each of those). Exercises compose the other 10% of the final grade and will be only doable by students present to classes. Because of that, you can miss up to 3 of those and still get full points.
In total, each week you will have an assignment that worths 100 points and two exercises worthing ten.
Canvas tracks grades on a percentage scale. To convert those to a 4.0 scale we will use the standard iSchool conversion chart.
BTW: Canvas is already configured to calculate your final grade considering the previously described 90/10 grading weights and this conversion scale.
Since each assignment builds upon your solution for the previous one, it's imperative that you keep up. To encourage you to keep on schedule, we will deduct 10% of the possible points per 24-hour period that your submission is late, with a one hour initial grace period. For example, if the assignment is worth 100 points and your submission is between 1 and 24 hours late, the maximum you can receive on the assignment is 90 points. If your submission is between 24 and 48 hours late, the maximum you can receive is 80 points.
That said, we realize that sometimes life gets complicated and you might need a little extra time to finish a particular challenge. To give you a little flexibility you have 5 free late days that you can spend throughout the quarter. Each late day gives you a free 24-hour extension on the challenge. Unless you specify otherwise, we will use your late days for any work you submit late. After you exhaust all your late days, the normal late penalties will start to accrue.
If something tragic occurs during the quarter, please let us know and we can work out something.
In addition to the standard iSchool and UW academic policies that apply to all of our courses, the following rules also apply to this course.
We encourage collaboration, but "collaboration" doesn't mean copying other people's code and trying to pass it off as your own. Collaboration means talking through your approach to a problem, or showing someone how you make something work. You can borrow approaches or techniques, but I want you to write your own implementation.
Although professional web developers often reuse code they find on the web, they also take the time to understand what that code is doing, customize it to their specific context, and cite the source so that they can find it again later. If you want to use code you find on the web, please include the source URL in a comment above the code, and take the time to understand why it works. Otherwise you won't learn anything.
If we receive multiple solutions with nearly identical code, we will notice. Remember that git records a log of every commit, so we can see exactly what you committed and when. If we see you commit code that is virtually identical to code a fellow student committed earlier, it's not too difficult to figure out who is copying from whom.
If we determine that you plagiarized code, you will get an automatic zero on the assignment, and we will file an academic misconduct report with the Associate Dean of Academics. We will also have a very unpleasant conversation about your future in the Information School, so just don't do it. If you've simply run out of time, use your late days.