Professional Documents
Culture Documents
Description:
Today's applications are increasingly mobile. Computers are no longer confined to desks and laps but
instead live in our pockets and hands. This course teaches students how to build mobile apps for
Android, iOS, and Windows 8, the trinity that is today's mobile operating platforms.
Students learn to write both web apps and native apps for Android using Eclipse and the Android SDK, to
write native apps for iPhones, iPod Touches, and iPads using Xcode and the iOS SDK, and to write web
apps for both platforms. The course also touches on Windows 8 application programming, so as to
provide students with a stepping stone for application development in the mobile operating system of
their choice. Additional topics covered include application deployment and availability on the
corresponding app stores and markets, application security, efficient power management, and mobile
device security.
Prerequisites:
-
Students are expected to have knowledge of HTML, Javascript and CSS. The course does not
aim to cover these topics, though does discuss in detail the details and feature-sets of
HTML5, and CSS3 , as they pertain to mobile browsers. The first part of the course will deal
with these subjects.
Assignment 0 (not graded) will be provided (with solutions), to help you gauge whether or
not you meet the technical prerequisites
Expectations:
-
Be prepared fro a *lot* of hard work: Be prepared to code, often, and much. The aim of this
course is to get you to a point where you can boast your own App portfolio. But Apps
arent going to write themselves.
There is a lot of self-study required: Resources on mobile programming are plentiful, and
as we aim to cover all three mobile OSes time is limited. Each presentation will have
required pre-reading and post-reading. Just like in law school. Make sure to, at the very
least, skim the references. Our lecture time is, alas, limited to only two hours at a time, and
the goal is to maximize that time.
Homework assignments and projects will be given in advance, around the time the course
starts. This will enable you another way of assessing whether or not the course is right for
you. Im a proponent of self-study and if you want to do your homework assignments ahead
of when theyre discussed in class power to you. That said, Im less favorable when it
comes to extensions. Dont leave things to the last minute! Often surprisingly simple tasks
can take more than you thought they would (q.v. Parkinsons law).
You should write code that works, though generally we are lax on style. Meaning, we wont
hound you on variable names and readability. Readable code helps, however, in those cases
where your code doesnt work as well as you hoped, and we need to pinpoint the problem
so as to grade It as fairly as possible. In general, our interest in your code is inversely
squared proportional to the performance of your App (in other words, write solid apps
which work, and well take it for granted the code quality is good!)
Aside from the final project, work is solo. This will be your chance to shine Collaboration
(and plagiarism) will be frowned upon. Youre all HExt students, and Im sure youre well
acquainted with the principles of academic honesty by now.
o
iOS and Android Apps will be expected to perform well in the corresponding simulators. For
Android, tests will also be conducted on an Android phone and tablet configured for local
app deployment (USB Development).
For the final project, people are encouraged to work in teams. But that means that:
o
o
o
The course will use a forum either iSites or Piazza. Students are expected to participate
and share ideas (all within academic honesty limits)
The instructor and support staff will also be available via Skype. This is especially beneficial
for distance students.
Contact:
- Jonathan Levin, Instructor (JL@HisOwn.com) Skype: cscie76
Comparing and Contrasting architectures of all three Android, iOS and Windows
Underlying OS (Darwin vs. Linux vs. Win 8)
Kernel structure and native level programming
Runtime (Objective-C vs. Dalvik vs. WinRT)
Approaches to power management
Security
GPS
Accelerometer
Camera
Mobile malware
Device protections
iOS Jailbreaking, Android rooting and Windows defenestration
Grading*:
30% Assignments
30% Mini-Projects
30% Final Project
10% Participation/Impression/TBD
* - may vary, but this should give you a rough idea
Suggested books:
<< TBD Soon >>