B490: Mobile Computing

Instructor:         Kay Connelly

                        connelly@indiana.edu

                        LH 301E

Office Hours:

Lecture: Tue, Thu 9:05-9:55 am, LH 115                                        Lab: Friday 11:00 am-1:00 pm, LH 115

Credits: 3 credits                                                                                    Web: https://oncourse.iu.edu

Prerequisites: Experience with object oriented programming

 

Overview

This is an advanced undergraduate programming course that teaches students the skills necessary to develop applications for mobile computing devices (e.g. PDAs). Students will check out a Pocket PC for the semester, and will work to develop Pocket PC applications using Microsoft Visual Studio .NET, the .NET Compact Framework and C#. The course will start with a review of object oriented programming and an introduction to .NET CF and C#. Topics include system I/O, graphics, GUIs, networking, Web Services, SQL CE, threads and application deployment as relates to handheld devices.

 

There are two 50-minute lectures every week and one 2-hour lab meeting. The class is organized around a sequence of lab assignments.

 

Grading

Grades are assigned on a straight 90%, 80%, etcÉ scale. Grades are weighted as follows:

 

Laboratory

Lab will begin with an overview of the topic and lab assignment. There are 7 programming lab assignments for the semester, each worth 10% of your final grade. Unless otherwise directed, you must perform the lab assignment by yourself. It is not expected that you will be able to complete the assignment during the 2-hour lab. The assignments must be turned in by midnight of their due date. Late labs will be docked 10% per day, up to 2 days late.

 

Exams

Exams are 2 hour programming exams which are open book, open notes. Except for extreme circumstances, you must schedule make-ups in advance with an appropriate documented excuse. ÒI oversleptÓ will not be acceptable. Likewise, forgetting to schedule a makeup when you have a planned absence is also unacceptable.

 

Recommended Text (available at amazon.com)

Microsoft .NET Compact Framework, Andy Wigley and Stephen Wheelwright. Microsoft Press.

ISBN 0-7356-1725-2

 

Cheating Policy

It is expected that you will abide by The Indiana University Code of Student Rights, Responsibilities, and Conduct (http://campuslife.indiana.edu/Code/Part_4B.html) and its application to programming courses (http://www.cs.indiana.edu/dept/integrity.html). Acts of academic dishonesty undermine the effectiveness of the class and the learning experience for all, and will be dealt with in strict accordance to the Code of Student Rights.


Schedule (tentative)

Week

Date

Lecture Topic

Lab Topic

Readings

Due

1

1/13/09

1/15/09

Introduction: OOP review

.NET framework

Intro to PDAs, Visual Studio .NET

 

Ch. 1,2

 

2

1/20/09

1/22/09

C# part 1

C# part 2

Course project overview and brainstorming

C# handout

 

3

1/27/09

1/29/09

Forms/GUI Part 1

Forms/GUI Part 2

Finalize course project choice. Lab 1

Ch. 3

Ch. 4

 

4

2/3/09

2/5/09

Debugging

System I/O, App Architecture

Lab 2

Ch. 5

Ch. 10

Lab 1

5

2/10/09

2/12/09

Error handling, Hot Synch

Graphics

Lab 3

 

Ch. 21

Lab 2

 

6

2/17/09

2/19/09

ADO.NET

ADO.NET

Course project meetings, work on Lab 3.

Ch. 14

Ch. 14

 

7

2/24/09

2/26/09

SQL CE

SQL CE

Lab 4

Ch. 17

Ch. 17

Lab 3

8

3/3/09

3/5/09

SQL

Midterm Review

Midterm in lab

Ch. 15

 

Lab 4

9

3/10/09

3/12/09

Custom Controls

Custom Controls/Lab 5

No Lab

Ch. 18

Ch. 18

 

 

 

3/17/09

3/19/09

SPRING BREAK
SPRING BREAK

 

 

 

10

3/24/09

3/26/09

Web Services

Web Services

Lab 6

Ch. 9, 16

Ch. 9, 16

Lab 5

11

3/31/09

4/2/09

NO CLASS

NO CLASS

 

 

 

12

4/7/09

4/9/09

Threads

Timers

Lab 7

Ch. 20

Ch. 20

Lab 6

13

4/14/09

4/16/09

Devices: bar code scanner

Blue Tooth

Course project meetings

 

 

14

4/21/09

4/23/09

Unmanaged (Native) Code

TBD

Course Project Demonstration

Ch. 22

 

Lab 7

15

4/28/09

4/30/09

TBD

Final Review

No Lab

 

 

 

 

Lab Assignments

This year, the lab assignments will develop educational activities for Just Be, the SchoolÕs K-12 outreach program. Each student will develop their own application(s), incorporating specific concepts from the lectures. The students will decide on their applications in consultation with Professor Connelly. Most lab assignments will build on previous assignments, so it is essential to keep up. Types of functionality expected for each lab assignment (subject to change based on specific projects):

 

á       Lab 1: Interface design, VS project settings

á       Lab 2: Write to text file, use dates, change forms, read from text file

á       Lab 3: Graphics, write to text file and hot synch

á       Lab 4: Include SQL database, listview or search of some type

á       Lab 5: Add custom control (custom-dictionary auto-complete, smiley face list?)

á       Lab 6: Synch remotely with web services

á       Lab 7: Add an external device, such as a bar-code reader, or incorporate blue tooth communication