ECS 189e (Fall 2019)

iOS and Android fundamentals

General information

Information Details
Lecture time and location Tuesday/Thursday 115 Huchison from 10:30-11:50am
Discussion time and location Thursday 167 Shields from 8:00am-8:50am (!)
Instructor Sam King (kingst@ucdavis.edu)
TA Gary Yin (wyin@ucdavis.edu)
Sam's Office HoursTuesday and Thursday 12:10-1pm in Kemper 3061
Gary's Office HoursMonday 10am-11am in Kemper 53 and Wednesday 10am-11am in Kemper 55
FinalNo final exam!
Canvas https://canvas.ucdavis.edu/courses/387639
Piazza https://piazza.com/class/k124cxazecv1rm

Overview

This course will teach you how to write apps for both Android and iOS. We will focus on how these systems work behind the scenes, and discuss ​why they do things the way they do. At the end, students will be able to write moderately complex iOS and Android apps.

The prerequisite for this class is undergraduate operating systems (ECS 150 or equivalent).

Lectures

You are responsible for knowing about all announcements made in lecture. We will discuss expectations about the project, suggestions for how to succeed, and grading guidelines in class, and general class policy issues, so make sure you don't miss any lectures.

Do I need ECS 150 (undergrad OS)?

Yes, but I'm not going to enforce it. Among the topics I'm going to assume you're comfortable with are threads and synchronization, networking, and file systems and storage. Pragmatically, without these you can still get quite a bit out of the class and not having 150 will only hurt you for about 1/3 of the content in the class. Specifically, this means that:

  • You are likely to struggle with 3 of the quizzes.
  • You will likely get less out of about 1/3 of the lectures.
  • You will still be able to write iOS and Android apps at the end of the quarter, even though you'll miss some of the most important parts of the class.