ECS 189e (Fall 2018)

iOS and Android fundamentals

General information

Information Details
Lecture time and location Monday, Wednesday, and Friday from 9-9:50am in Art 204
Discussion time and location Friday from 10-10:50am in Art 204
Instructor Sam King (kingst@ucdavis.edu)
TA Zhiyi Xu (yzxu@ucdavis.edu)
Sam's Office HoursMonday and Wednesday 10:15-11am in Kemper 3061
FinalNo final exam!
Canvas https://canvas.ucdavis.edu/courses/274727
Piazza https://piazza.com/class/jmjhqdp127p726

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.