CSCI 1300
Introduction to Computing
Fall 1997
Project Ideas
The projects listed below are suggestions. You are not required to
choose one of these projects, but they should give you some idea of
what is expected from your semester project in terms of complexity and
difficulty. Keep in mind that you will be spending the second half of
the semester working on this.
Birds
-
Brief description
-
This project simulates the flight of flocks of birds.
Each simulated bird follows some simple rules in choosing its
location in flight
and the program shows what overall formations such
single-bird preferences result in.
The user can control one bird to see how its movements
influence the rest of the flock.
-
Purpose
-
This project lets the user test theories about
how flocks of birds create their flight formations.
Optics
-
Brief description
-
This projects illustrates basic aspects of
the workings of photographic lenses.
-
Purpose
-
To provide a teaching tool that lets the user explore
concepts such as focussing, depth of focus, aperture.
Binary Numbers
-
Brief description
-
This project lets the user visualize binary numbers
and their relation to decimal numbers by moving
blocks of various sizes on the screen.
-
Purpose
-
This project allows high-school students to learn about
binary numbers.
Flight Simulator
-
Brief description
-
An instruments-only flight simulator. The users flies a
plane.
-
Purpose
-
Soaking up spare time of aerospace majors.
Formatting
-
Brief description
-
Automatic formatting of program text ("code") can be very helpful to
programmers.
This project implements a formatting technique that
turns
// ------------------------------------------
char suitToChar (Suit s)
{
switch (s)
{
case Hearts: return (char (3));
case Diamonds: return (char (4));
case Clubs: return (char (5));
case Spades: return (char (6));
}
// ------------------------------------------
into
// ------------------------------------------
char suitToChar (Suit s)
{
switch (s)
{
case Hearts: return (char (3));
case Diamonds: return (char (4));
case Clubs: return (char (5));
case Spades: return (char (6));
}
}
// ------------------------------------------
-
Purpose
-
Providing a tool for formatting programs
in a way that brings out the relationships between
similar successive lines.
Heat Transfer
-
Brief description
-
This project shows how heat propagates across sheets of
metal. The users can specify various initial temperature values
and also properties of the metal.
-
Purpose
-
Illustrating the physics of heat transfer
for anyone who wants to see it.
Springs
-
Brief description
-
This project shows how objects that are connected
by springs arrange themselves in space.
Any number of springs can be used, of varying lengths and
strengths. The user sets up the initial situation,
the program then simulates what happens when the
objects are let go.
-
Purpose
-
Aside from illustrating the physics of springs,
this projects shows how "continuous" objects
like a string or rope can be approximated by a series
of small objects, like short springs.
Jigsaw Puzzles
-
Brief description
-
This project supports the designing and solving
of jigsaw puzzles. For solving the puzzles it
simulates a table top on which the user moves
the pieces. For designing the puzzles it
randomly cuts up a rectangular shape and scatters the pieces.
-
Purpose
-
Not sure.
Crossword Puzzles
-
Brief description
-
This project supports the solving
of crossword puzzles. It
provides clues for the
entries that the user points to.
-
Purpose
-
Providing a convenient interface for
crossword puzzle addicts.
"Probabilistic pegboard"
-
Brief description
-
This project simulates a pegboard into which balls
get dropped from the top and make their way to the bottom.
When obstructed by a peg a ball randomly
moves left or right.
-
Purpose
-
This simulation lets the user build up intuition about
probability concepts.
Traffic Simulation
-
Brief description
-
This project simulates the flow of traffic through a
street map.
-
Purpose
-
To provide a test bed for decisions that affect traffic,
such as lane closings, one-way streets, traffic light
switching algorithms.
Color Mixing
-
Brief description
-
This project simulates the spreading and mixing of colors
on a canvas.
-
Purpose
-
To teach children about the effects of mixing colors.
Particles
-
Brief description
-
This project simulates the behavior of water molecules and other
types of particles inside confined spaces.
Various parameters can be set that affect the global
behavior of the particles.
-
Purpose
-
The user can explore theories why water and sand and gases
and piles of tennis balls all behave differently.
Dendrochronology
-
Brief description
-
Dendrochronology is the dating of historical events by tree rings.
This project lets the user explore dendrochronology tasks
by manipulating tree-ring data on the screen.
-
Purpose
-
This project allows high-school students to learn about
the concepts of dendrochronology by performing tree-ring
dating tasks.
Copyright © 1997
Karl Winklmann
Last edited (or copied to this place) at 1:10 PM, Wednesday, February 12, 1997.