CSC 499 Grinnell College Fall, 2013  
Scribbler 2 Bluetooth
Communication
with C
Scribbler 2
 
 

Proposal for a Mentored Advanced Project

on Bluetooth Communications with C

This Mentored Advanced Project (MAP) seeks to develop robust 2-way communication between a Linux workstation and a Scribbler 2 robot, based upon the Bluetooth wireless protocol and the Standard C programming language.

Background

In Summer, 2011, Professor Walker worked with four students to develop infrastructure, modules, labs, readings, and programs, so that Scribbler 2 robots could be used as an application area for CSC 161. Various evaluations indicate that the current environment does a good job of introducing CSC 161 students to imperative problem solving, low-level perspectives of memory management and data structures, and programming in C. These curricular materials are being continuously refined, as they are used each semester in the course.

This work has been very successful:

Although the current environment works well at Grinnell, the infrastructure for the current software in CSC 161 is built upon an extensive framework based on a C++ environment developed at the University of Tennessee at Knoxville. Although this C++ foundation can be installed on MathLAN, this material is far from fully portable. To utilize the foundation on a Macintosh, for example. the installation process takes about 4.5 hours and involves hundreds of downloaded packages. The installation process on a Windows machine apparently is even more convoluted. This reliance on a C++ foundation greatly limits the use of the current materials beyond Grinnell's MathLAN.

Project Goals

This MAP seeks to provide a simple, C-based environment for communicating over Bluetooth with Scribbler 2 robots. This new framework would replace the existing C++ infrastructure from the University of Tennessee at Knoxville, because the current C++ materials greatly restrict the portability of our CSC 161 materials and prevent these materials from being used elsewhere.

With a new C-based infrastructure, materials for CSC 161 would become usable by a broad audience (e.g., outside Grinnell).

Professor Walker has proposed to Dean Smith that his general scholarship for 2013-2015 has the long-term goal of developing full, 2-way communication with a Scribbler 2 robot using Bluetooth. Since he is learning about Bluetooth communication through this period, the path for development is uncertain. Initially, it seems plausible that 1-way communication can be done reasonably simply with socket-based programming. However, 2-way communication likely requires synchronization techniques — a much more complex and subtle technical area.

This MAP will make as much progress toward 2-way Bluetooth communication using C as is possible in a 1-semester project.

Initial References

  1. Textbook: Albert S. Huang and Larry Rudolph, Bluetooth Essentials for Programmers, Cambridge University Press, 2007.

  2. Albert Huang, An Introduction to Bluetooth Programming, available from http://people.csail.mit.edu/albert/bluez-intro/
    (This Web-based material represents a preliminary version of the book by Huang and Rudolph.)

  3. Joint Task Force on Computing Curricula of the Association for Computing Machinery and IEEE-Computer Society, Computer Science Curricula 2013: Ironman Draft (Version 1.0), February 2013.

List of Graded Work and Deadlines

A separate timeline identifies specific work to be completed, including C-based code, software testing materials, documentation, a poster, and [possibly] a paper.

Budget

This project can utilize existing Scribbler 2 robots and other equipment related to CSC 161 and past development efforts. Thus, no additional budget is anticipated, beyond ongoing maintenance.

Preliminary Meeting Schedule

This is a group MAP involving three students. Work within this project will take several forms:

An initial listing of activities and a possible semester schedule is available online and will be updated through the semester.

Major Products

This MAP seeks to produce the necessary C-based infrastructure to support Bluetooth communication between MathLAN workstations and Scribbler 2 robots. Since this MAP explores software development in a new context, it is uncertain how much progress can be made within a single semester. Ideally, this MAP would produce the following materials:

A more detailed list of possible products may be found on the preliminary timeline for the MAP.


created 24 April 2013
last revised 26 April 2013
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.