B490: Programming on the Go
Instructor: Kay Connelly
LH 301E
Office Hours: To be determined
Lecture: Tue, Thu 2:30-3:20 pm, LH115 Lab: Friday 1:00-3:00 pm, LH115
Credits: 3 credits
Prerequisites: Experience with object oriented programming and P436, or consent of instructor
Limit: 24 students
Web: https://oncourse.iu.edu
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 and a team-based final project. Projects can use a variety of PDA accessories, including cameras, bar code readers and GPS.
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 lab assignments for the semester. 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 lab deliverables must be turned in by midnight of their due date. Late labs will be docked 10% per day, up to 2 days late.
Students may work as individuals, or in teams of 2-3 on a semester project. Projects may use a variety of PDA accessories, including cameras, bar code readers, Bluetooth, 802.11 and GPS. The projects will be entered into the Imagine Cup (http://imagine.thespoke.net/registration/). Important class due dates and Imagine Cup dates:
Microsoft .NET Compact Framework, Andy Wigley and Stephen Wheelwright. Microsoft Press.
ISBN 0-7356-1725-2
Schedule (tentative)
|
Week |
Date |
Lecture Topic |
LabTopic |
Readings |
Due |
|
1 |
1/11/05 1/13/05 |
Introduction OOP review |
Intro to PDAs Brainstorm project ideas |
|
|
|
2 |
1/18/05 1/20/05 |
.NET framework C# part 1 |
Visual Studio .NET, Lab 1, assign project groups |
Ch. 1,2 C# handout |
|
|
3 |
1/25/05 1/27/05 |
C# part 2 Exceptions |
Lab 2 |
C# handout
|
Project Topic Lab 1 |
|
4 |
2/1/05 2/3/05 |
System I/O Graphics |
Lab 3 |
Ch. 10 Ch. 21 |
Draft Spec Lab 2 |
|
5 |
2/8/05 2/10/05 |
Forms PC v.s. Pocket PC (Schray) |
NO LAB: Work on project specification |
Ch. 3,4 |
Lab 3 |
|
6 |
2/15/05 2/17/05 |
Application Architecture Web Services |
Lab 4 |
Ch. 13,14 Ch. 15,16 |
Project Spec
|
|
7 |
2/22/05 2/24/05 |
SQL SQL CE |
Lab 5 |
Ch. 17 Ch. 17 |
Lab 4 |
|
8 |
3/1/05 3/3/05 |
<open for catch-up> Midterm Review |
Midterm: during lab |
|
|
|
9 |
3/8/05 3/10/05 |
Networking TCP |
Lab 6 |
Ch. 11 handout |
Lab5 |
|
|
3/15/05 3/17/05 |
SPRING BREAK |
|
|
|
|
10 |
3/22/05 3/24/05 |
Timers and Threads Threads and Delegates |
Present project progress reports |
Ch. 20 Ch. 20 |
|
|
11 |
3/29/05 3/31/05 |
Unmanaged (Native) Code Windows CE |
Lab 7 |
Ch. 22
|
Lab 6 |
|
12 |
4/5/05 4/7/05 |
Application Deployment Application Deployment |
NO LAB: Work on projects |
|
|
|
13 |
4/12/05 4/14/05 |
Other handheld environs Smartphones |
NO LAB: Work on projects |
|
Lab 7 |
|
14 |
4/19/05 4/21/05 |
Project Presentations Project Presentations |
Project Presentations |
|
Project Report |
|
15 |
4/26/05 4/28/05 |
Handhelds and Ubicomp Review |
|
|
|
|
16 |
5/?/05 |
Final Exam |
|
|
|