B490: Programming on the Go

Instructor:         Kay Connelly

                        connelly@indiana.edu

                        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.

 

Project

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:

 

More information about projects will be given during the semester.

 

 

Exams

Exams are closed books and closed notes. The final is cumulative, but will emphasize the material since the midterm. The exam format will be approximately 1/3 short answer, 1/3 short code, 1/3 essay/design. 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.

 

Text

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

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
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