Syllabus - Computer Science 371M - Mobile Computing
The University of Texas at Austin ∑ Spring 2017
Objectives: An introduction to mobile computing with a strong emphasis on application development for the Android operating system. Students will complete a major project with the goal of releasing an app on the Android Market place. Topics will include the Android development environment, user interfaces, activities, intents, content providers / content resolvers, services, broadcast receivers, persistence, MBaaS, location, sensors, graphics, and other Android features, tools, and capabilities.
Prerequisite: Computer Science 429 (or 310) or 429H (or 310H) with a grade of at least C-; and credit with a grade of at least C- or registration for Computer Science 439 (or 352 or 372) or 439H (or 352H or 372H).
Lecture: 52185 MWF 1 - 2 pm, GDC 5.302
Instructor, Mike Scott, email: email@example.com office: GDC 6.304 .
Office Hours: Monday 2 - 4 pm, Wednesday 2 - 4 pm, Friday, 8 - 9 am.
If you cannot make these hours
to request an appointment.
Office hours are held in the 3rd floor computer lab in the Gates CS complex.
Chandana Amanchi, email:
Lab hours: W 4-5, F 3-5
Website: http://www.cs.utexas.edu/~scottm/cs371m. We will also use Canvas for most course materials, grades, submissions, and some project related tasks.
Textbook (Strongly Recommended):
The Busy Coder's Guide to Android Development, by Mark Murphy,
previous versions available at this site for free.
Android Programming: The Big Nerd Ranch Guide (Big Nerd
ISBN: 978-0321804334 / 1st ed.
Publisher: Big Nerd Ranch Guides
Class Participation, iClicker
Beware: There may be several incompatible brands of remote control devices
on sale. Be sure you get the ``iClicker'' brand. For a picture of one, see the iClicker web site. We
are using the iClicker+, not the iClicker 2, although the iClicker 2 or
original iClicker will work. Note, the REEF POLLING tool is not an
option for my class. The Co-op will buy back the iClicker for about
half the current price. The serial number is important when you register
the iClicker (see the next step). If you need help determining your devices
serial number please see me before or after class or in lab hours.
Even if you already have a
iClicker and registered it in the past you must reregister for this semester.
After registering you DO NOT have to sign up for a particular class on the
Android Device: You are NOT required to have an Android Device. Development can be done on the Android Emulator. However there is no substitute for testing on a real device. I have multiple Android dev phones and tablets available for checkout during lab hours.
If you do want to purchase an Android device past students have favored Google Nexus tablets. Current version is the Nexus 9 tablet, but the older Nexus 7's work as well. The only downside to tablets is they lack telephony capability.
Software: Android development is done in Java. The Microlab computers in GDC are set up to do Android programming.
You are strongly encouraged to work on your own computer. The following software is required and freely available.
Class Discussion Tool: I have set up a discussion group for the class on Piazza.
Schedule: A schedule of lecture topics, reading assignments, and assignment distribution and due dates is available online, via the class web page, www.cs.utexas.edu/~scottm/cs/schedule.htm. The schedule lists topics and readings. The schedule is subject to change.
Assignments and Projects (Listed by Due Date)
|Attendance, 1 point per lecture||Lecture||40|
|Assignment 1 - App Reviews||2/1||50|
|Assignment 2 - App Proposals - Written. Posters are due on assigned poster day.||2/13||125|
|App Groups with Target App||2/24||None|
|Assignment 3 - Design Document and Paper Mockup||3/10||70|
|Assignment 4 - Alpha Release||4/4||100|
|Assignment 5 - Alpha Peer Evaluations||4/14||75|
|Assignment 6 - "How to ..." Writeup||4/26||50|
|Assignment 7 Beta Release and Beta Demo||5/3||200|
|Assignment 8 Team Member Evaluations and Digital Demo Day Participation||5/8||30|
Academic Honesty: Taken from the CS department Code of Conduct.
"The University and the Department are committed to preserving the reputation of your degree. It means a lot to you. In order to guarantee that every degree means what it says it means, we must enforce a strict policy that guarantees that the work that you turn in is your own and that the grades you receive measure your personal achievements in your classes:
Every piece of work that you turn in with your name on it must be yours and yours alone unless explicitly allowed by an instructor in a particular class. Specifically, unless otherwise authorized by an instructor:
You are responsible for complying with this policy in two ways:
The penalty for academic dishonesty will be a course grade of F and a referral of the case to the Dean of Students. Further penalties, including suspension or expulsion from the university may be imposed by that office.
One final word: This policy is not intended to discourage students from learning from each other, nor is it unmindful of the fact that most significant work in computer science and in the computing industry is done by teams of people working together. But, because of our need to assign individual grades, we are forced to impose an otherwise artificial requirement for individual work. In some classes, it is possible to allow and even encourage collaboration in ways that do not interfere with the instructor's ability to assign grades. In these cases, your instructor will make clear to you exactly what kinds of collaboration are allowed for that class."
For CS371M I expect you to complete the tutorials on your using the provided code when given.
For your projects I expect you to do significant work on your own.
You can use class examples and examples from the web, but these must be documented.
To be clear, a significant amount of work on your project must be your own, but it is okay to incorporate code samples and 3rd party libraries.
For more information on Scholastic Dishonesty see the
University Policy on Scholastic Dishonesty
Important Dates for Changing Academic Status and Dropping the Course: Refer to the Registrar's academic calendar for the deadlines for changes in academic status. Highlights are:
See the College of Natural Science Guidelines and Procedures page for more information. (http://cns.utexas.edu/advising/guidelines-procedures)
Students experiencing significant nonacademic problems (extended health problems or family emergencies) should contact the CNS Deanís Office (WCH 1.106, (512) 471-4536) or the Dean of Studentís Office (http://deanofstudents.utexas.edu/emergency/) for assistance.
Religious Holidays: By UT Austin policy, you must notify me of your pending absence at least fourteen days prior to the date of observance of a religious holy day. If you must miss a class, an examination, a work assignment, or a project in order to observe a religious holy day, you will be given an opportunity to complete the missed work within a reasonable time after the absence.
Students with Disabilities: students with disabilities
may request appropriate academic accommodations from the Division of Diversity
and Community Engagement, Services for Students with Disabilities, 471-6259,
Many thanks to Professor Frank McCown of Harding University and Professor David Janzen of Cal Poly - San Luis Obispo for sharing their Android app development materials with me.
To the CS 371M home page