
Atomicrhubarb hosts a number of projects Im working on and the main content for two graduate classes I teach. I have been cleaning up files again, so If you arrived here through a now dead link then you can probably find what you are looking for by browsing the navigation tree to the right, or select from the major categories below:
CSCI 4415 (formerly CS-190)
is a George Washington University, Department of Computer Science course in real-time embedded systems. This course is taught as CSCI-4415 section 80 for undergraduate students and CSCI-6907 section 80 for graduate students. The purpose of this course is to engage computer science undergraduates and graduates with hardware and embedded systems. While Computer Science students get a strong conceptual overview of systems and hardware in various organization and architecture courses, many students have never experienced actually working with computer hardware. This course will focus on hands-on projects, through homework, labs and final projects involving both hardware and low-level software. This course will discuss the design issues in an embedded system and the technologies needed to support such systems, with the focus on the software aspects.
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.