Syllabus

Welcome to Intro to Android Development!

Hello and welcome to the class! We are your instructors for this course, Mihili and Zach, and we’re incredibly excited to help you learn how to make Android apps this semester. It wasn't too long ago that we were learning the intricacies of Android ourselves, and now we wish to pass on the knowledge we've learned to you. It’s going to be a great semester and we can’t wait to get started!

Course Staff

Zach Seidner

Course Instructor

Mihili Herath

Course Instructor

Jonathan Chen

TA

Gregor Guerrier

TA

Justin Guo

TA

Veronica Starchenko

TA

Olivia Jiang

TA

Helen Bian

TA

Kelsey Liu

TA

Amy Wang

TA

Andrew Cheung

TA

If you have a question for the course staff, ask a private question on Ed Discussion or schedule a meeting during office hours.

Course Schedule

This schedule is tentative and subject to changes to Cornell's Fall 2024 academic calendar.

Lectures will be held in Olin 155 at 8:35-9:25pm every Monday and Wednesday.

All lectures will be recorded and posted to AppDev's YouTube channel after the lecture.

Towards the end of the course, you'll be participating in the 2-week Hack Challenge alongside students from other AppDev courses, to create a full-fledged mobile application.

Outlined below is a schedule of our lectures, discussions, and projects (with their due dates).

Class DatesTopicProject AssignedProject Due Date

10/14

Intro to Kotlin & Android Studio

P1 (Ungraded)

10/20

10/16

Intro to Kotlin Part 2 (The Beauty of Kotlin)

10/20

Modifiers, lazy lists, and reactive UI

P2

10/27

10/22

Demo: Modifiers, lazy lists, and reactive UI

10/27

Animations, intents, Android Manifest

P3

11/4

10/29

Demo: Animations, intents, Android Manifest

11/4

Navigation and coroutines

P4

11/11

11/6

Demo: navigation and coroutines

11/11

Networking and data storage

P5

11/18

11/13

Demo: Networking and data storage

11/18

Flows and MVVM

P6

11/25

11/20

Demo: Flows and MVVM

11/25

Bonus lecture: TBD

Thanksgiving break

12/2

Final bonus lecture 🥲 TBD

Grading

Note: for Fall 24, you can take this course for up to 2 credits, in the event of credit overload. However, regardless of the number of credits you're signed up for, you are still expected to complete 2 credits worth of work.

This is a 2 credit S/U course and grading will be determined by all projects, with more emphasis on the Hack Challenge final project.

Each project is worth 10-12 points, and the final project is worth 20 points: 10 points for the midpoint submission and 10 points for the final submission. Each project (with the exception of the first) will have extra credit opportunities for you to challenge yourself and dive deeper into Android development.

To pass this course, you will need >= 70 points by the end of the semester.

Assignments

Weight

P2

13

P3

13

P4

13

P5

13

P6

13

Hack Challenge

20

Participation

15

Total

100

Passing Score

70

Attendance

Attendance is required for all students of the course for the lectures, and are permitted at most 3 absences (not including bonus lectures which do not require attendance). If you exceed this amount you will be given a 0 for participation. Attendance will be taken through Kahoot during each lecture, and if you show up late come to one of us at the end of class and let us know your net ID.

Late policy

You are given 6 slip days that you can use on any of the assignments aside from the Hack Challenge project. Each assignment will be opened for late submissions for an extra 2 days after the regular deadline. If you submit an assignment late and run out of slip days, assignments will be automatically docked 2 points.

Note on grading for assignments:

If you are unable to finish the project as a result of an error, please add a note in a README.txt file explaining:

  1. the error that you are encountering

  2. the suspected cause of the error (doesn't have to be correct!)

  3. the solutions you have attempted to resolve the error

This helps out the grader quickly find and debug errors and give partial points for effort!

It is also helpful to leave broken code in your project (but have it commented out). This will allow us to better understand your thought process and give you partial points for missing features.

Course Help

  • If you ever need help, you can always post on the course Ed Discussion. We will be monitoring the class feed to be helping you! For more complicated questions, try to attend office hours if at all possible.

  • Office hours are held at multiple times throughout the week by instructors and TAs. See the course Google Calendar for details

We are here to help you succeed! Our number one goal is for you to LEARN Android development and we will be with you each step of the way to make sure that happens 👏.

Hack Challenge

At the end of the course, you and up to three other members of AppDev courses (Intro to Digital Product Design, Intro to Backend Engineering, Intro to iOS) will have the chance to work in a group and apply all that you’ve learned in the course to create a functional, polished app.

Participation in the Hack Challenge is required as the final project for this course. The course staff will judge the best apps and there will be sponsored prizes! Last semester’s winners won Google Homes, bluetooth speakers, Echo Dots, or Chromecasts. This could be you this semester, so start brainstorming ideas!

Academic Integrity & Collaboration

As with any other course at Cornell, the code of academic integrity will be enforced in this class. All individual projects must be done by yourself. All University-standard Academic Integrity guidelines should be followed. This includes proper attribution of any resources found online, including anything that may be open-sourced by AppDev. The University guidelines for Academic Integrity can be found here.

We encourage using the internet to learn more about Android development, but again, any code you submit must be written by you!

Last updated