SP21 Syllabus

Raahi Menon, Jack Greenberg

Course Staff

Name

Role

Office Hours

Jack Greenberg

Instructor

Friday 3:00 pm - 4:00 pm

Raahi Menon

Instructor

Sunday 6:00 pm - 7:00 pm

Alanna Zhou

TA

Sunday 2:00 pm - 3:00 pm

Orko Sinha

TA

Saturday 5:00 pm - 6:00 pm

Tedi Mitiku

TA

Thursday 12:00 pm - 1:00 pm

Shungo Najima

TA

Saturday 5:00 pm - 6:00 pm

Noah Solomon

TA

Sunday 2:00 pm - 3:00 pm

Kate Liang

TA

Sunday 6:00 pm - 7:00 pm

Office hours will be held at this zoom link. Updates to office hours may be posted in the Slack, so keep your eyes peeled!

Schedule

Schedule subject to change throughout the Spring semester.

Lectures will be posted to the Cornell AppDev Youtube channel asynchronously under the Backend Course Spring 2021 playlist every Monday at 7:30 p.m. EST. Assigned homeworks will be due the following Sunday at midnight (11:59 p.m. EST).

Lecture Date

Topic

Project Topic

Project Due Date

3/1

Routes

Reddit

3/7

3/8

Databases

Venmo (Basic)

3/14

3/15

Relational Databases

Venmo (Full)

3/21

3/22

Abstractions

CMS

3/28

3/29

Containerization

Dockerize CMS

4/4

4/5

Deployment

Deploy CMS

4/11

4/12

Authorization

N/A

N/A

4/19

Images/Frontend Integration

N/A

N/A

4/26

Wellness Day, No Class!

N/A

N/A

4/27

Hack Challenge Opens (No Class)

Hack Challenge Midpoint

5/2

5/3

Hack Challenge Cont. (No Class)

Hack Challenge Final

5/9

5/10

Hack Challenge Finale

N/A

N/A

Enrollment

You can enroll yourself into the course like any other on Student Center after receiving notification that you have passed the pretest (see Apply to Take the Course). 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.

Lectures

Our lectures are broken down into two portions: a concept-based overview of the week's topic, and an implementation-based coding demo. Lectures and demos run for 10 weeks and will be posted as videos on the Cornell AppDev Youtube channel. The textbook chapters also serve as a great resource alongside the lectures. If you're ever confused, we highly recommend checking the associated textbook chapter or going to office hours - we're here to help!

Weekly Assignments

Programming assignments are due on Sundays at 11:59pm and submitted on CMS (not Piazza!). Late assignments will receive a flat -2 point penalty and no late submissions will be accepted after the Wednesday following the normal submission deadline. We only grant extensions to students who enroll in the course after the first lecture date. Those who are granted extensions must make a private Piazza post and upload their assignments to CMS so that instructors can grade and respond in a timely manner.

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.

We highly encourage that you reference demos, attend office hours, and ask questions on Piazza. Along with submitting assignment source code, you will be required 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 to 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 that Cornell AppDev members are working on. Also note that although not mandatory, lecture attendance is highly recommended.

Assignment

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

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!

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 (and although a great method for learning, pair programming does not abide by our standards of students submitting their own work). We also encourage using the internet to learn more about backend development, but again, any code you submit must be written by you.

Last updated