B490: Programming on the Go

Instructor:            Kay Connelly

                                connelly@indiana.edu

                                LH 301E

Office Hours:  by appointment

Lecture: Tue, Thu 2:30-3:20 pm, LH115                                                           Lab: Friday 1:00-3:00 pm, LH115

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:

  • Lab Assignments: 70%
  • Midterm Exam: 15%
  • Final Exam: 15% 

 

Laboratory

Lab will begin with an overview of the topic and lab assignment.  There are 9 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 assignments must be turned in by midnight of their due date.  Late labs will be docked 10% per day, up to 2 days late.

 

Each lab assignment is worth 7% of your final grade.  In addition, there is one in-lab assignment during the last two weeks of class in order to give you exposure to other mobile platforms.  It is worth 7% of your final grade.

 

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.

 

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/10/06

1/12/06

Introduction: OOP review

.NET framework

Intro to PDAs, Visual Studio .NET

 

Ch. 1,2

 

2

1/17/06

1/19/06

C# part 1

C# part 2

Project Settings (Ch. 6), tutorial

C# handout

 

3

1/24/06

1/26/06

Forms/GUI Part 1

Forms/GUI Part 2

Lab 1

Ch. 3

Ch. 4

 

4

1/31/06

2/2/06

Debugging

System I/O, App Architecture

Lab 2

Ch. 5

Ch. 10

Lab 1

5

2/7/06

2/9/06

Error handling, Hot Synch

Graphics

Lab 3

 

Ch. 21

Lab 2

 

6

2/14/06

2/16/06

ADO.NET

Web Services

Lab 4

Ch. 14

Ch. 9, 16

Lab 3

7

2/21/06

2/23/06

Setting up a WS Server

SQL

Lab 5

Ch. 16

Ch. 15

Lab 4

8

2/28/06

3/2/06

SQL

SQL CE

 

Ch. 15

Ch. 17

Lab 5

9

3/7/06

3/10/06

Midterm Review

NO CLASS

Midterm

 

 

 

 

3/14/06

3/16/06

SPRING BREAK
SPRING BREAK

 

 

 

10

3/21/06

3/23/06

Networking Part 1

Networking Part 2

Lab 6

Ch. 11

 

 

11

3/28/06

3/30/06

Custom Controls

Security

Lab 7

Ch. 18

Ch 12

Lab 6

12

4/4/06

4/6/06

Devices: bar code reader

Devices: camera

Lab 8

 

Lab 7

13

4/11/06

4/13/06

Timers and Threads

Threads and Delegates

Lab 9

Ch. 20

Ch. 20

Lab 8

14

4/18/06

4/20/06

Unmanaged (Native) Code

Smart Phones (Liu)

In-Lab Assignment (Liu)

Ch. 22

Lab 9

 

15

4/25/06

4/27/06

Smart Phones (Liu)

Review (Liu)

In-Lab Assignment continued… (Liu)

 

 

16

5/?/06

Final Exam

 

 

 

 

Lab Assignments

This year, the lab assignments will develop a mobile Blogging application, where the user can upload diary-like entries from a PDA to a web page using a variety of input styles (text entry, drawing, choosing from pre-defined values, pictures, etc…).  Each assignment will build upon the previous one, so it is imperative that you do not get behind.