Syllabus C490
Computer Science Seminar
Mobile Computing

Modified

 

Date

General Android 
Notes, Readings

iOS
Notes, Readings

Homework
Due
Tests

Aug
30

Course Overview

Propose a problem and mobile solution

Read CACM Dec. 2008 - Upwardly Mobile p16-19
Read Sixth Sense
Examine
   Model-View-Controller Wikipedia
   BigBlob

Getting Started - HelloWorld
Development Tutorial
Debugging
   Increasing partition size
   Logging runtime errors
Starting Android
 


 

   

Sep
1

  Model-View-Controller

 

   
6 Java Threads
Internet
Java Networking Overview
   Java Networking and Threads Introduction
   TCP Programming Exercise Java
Python and Introduction to Networking
   TCP Programming Exercise Python
    1  

8

  Internet Android

 

   
13     Read iOS Programming, Chapters 1 and 2
Developer's Resources
   CocoaCast - Short articles and podcasts
   iPhone course now at Stanford University
          Previous version of course
Objective C
   Objective C by Apple
   Compiler Warnings
   Reference card (Java expats)
1B  
15   Installing on Android Device iPhone HelloWorld
Model-View-Controller
    iPhone Calculator
   

20

   

Delegates
Connecting to the Internet - HTTP

2  
22 Free Developer's Resources
   Electronic Books 24x7 IUS Library
   iPhone course now at Stanford University
          Previous version of course
   iPhone Developers Program by Apple
   Free iPhone Developers Lynda course
   iPhone Development by Apple
  Objective C
   Classes Review
   Inheritance
   Polymorphism
   Categories
   Descriptions
   Arrays
   

27

   

Objective C
    Memory Management
    Leak detection using Instruments

2B  
29 XML URL Images      
Oct
4
Examine
   Google Android Contest - Scan over the winners  
   Blackberry sinks the President
Read Science in Your Pocket
   Two examples - FFT and Acceleration
Parsing XML
 

 

Project
Proposal
 
6 Discuss proposals Android Screenshot    

11

    NSXMLParser
URL Images
RESTful Services
   Explained
   Example
   
13   Android Listener Pattern
Questions
 
Objective C
    Memory Management
    Copying
    Recursive Data Structures - Linked List
    Exception Handling
Objective C Exception Handling
   

18

Review Installing on Android
Java Exception Handling
Installing on iPhone
Delegates
   
20 Java and Bluetooth
Python and Bluetooth
Python Phone Installation
Bluetooth on Android  
 
 

25

   

August 28 - Oct 18 material

3

Midterm

27   Bluetooth on Android      
Nov
1
    BlueTooth on iPhone
   Apple GameKit Guide (BlueTooth, etc.)
Tutorial
Bluetooth and OBEX
   
3   Broadcast & Services

 
Objective C
    Copying
    Recursive Data Structures - Linked List
   

Project
Literature
Search

Project
Status Report

 

8

  Intents and Messaging
 
TCP on iPhone
    NSStream client
4

Project
Status Report

 
10   AppInventor
SMS (aka Text message)
Plotting

Notifications
Simple Python Threads
Simple Java Threads
Why threads matter
Objective C Threads

   

15

  Persistent Data Storage
 
Navigation
Table Views
View Controllers
   
17 TCP Programming Exercise Java Debugging
ViewFlipper
Read Science in Your Pocket
Two examples - FFT and Acceleration
IU Bloomington INFO project
ioBridge - Power Monitoring
TiSP from Google
Google Voice
Project
Status Report
 
22
24
Thanksgiving
Break
       

29

  Sensors
 
Timer
Accelerometers
MapKit
Project
Status Report
 
Dec
1
 

 

Android Email
Java Exception Handling
iOS Email
Events, Multi-touch, Gestures
DashCode - Programming in JavaScript
Objective C
    Exception Handling
Objective C Exception Handling
Objective C
    Notifications
Computer Science Cool Again
Equipment
check
 
6 Presentation Rubric  

 

Project
Presentations
 
7 Free pizza - LF111 3P        
8 Presentation Rubric     Project
Presentations
 
13
7:45P
    October 20 - December 8 material Project report

Final

 

Instructor: Raymond F. Wisman
Office: LF122
TR 3:00-5:00P and by appointment
Class:             LF215, TR 7:30-9:20P
Phone: 941-2465
Email:
Web: www.ius.edu/rwisman/C490
Text:

Required
The Android Developer's Cookbook
by James Steele and Nelson To, Addison-Wesley, ISBN-13 978-0-321-74123-3
iOS Programming
2e by Joe Conway and Aaron Hillegass, The Big Nerd Ranch, ISBN-13 978-0321773777
Recommended
Programming in Objective C by Stephan G. Kochan, Developers Library ISBN 0-672-32586-1
COCOA Programming for the Mac OS X 3e by Aaron Hillegass, Addison Wesley, ISBN-13 978-0-321-50361-9
The iPhone Developer's Cookbook
by Erica Sadun, Addison Wesley ISBN-13 978-0-321-55545-8
iPhone 3.0 SDK Development
by Dudney and Adamson, The Pragmatic Programmers ISBN-13 978-1-93435-625-8
Beginning iPhone Development by Mark and LaMarche, Apress ISBN-13 978-1-4302-1626-1 

Course: C490 Seminar in Computer Science - Mobile Computing (4 cr.) P: C343.
Goals: See C490 Course Goals
Grade Scale: A+ 97% - 100%    A  93% - 96%        A-  90% - 92%
B+ 87% -  89%     B  83% - 86%        B-  80% - 82%
C+ 77% -  79%     C  73% - 76%        C-  70% - 72%
D+ 67% -  69%     D  63% - 66%        D-  60% - 62%
F      0% -  59%
Course          
Evaluation:   
Homeworks 30%                     Homework grade reduced by 20% for each calendar day late.
Project 30% 
Exams 40%
Ethics: All work is subject to the Indiana University Code of Student Ethics.

Learning requires a partnership between the instructor, authors, researchers and students; therefore students are encouraged to use any and all resources available to solve homework problems and complete programming assignments. However, students must:

  1. clearly cite any contributing source; a text, another student, the Internet, etc.
  2. create their own solutions

For example, students may work in groups to solve homework problems provided each student creates their own (not copies) solutions  and clearly lists all group members or other sources such as authors of texts or on the Internet. Likewise, software that performs assigned functionality may not be directly used but the source code may be consulted provided it is subsequently cited. Changing the spelling of algorithm identifiers does not constitute creating an original solution. It is absolutely essential to note that failure to cite any contributing source will be considered cheating regardless of the reason for the omission. Likewise, verbatim duplication of any source, whether from another student, a text, etc. will always be considered plagiarism.

Violation of any aspect of this policy will result in a failing grade for the course.