CS 4301.002 Fundamentals of Mobile App Development
Spring 2021

Instructor: John Cole Monday/Wednesday 10:00 to 11:30 AM
Office and Hours  Room: Online

Teaching Assistant: See eLearning Announcement

Last update: 2/13/2021
Syllabus is on Coursebook Schedule (Subject to change)
Textbook: There is no official textbook, but I will be working from Professional Android , fourth edition, by Reto Meier and Ian Lake, published by Wrox Press.  I strongly recommended getting the eBook, and you can get the sample code online.  Last I checked, it wasn't available through the UTD library yet.  Another good book is Android Programming -- The Big Nerd Ranch Guide Third edition, by Bill Phillips, Chris Stewart, and Kristin Marsicano.  This is excellent except for one deficiency: it doesn't talk about Android sensors.  You can get access to the eBook for free from the McDermott Library.  An excellent book on UI design is Hands-On Android UI Development by Jason Morris.  It discusses Material Design in a very practical way.
This is a hands-on, practical course in writing mobile applications for Android devices.  I highly recommend that you have your own Android phone or tablet, since the thing that makes mobile devices interesting is the sensors.  However, the emulator has improved to the point where it is usable, and your programs will be tested on it.  Details on configuration will be given in class.

While there are no formal prerequisites other than Data Structures and Algorithms, you are expected to have a solid working knowledge of Java and object-oriented programming.  Some knowledge of design patterns is also helpful.  We will also discuss mobile app design. If there is time I'll cover cross-platform development in C# using Xamarin, a component of Microsoft Visual Studio.

I'll use Android Studio for all examples and in-class demonstrations and write in Java.  I know Android Studio 3 and later support Kotlin, but I see no real advantage to using it.  Homework you hand in must use Android Studio and Java unless otherwise specified.

Take a look at Notes for Students for some expectations of those taking my classes.  In particular, I expect you to attend all classes and to pay full attention.  In most classes I ban mobile phones, but you can have yours out on the desk when you're actually programming it.  Otherwise, silence it and put it away.  Yes, we will do in-class exercises even in this age of the coronavirus.  I will take attendance in every class, although attendance is not mandatory and will not enter directly into your grade.

Get Google's Android Developer Studio here.

Exam Rules

YouTube video explaining Constraint Layout
Link to CodeLabs for Google Developers.  Lots of good tutorials.
Programming Tips -- Any code here is free for you to use.

 

In-Class Notes.  This will be used for notes made using Notepad, for program fragments, etc.

Android emulator will use API 26, Pixel 3.