Richard Chapman Associate Professor, Computer Science, Auburn University 108 Dunstan Hall +334 844.6314 chapman@eng.auburn.edu Professor Sumi Helal E448 CSE Bldg, University of Florida helal@cise.ufl.edu
Tues 9:30-10:45, Shop 112, Aug 22 to Sept 12 Thurs 9:30-10:45 Shop 0112 Sept 19 and following Thurs 4:10-5:30PM Dunstan 102
NOTE: This document is really intended just to "get us started". In future classes you will receive handouts that describe the projects in much more detail, as well as documents giving resource materials and additional readings, both in print and online.
This class represents a unique opportunity for graduate students. Our class will be conducted jointly with the class COMP6930 "Advanced Topics in Mobile and Pervasive Computing," at the University of Florida, taught by Dr. Sumi Helal. This class will focus on design and implementation of smart spaces and mobile computing solutions. The smart spaces, or pervasive computing part of the course will focus on a project to develop a pervasive system, including user interfaces, API's, architecture, and components. There will be more discussion of the particular nature of the project later in the course. We will study emerging technologies such as OSGI, Jini, WAP, IEEE802.11, and Bluetooth. In the mobile computing part of the course we will develop applications for smart mobile devices such as 3G mobile phones. Our development effort will focus on using J2ME, a common, device-independent platform. There will be a contest with prizes for the best mobile "killer application". More discussion of this aspect of the course will follow. In addition to the development parts of the class, each student will do a term paper on an aspect of mobile or pervasive computing. There will be two exams, a quiz, and three lab assignments to make sure that we are all on the same page.
The format of this class will be nothing like that of the other Auburn networks classes: 432,532,632,4320,5320,or 6320. You will be largely responsible for directing your own work in this class, and will be expected to work independently.
You will be given frequent feedback about whether you are doing enough good work or not, but you will not be told exactly what to do and how to do it. You will be given broad guidelines and expected to interpret those in a way that fits in with the rest of the project. Some students in the past have found this frustrating, but I am firmly committed to it, because I think it is realistic.
As in a real-world development situation, you will run into difficulties. Software may not work as advertised or as documented. Installation and configuration directions will probably not work without problems. You are expected to SOLVE these problems when you encounter them. That may mean any of the following:
It DOES NOT mean that you can just tell the instructor, "It didn't work," and ask him to fix it or give you better instructions. That will earn you a failing grade. When you run into a difficulty with software or hardware, you are expected to deal with it. Finding a solution in the face of unexpected problems is what this class is about. That is called "design". You are engineers: design is what engineers do.
Keep the instructor informed, especially if you are having difficulty. The instructor's goal is to help you, but the instructor knows from experience that it is impossible for the instructor to know all details of all software for everyone's project in a graduate research class. IN THIS CLASS IT IS EXPECTED THAT YOU ARE ARE EXPERT, NOT THE INSTRUCTOR, IN YOUR PROJECT.
We all have the same goal in this class: getting all the projects working by the end of the semester. If we do that, not only will you get a good grade, but Auburn will be a better school. We may get more funding, and attract better students and faculty. Perhaps you saw the TV news segments on WTVM and WRBL covering what we did in 7360 in Fall 2000: this is high-profile research that people are interested in.
Just as in the real world, the evaluation of your performance by the instructor will be subjective -- if that bothers you, you should drop the class now.
We will divide the class into teams to work on the project part of the class. The teams may change during the semester if needed. If you are thinking of dropping the class, do it sooner rather than later, because you will harm the other members of your team if you commit to work with them and then quit.
At least one computer networks class. COMP0432,COMP0532,or COMP0632 or their semester equivalents will suffice. So will the EE computer networks course. A programming knowledge of Java or C or (preferably) both is needed.
You should also bring to this class a willingness to explore the unknown, and the maturity to keep working when there are no clear answers to the questions you have, beyond those you can come up with yourself. If you need to always be able to ask someone in authority what to do next, this is not the course for you.
The class will have several main components.Initially the instructors will lectureo on the basics of pervasive and mobile computing. As the semester progresses, the time will be taken by presentation of student term papers, and status meetings about the projects.
Class on Thursday will be conducted jointly at AU and UF via videoconferencing from 5:10PM to 6:30PM in Dunstan 102, as soon as the videoconference hardware that has been ordered has been installed.
The grade will be computed as follows