SP20 Syllabus
Spring 2020
Course Staff
On-campus office hours have been cancelled for the rest of the semester due to the University mandating virtual instruction. Office hours will resume as bookable 1-on-1 sessions with course staff over zoom once courses resume 4/6. Please refer to Piazza for further instructions.
Name
Title
Office Hours
Location
Alanna Zhou
Instructor
SUN 2:15-3:15pm
Rhodes 406
Conner Swenberg
Instructor
SUN 2:15-3:15pm
Rhodes 406
Alicia Wang
TA
SUN 3:00-4:00pm
Rhodes 406
Raahi Menon
TA
SUN 3:00-4:00pm
Rhodes 406
Sean Corcoran
TA
FRI 2:30-3:30pm
Rhodes 574
Megan Le
TA
FRI 2:30-3:30pm
Rhodes 574
Orko Sinha
TA
FRI 4:30-5:30pm
Rhodes 412
Schedule
This schedule is updated to reflect the recent changes due to COVID-19!
Lecture Date
Topic
Project
Project Due Date
2/17
Routes
3/1
3/2
Databases
Venmo (Basic)
3/8
3/9
Relational Databases
Venmo (Full)
4/8
4/6
Abstractions
CMS
4/12
4/13
Containerization
Dockerize CMS
4/19
4/20
Deployment
Deploy CMS
4/26
4/27
Authentication
Final Project
5/10
Enrollment
You can enroll yourself into the course like any other on Student Center. For convenience, our course code is 14688. This is a 2-credit S/U course, however we permit students to enroll for 1-credit for the purpose of avoiding a credit overload petition. All students are expected to do the same work, regardless of the credits enrolled in.
Weekly Lectures
Cornell's course system indicates that our lectures run from 8:35-9:25pm. In the past we have run lectures from 8:30-9:30pm and typically need the full hour, so please arrive to Gates G01 by 8:30pm.
We will hold lectures for 10 weeks every Monday from 8:30 - 9:30pm in Gates G01 (main atrium on the basement floor). Lectures will be split into two parts: first focusing on the theoretical happenings of a backend, followed by a live demo showing the implementation of these systems with selected packages and Python. All lectures will be recorded and posted on YouTube for you to rewatch as you wish. We also have lecture transcripts for those who prefer to read at their own pace.
Weekly Assignments
Programming Assignments will be due every Sunday at 11:59pm and submitted on CMS. Late assignments will receive a flat -2 point penalty and no late submissions will be accepted after the Friday following the normal submission deadline. We only grant extensions to students who enroll in the course after the first lecture date.
Each assignment will have three optional challenges to take your understanding further.
Tier I challenges are designed to be low difficulty, simple extensions of the application (estimated time: <1 hour).
Tier II challenges are medium difficulty extensions that require more forethought for a successful implementation, but are by no means out of reach (estimated time: <2 hours).
Tier III challenges are high difficulty extensions which will often require outside research and will teach you things that we do not have time to cover in this course.
Referencing demos are highly encouraged as well as attending office hours and asking questions on Piazza. Along with submitting assignment source code, you will be expected to submit a text file (README.txt
) where you can freely comment on the week’s lecture, assignment, or anything else. You will also fill out a short questionnaire which helps us quantify feedback for improving the course.
Grading
This course is graded as S/U (pass/fail). We want all of our students to pass the course. As long as you turn in every assignment with reasonable effort and follow academic integrity, you should be on pace to pass. All assignments take into account effort with a minimum score if you submit something that shows you tried. No submission or noticeable lack of effort will receive zeros. To pass this course, you will need >= 70 points AND create your own app by participating in the Hack Challenge. We have many extra credit opportunities throughout the semester on assignments (up to 6 points each) as well as user research for apps we work on. Also note that lecture attendance is not mandatory, though highly recommended.
Item
Weight
PA1 - Reddit
10
PA2 - Venmo (Basic)
10
PA3 - Venmo (Full)
10
PA4 - CMS
10
PA5 - Dockerize CMS
10
PA6 - Deploy CMS
10
Final Project
30
Weekly Surveys
10
Total
100
Passing Score
70
Hack Challenge Final Project
Due to COVID-19's outbreak, the SP20 backend course will finish on a final project where you design the backend side of a new application.
All AppDev courses finish with bringing members from iOS, Backend, and Design together to put what you’ve learned to the test and build your very own application. All students are welcome to submit app ideas and teams up to four will be formed to bring the idea to life. Leading up to the Hack Challenge, the Backend course will focus on deployment so that your mobile apps can connect to a live backend running on Google Cloud servers. It goes without saying that the majority of students find the Hack Challenge the most rewarding and fun part of the course.
Piazza
We use Piazza for releasing assignments, posting links to lecture videos and transcripts, and answering whatever questions you might have. The Piazza page is linked on the left sidebar titled as Piazza
.
Lecture Videos
For the past few semesters, we have recorded every lecture and demo, and we will continue to for the Spring 2020 semester. Our videos from Fall 2019 are linked on the left sidebar titled as FA19 Lecture Videos
.
Academic Integrity
As with any other course at Cornell, the code of academic integrity will be enforced in this class. While we encourage you to collaborate with other students, all code that you submit must be written by you. We also encourage using the Internet to learn more about backend development, but once again any code you submit must be written by you.
Last updated