CS185CSpring 2004Sec1Home Page/Syllabus

PDA Programming

Instructor: Chris Pollett
Office: MH 214
Phone Number: (408) 924 5145
Email: cpollett@yahoo.com
Office Hours:MWF 2:20-4pm
Class Meets:
Sec1 MWF 12:30pm-1:20pm in MH223

Prerequisites

To take this class you must have taken: CS140 with a grade of C- or better.

Texts and Links

Required Texts: Palm OS Programming Bible, Second Edition. John Wiley & Son. by Lonnon R. Forster.
Online References & Other Links: Palm API Reference.
Palm Creator ID Page.

Topics

This course will cover how to write programs for the Palm OS. Students will be expected to complete five programming projects involving various aspects of the Palm OS. The next to last projects are two parts of one large project. This is to be proposed by the student but must involve effective use of the static record, OBEX, and Hot Syncing features of Palm devices. Topics covered in lecture will include using cross-compilers and emulators, debugging in the Palm setting, Palm OS GUI and event model, Palm OS databases, infrared, Bluetooth, wireless programming, and writing conduits to synchronize Palm devices with Windows or Linux applications. Programming will be done in C and we will mainly use the gcc compiler. Students can test their programs on freely available Palm emulators or on the their own Palm devices. As time permits some aspects of MIDP (Java), PocketPC, and cell phone programming may be covered.

Below is a tentative time table for when we'll do things this quarter:

Week 1: Jan 30 Read Ch2
Week 2: Feb 2, Feb 4, Feb 6 Read 65-end Ch3, Read Ch4
Week 3: Feb 9, Feb 11, Feb 13 Read Ch5
Week 4: Feb 16, Feb 18, Feb 20 Read Ch6
Week 5: Feb 23, Feb 25, Feb 27 Read Ch7
Week 6: Mar 1, Mar 3, Mar 5 Read Ch8 to p280. Review.
Week 7: Mar 8, Mar 10, Mar 12 Finish Ch8. Read Ch9.
Week 8: Mar 15, Mar 17, Mar 19 Read Ch10 and Ch11.
Week 9: Mar 22, Mar 24, Mar 26 Read Ch12.
Week 10: Mar 29 (Break), Mar 31 (Break), Apr 2 (Break)
Week 11: Apr 5, Apr 7, Apr 9 Read Ch 13.
Week 12: Apr 12, Apr 14, Apr 16 Read Ch14.
Week 13: Apr 19, Apr 21, Apr 23 Reach Ch16 to p597. Review.
Week 14: Apr 26, Apr 28, Apr 30 Finish Ch 16, Read Ch20.
Week 15: May 3, May 5, May 7 Read Ch21.
Week 16: May 10,May 12,May 14 Talk about Java Midlets. Review
Week 17: May 17 Demo day.
The final will be Wednesday, May 26 12:15pm to 2:30 pm in the usual classroom.

Grading

Homeworks 60%
Midterm 1 10%
Midterm 2 10%
Final 20%
Total100%

Grades in this class will be curved and since it is an upper division class I will try to be reasonably lenient. The person or persons with the highest aggregate score will receive an A+. I view a score of less than 50% as not having attained competence in the material covered and such people will receive an F.

If you do better than an A- in this class and want me to write you a letter of recommendation, I will generally be willing provided you ask me within two years of taking my course. Be advised that I write better letters if I know you to some degree.

Homework Info

There will be five homework assignments in this class (15 points each). The first three are designed to get you up to speed at creating simple Palm applications as well as debugging your code. The last two will be a cumulative project of your choosing. On Feb. 20, a Final Project proposal must be turned in by each student. This should be a one page description of your project that clearly states what you intend to build. I might require you to rework your project description if it is either too easy or too hard. All projects must make use of records. This component of your project must be completed by the homework 4 due date. All project must in addition be able to communicate using OBEX (either use IR or Bluetooth) and sync using a conduit. These component must be complete by the homework 5 due date.

Links to the current list of assignments can be found on the left hand frame of the class homepage. After an assignment has been returned a link to its solution will be placed off the assignment page. Material from assignments may appear on midterms and finals. Homeworks for this class will be submitted and returned completely electronically. The written and programming parts of an assignment are submitted by clicking on the submit homework link for your section on the left hand side of the homepage and filling out the on-line form. Hardcopies or e-mail versions of your assignments will be rejected and not receive credit. The written parts of an assignment will be submitted as text documents. Homeworks will always be due by the start of class on the day their due. Late homeworks will not be accepted; however, your low homework score will be dropped.

When doing the programming part of an assignment please make sure to adhere to the specification given as closely as possible. Names of files should be as given, etc. Failure to follow the specification may result in your homework not being graded and you receiving a zero for your work. In addition, you should make sure your code conforms with the Departmental C++ Coding Guidelines. This will be worth one point on every assignment.

Exams

The midterms will be during class time on: Mar 5 and Apr 23.

The final will be: Wednesday, May 26 12:15pm to 2:30 pm in the usual classroom..

All exams are closed book, closed notes and in this classroom. You will be allowed only the test and your pen or pencil on your desk during these exams. Beeper or cell-phone interruptions will result in immediate excusal from the test. The final will cover material from the whole quarter although there will be an emphasis on material after the last midterm. No make ups will be given. The final exam may be scaled to replace a midterm grade if it was missed under provably legitimate circumstances. These exams will test whether or not you have mastered the material both presented in class or assigned as homework during the quarter. My exams usually consist of a series of essay style questions. I try to avoid making tricky problems. The week before each exam I will give out a list of problems representative of the level of difficulty of problems the student will be expected to answer on the exam. Any disputes concerning grades on exams should be directed to me, Professor Pollett.

Regrades

If you believe an error was made in the grading of your program or exam, you may request in person a regrade from me, Professor Pollett, during my office hours. I do not accept e-mail requests for regrades. A request for a regrade must be made no more than a week after the homework or a midterm is returned. If you cannot find me before the end of the semester and you would like to request a regrade of your final, you may see me in person at the start of the immediately following semester.

Academic Honesty

Plagiarism on homework or cheating on tests will result in appropriate academic disciplinary action being taken. Information on the university policy governing academic dishonesty can be found at http://info.sjsu.edu/web-dbgen/narr/catalog/rec-855.html (Sections 41301-4).