|
Semester
Project
|
|
The CS 344 semester project will be
done in a group of 2 to 4 students. All students in the group are
expected to do a roughly equal part of the work of the project.
There will be a peer-evaluation component of grades given on the
project. Groups will be assigned by Monday, September 17. Please
let your instructor know what you would prefer to work on.
|
|
Objectives:
To give students experience with working in groups.
To give students practice and experience in
technical writing.
To give students practice and experience with
making presentations.
To give students practical experience in solving
technical problems.
To let students pursue a relevant topic that may be
of special interest to them.
To give students experience in researching and
learning about a topic of current interest. This should help
them with lifelong learning later in their careers.
To
teach students about information literacy in the area of
computer science. "Information Literacy is the ability to
know when there is a need for information, to be able to
identify, locate, evaluate, and effectively use that information
for the issue or problem at hand."
|
|
Topics:
For the
project, you will explore some area related to operating systems.
Some
suggested ideas:
Wireless
sensor nodes. One can now put wireless battery-powered
"motes" in the field to measure various environmental
conditions. We have two example motes that you can work with.
Virtualization.
The practical part might be to work with the open source
virtualization package Xen. See: http://xensource.com.
There are many articles in trade magazines on different aspects
of virtualization. Since there are so many aspects of
virtualization, more than one team could work on this topic.
Rootkits.
A rootkit is software intalled on a system to hide itself
and and other software. It is designed so that the normal system
tools for looking at files, processes, etc. don't show what is
intended to be hidden. A year ago at this time, a rootkit was
discovered on a Sony commercial CD, and now a rootkit has been
discovered on a Sony commercial USB disk. There are several
rootkit detection and removal packages.
Buffer
overflows and OS-related methods of prevention (see chapter
15 of the Silberschatz text.)
A particular
embedded Linux distribution. See
http://www.linuxdevices.com/articles/AT4525882120.html.
See also chapter 19 of the Silberschatz text.
Prex
is an open source portable real-time OS for embedded
systems. It is under current development, apparently by amateurs
(without the support of an commercial venture). It would provide
a good opportunity to see how a real small-scale OS is
implemented. You could look into one component of this, say
thread scheduling. See:
Multimedia
Operating Systems. See chapter 20 of the Silberschatz text,
and see http://www.linuxdevices.com/news/NS4243110514.html
for an open source multimedia middleware project that has just
achieved its first stable release after 7 years of development.
Device
driver. A very challenging project would be to write a
device driver, either for Linux or for Windows. I can't give you
much help on this, and documentation is not great.
Honeypots. A honeypot is a
system designed to attract hackers or malicious software so that
the kinds of attacks can be analyzed.
|
|
Practical
component:
The project is to include a
"practical" component. For example, if your project is
on buffer overflows, you should try out at least one example of a
buffer overflow. Or if your project is on virtualization, you
should try out some virtualization environments. For the embedded
systems topic, it may be possible to use an old PC as a platform.
|
|
Research
component:
The
project is to include a "research" component. This
component should reference articles that you find in
publications, web pages, etc.
|
|
Deliverables:
Each team
will make a short presentation, with handouts, describing their
plans in the week of October 2nd to 6th or the week of October 8
to 12th.
Each team
will make longer presentations in the week of November 12-16.
Each team member must contribute roughly equally to the
presentation.
A draft of
a written report will be due with the presentation. The written
report will be divided into sections written by different team
members. Each section will be specifically edited by a second
team member, and the editor or editors will be identified. Then,
I will give you feedback, and a revised and final report will be
due December 5.
The written report must be posted as
part of the e-portfolio of the team members. For more details,
see e-portfolio_requirements.html
.
|
|
Resources:
There is a
modern 64-bit PC in Social Science 421 with Xen installed on it.
We have older PCs that you could use for embedded systems
projects.
|