Chris Pollett >
CS185C Spring 2004 Sec1 Home Page/Syllabus
To take this class you must have taken: CS140 with a grade of C- or better.
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:
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.
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.
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.
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.
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).