CS-3240: Pre-Senior Design
BTL-1: Bootcamp Task List #1
In the bootcamp phase of the course, you will spend time
getting familiar with the basic technologies needed for your
project. For example, if your project involves hacking part
of the Linux kernel, you'll at least need to be able to make
a small change and compile the kernel. Similarly, if you
are working on a robotics project, you'll at least need to
get your code downloaded to the robot and executing.
The purpose of the Bootcamp Task List (BTL) is to
create a list of goals in getting familiar with the
technologies you'll need in your project. We will do this
in two parts, a beginning or basic part (BTL-1) and a
more advanced part in which you will exercise APIs and
start writing some substantial code (BTL-2). The idea is,
at the end of completing all BTL-2 tasks, you will be
ready to completely focus on your part of the project code.
That is, all the other code or hardware you need will be
working, and you'll know how to go through a compile-execute-test
cycle with all these parts.
Think of BTL-1 as doing all the "helloworld" programs
for the technologies you will be using. For example, consider
a project that involves a barcode reader, character
recognition with a webcam, and some encryption. And suppose
that your own part involves some image analysis.
Here are some example BTL-1 tasks:
- Figure our where to buy or borrow the barcode reader
and the webcam. What brands did you choose and why?
Did you look through user forums to see that these
brands were the best for programming projects?
- Write a small program to read from the barcode reader
when the reader is attached to your PC. Did you need
a special library for this? An additional library to
handle USB communication? Were there errors?
- Write a small program to capture images from the webcam
and to be able to examine the pixels. Can you get
multiple images in sequence? Capture video?
- If you are using an OCR package, download and get
the package to work. Write some simple tests.
What package are you using and why?
- Write a small program to encrypt and decrypt text
and images. What package are you using and why?
- Outline ideas for your contribution. What problem
or problems are you solving and why? What data
structures do you anticipate needing?
- Explain what determined your choice of language.
Why do these make sense? Clearly, if you are going to use
these packages and the above hardware, you have got to be
able to get them working with your code. This is the very
basic next step in going forward with your project.
Submission:
- Make a list of BTL-1 tasks like the above list, but
add an explanation of why these are appropriate BTL-1
tasks for your project.
- Get informal feedback from your team.
- Post your BTL-1 list on your project website.