j2me

CSCI 4237 Software Design for Handheld Devices

CSCI 4237 - Software Design for Handheld Devices is a George Washington University, Department of Computer Science course in developing applications for modern day smartphones. This class will be a rigorous examination of the tools and techniques used for programming mobile devices in Java. The student will develop programs for a number of different phones including BlackBerry and Android phones. Attention will be given to the details necessary for developing fully functional applications such as games and business tools. Programs will be developed to run within the emulators that are part of the development tools, however real devices can be used if the student wishes to provide their own. We will also pay specific attention to topics that are unique to handheld devices: designing for limited screen size and constrained resources, cross platform development, portability, on-device testing and performance issues.

CSCI 4237 Map Game Lab

New of 2011

Make an adventure/map game for Android or Blackberry.

Project Ideas

For your final project you will develop a fully functional J2ME application.Here are some possible ideas.

 

Presentation

Updated 09/09/2011

Investigate a handheld programming topic of your choice (topic ideas below). Write a short paper and give an in-class presentation/tutorial. Focus should be on a handheld/mobile device topic (not the support servers and protocols), some topic not cover in class.

Aquarium Lab

Make an aquarium simulation.  Include a tiled background of water, the ocean floor of sand and rocks, some animated sea plants, and some animated fish.

YourChoice lab

Lab 5 - Your Choice

Develop a simple demonstration application that shows how to use an API or package that was not discussed in detail in class. An alternative is to develop a demonstration application for a different platform (not J2ME or not MIDP) that you are interested in. In either case, prepare a 30 minute tutorial on the API, package or platform to be given in class on week 12 and 13. Use your demonstration application as an example.

Some possible ideas include (most of these can be done with an emulator and don't require a real device, although you may wish to use a real device to test your demo application):

GameFram Lab

Lab 4 - Game Framework

This is an OLD lab.

Develop a simple game framework. You should provide a startup menu (form or canvas) from which the user can select from these options (at a minimum):

  • PLAY - play the game. You can implement any sort of game that meets the requirements below.
  • HELP - display information on how to play the game (which keys do what, whats the goal, etc)
  • ABOUT - display information about the game (name of game, author, date, version, URL, etc)
  • HIGH SCORES - List the top 5 scores.
  • EXIT - exit the game MIDlet

Your game does not need to be fully functional, just a simple game. A main character that wanders around a map (under user control) and who collects objects is sufficient. The main game must include the following at a minimum (you can add more if you like):

ResistorCalculator

Make a resistor (electronic component) color code solver. You don't need to know much about resistors, just that the numerical resistance value is represented in color bands printed on the resistor.

PropertyViewer Lab

Lab 2 - Property Viewer

Using any part of the High-Level MIDP user interface (Alert, TextBox, Form, List), implement a property viewer.

HelloWorld lab

Lab 1 - HelloWorld

After installing of the necessary tools (java SDK and WTK (you will want WTK 3.0)), create a new project (MIDP, HelloMIDlet), select the defaultcldcjtwiphone2 emulator, and then compile and run HelloWorld. Modify the program so that it displays your name and "CSCI 188".

What to turn in

Send me a zip file of  the entire WTK project and a screen/widow capture (control+printscreen) of the emulator window.

Phone Emulator


Project Ideas

Project ideas will go here ...

CSCI 4237 Projects

Updated 09/09/2011

For your final project you will develop a fully functional mobile application for either BlackBerry 6, or Android, or any smart phone. It can be a game or a business application of your choice. Your project will need to run in the device emulator or on a real device if you choose.  You will be expected to demonstrate your application to the class on week 14 (the last week).

Here is what is required for your project:

CSCI 4237 Class Schedule

Updated 09/09/2011.

This class follows the university undergraduate and graduate academic calendars. I prefer all submissions through Blackboard by midnight of the due date (which is almost always a Monday). If your work requires submitting something other than Blackboard (paper, CD, a device, etc) then it should be in my mailbox in the Academic Center (704) by 4:00 PM (not later) on the due date or you can give it to me before, during, or after class on the due date. ALL submissions after these times will be considered late.