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

Reddit

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