CS360

Event-driven programming for PDAs

Course Description :

The purpose of this course is to introduce students to event-driven programming for embedded systems. In particular, we will chose to program for handheld devices such as Palm and Sony PDAs. The language of choice is C using the Metrowerks CodeWarrior for Palm programming environment focussing on software development with the Palm API. Prerequisite: CS250. 3 hours.

Topics:

Learning Objectives:

Tentative Course Schedule :

  1. C++ vs C
  2. Understanding the Palm Computing Platform & Palm OS
  3. Introduction to the Palm Development Environment
  4. Writing your first Palm Applicaton
  5. Introduction to the Palm Emulator/Simulator
  6. Debugging your application
  7. Working with Gremlins
  8. Introduction to MemoPad
  9. Resources and the Constructor
  10. Building Forms and Menus
  11. User Interface Elements
  12. System Elements
  13. Tables
  14. The Palm Database
  15. Programming with Color

The above topics and learning objectives were taken from the Computing Curricula 2001 recommendations found at:

http://www.computer.org/education/cc2001/final/chapter05.htm


Instructor Details:

Professor:

Douglas J. Ryan

Email:

ryandj@pacificu.edu

Office:

Strain 201

Phone:

(503) 352-2135

Office Hours:

M 10:00am - 12:00pm

T 11:00am - 12:00pm

W 10:00am - 11:00am

or by appt

 

 

Course Details:

Course Title:

CS360 Special Topics: Event-driven programming for PDAs

Prerequisite:

CS 250 Introduction to Computer Science II

with a grade of C or better.

Meeting Times:

TTh 1:00pm - 2:15pm

Location:

Strain 322

Textbooks

  • Primary:

 

 

  • Recommended:

 

Palm OS Programming Bible , second edition, by Lonnon R. Foster   IDG Books WorldWide, Inc

 

The C Programming Language by Brian W. Kernighan

Course Website:

Prerequisite For:

http://zeus.cs.pacificu.edu/ryand/cs360pda/cs360pdaf04.html

None

 

Tentative Grading:

Programming Assignments 200 pts
Midterm 100 pts
Final Project / Presentation 100 pts
TOTAL 400 pts

Percent Breakdown:

    92-100 A 90-92 A-
88-90 B+ 82-88 B 80-82 B-
78-80 C+ 72-78 C 70-72 C-
68-70 D+ 60-68 D    
    0-60 F    

Program Grading:

Successful execution 70%
Strict adherence to C coding standards, version 1.0 20%
Efficiency of code 10%

Tentative midterm date:

Midterm October 14 , 2004

Date of Final:

December 9, 2004 (Thursday), 3:00pm - 5:30pm

Policies:

  1. Attendance at every class is critical to your success in this course. I expect you to be on time and ready to go once it's 1:00pm and that you stay until the end of class. Any missed lecture is your responsibility to make up; just remember, if you fall behind, it will be very difficult to catch up.
  2. Programs are to be submitted in the course drop box by 1:00pm on the day in which the assignment is due.
  3. Programs can be turned in late with a penalty of 10% per day (or portion thereof) meaning that one minute late is the same as 23 hours and 59 minutes late.
  4. Make sure to test your program before you turn it in. You may turn in your program only once. A request to grade a program other than the first program submitted will result in a 10% penalty regardless of whether both programs are turned in on time or not.
  5. A program that does not successfully compile or produces no output loses 70% of the assignment grade.
  6. No early or late exams/finals will be given.
  7. No incompletes will be given.
  8. The cheating policy is defined in Pacific Stuff & the Pacific Catalog as well as the Academic Policy that each of you signed upon entering Pacific University. Be sure you read or reread this policy carefully. All code written for CS360 is to be an original design and an original implementation. The Web, textbooks, and any other references are simply references for you. Copying source code from any source is prohibited unless described in a particular assignment and applies only to that single assignment. Further, source code is not to exchange hands between any students in CS360 in any form or by any medium. It is OK to share high level ideas during the design phase, help someone in the class fix a bug occasionally, share information dealing with OS issues, debugger issues, in general, development issues that do not involve code writing.
  9. All code in any form generated from this course becomes the intellectual property of Pacific University. You may not share this code with anyone without obtaining written permission from Pacific University.
  10. Neither computer failure, software failure, nor lack of computer access are accepted as excuses for late programs; therefore, start work on the programs as soon as they are assigned, and don't put them off until the last minute. Further, corruption of programs due to bad disk media is also not accepted as an excuse for late programs; therefore, always keep a current backup of all programs on a separate disk. Please note that the Computer Science departmental servers are not backed up.
  11. The instructor reserves the right to raise or lower a student's grade based on class participation and attendance. Specifically, participation can raise or lower your final grade by 1/3 of a grade. Further, your final grade may be lowered by 1/3 of a grade for each day (or portion thereof) of class missed. Please notify me PRIOR to class if you must miss class for any reason. Just sending an email prior to missing class does not guarantee you will be cleared to miss. Only legitimate reasons will be accepted as excuses for missing class.
  12. Any important issue pertaining to class such as the need to miss an exam or grade issues will not be discussed via email. I will not even reply to your email if the issue is important; therefore, do not assume that no response means everything is OK.
  13. If you are unhappy with something related to the class, then schedule an appointment to see me so that we can discuss it in my office. Complaining in class or out of class to other students gets us nowhere.
  14. You may be asked to leave the classroom if you are causing a distraction e.g. cell phone ringing, talking, etc

Important Dates:

September 6

Labor day holiday

September 13

Last day to add courses, Last day to drop courses with no record

October 8

Fall Day Off

November 8

Last day to withdraw from courses

November 24-26

Thanskgiving Break

December 9

Final Exam (3:00pm - 5:30pm)