Computer Science Project Ideas



Difficulty:    1     2     3     4     5     6     7     8     9     10   
    Easy (for beginners) Hard  


 
 

Can you remember all of your ABC's? Computers need to "remember" letters too. Every time we use a computer to write a story, the computer needs to "remember" the letters in the story by saving them to the computer's memory as a file. In this experiment find out how much memory it takes for the computer to "remember" a series of letters. What is your favorite font? Is it Chalkboard, Comic Sans, Futura, or Curlz? Whatever your favorite font is, you can test it out with this fun experiment. "Google" is the name of the most often used search engine on the Internet. "Googol" is the mathematical term for a 1 followed by 100 zeros. It's a very large number! Want to know how to get less than a googol hits on Google? Do this experiment to test different search terms and find out. Everybody's favorite card in UNO is the wildcard, why? Because you can use it to play on anything! The same concept is behind using a wildcard when searching for something with your computer. Do this experiment to find out if using wildcards to conduct a search can help you get better results. Did you know that you can tell how much information is on a CD-R without even using a computer? Find out how in this "reflective" experiment. There are so many different ways to save an image file it can be mind boggling! If you want to know whether to save your favorite photo as a jpeg, bmp, gif, or tiff then try this simple experiment.
Here's a project with practical applications for homes with a wireless network. This project shows you how to build and test parabolic reflectors for the transmitters on your network. You may be able to increase the range of your transmitter to cover a location you would like to use but couldn't reach previously. You may also be able to find ways to make your network more secure, by reducing signals transmitted beyond your property. Science Fair Project image
Computer technology continues to develop at a rapid pace. A new home computer is noticeably faster than a machine from five years ago, and dramatically faster than a machine from ten years ago. Exactly how much faster? This project will show you one way of measuring. In this project you'll learn about how digital image files are encoded, and how digital images can be compressed so that the files take up less storage space and can be transmitted more quickly. You will also measure the quality of compressed and uncompressed images, which will give you important insights into the tradeoffs between file size and image quality. This is a good first-time programming project. You'll learn how to use JavaScript to create a basic calculator program that you can run in your Web browser. This project is a fun way to try your hand at programming. You'll learn how to create some simple animations, and you'll perform tests and make measurements to help you create more realistic-looking animations. All you need to get started is a Web browser and a text editor (like Notepad). This is a good first-time programming project. You'll learn how to use JavaScript to create a simple program to alphabetize lists of words. You'll be able to run your program in your Web browser. This is a more challenging first-time programming project. You'll learn how to use JavaScript to create a simple program to analyze one or more paragraphs of text. Your program will count sentences, words and letters, and report the resulting statistics. You'll be able to run your program in your Web browser. This is a more challenging JavaScript project: can you write a program that can play Tic-Tac-Toe? You'll have to figure out a way to translate the game strategy into a computer algorithm. The project will show you how to create a working Tic-Tac-Toe board on a webpage. Your challenge will be to show the computer how to play. Just think: you'll be creating artificial intelligence!
Sudoku puzzles have become extremely popular over the past couple of years. You can find books of puzzles for beginners to experts, and many newspapers print Sudoku puzzles daily. This project challenges you to write a computer program to check if your Sudoku solution is correct. Science Fair Project image
This is a challenging first computer science project. You'll learn the basics of how digital devices can represent numbers using only 0's and 1's, and you'll write a JavaScript program to convert numbers between binary, decimal and hexadecimal notation. Here's a project where you can try your hand at being a detective with your computer. In this project you'll write a program to do some basic analysis of features of written text (for example, counting the length of each word in the text, or the number of words in each sentence). Then you'll see if you can use the information from your text analysis program to find measurements that can distinguish one author from another. After analyzing known samples of several authors' writings, can your method match up unidentified writing samples with their correct authors? Imagine yourself as a software engineer, a decade and a half from now. You are called upon to help solve the world energy crisis by programming nano-organisms (NANORGs) to extract energy from industrial sludge. Your program must be small enough to fit in the NANORGs' tiny processors, yet at the same time meet several challenges. First and foremost, your NANORGs need to navigate on their own, extract energy from the sludge, and find collection points to deliver the harvested energy. Second, you must figure out how to deal with the fraction of the sludge that is radioactive. This sludge damages random locations in your NANORGs' processor memory when consumed. Third, your program must also fend off attacks by malicious nano-drones that are also present in the virtual world. The drones consume energy from the sludge, but never deliver it to the collection points. They will attempt to copy their program to your NANORGs, turning them into useless drones. If you're up for a real programming challenge, this is the project for you! (This project was adapted from Symantec's 2006 University Programming Contest.)
Here is a project that combines Computer Science and Mathematics. The two circles are tangent to one another at point A. Their diameters are parallel. Prove that points A, D and F are co-linear. You'll also learn how to create an interactive diagram to illustrate your proof, using an applet that runs in your Web browser. If you like solving problems and thinking logically, you'll like this project. Science Fair Project image
Here is a project that combines Computer Science and Mathematics. The semicircle has two tangent lines that meet at point T. You need to prove that a line drawn from A to T bisects CD. You'll also learn how to create an interactive diagram to illustrate your proof, using an applet that runs in your Web browser. If you like solving problems and thinking logically, you'll like this project. Science Fair Project image
Here is a project that combines Computer Science and Mathematics. Prove a method for inscribing a circle within a triangle (as shown). You'll also learn how to create an interactive diagram to illustrate your proof, using an applet that runs in your Web browser. If you like solving problems and thinking logically, you'll like this project. Science Fair Project image
Here is a project that combines Computer Science and Mathematics. Prove a method for circumscribing a circle about a triangle (as shown). You'll also learn how to create an interactive diagram to illustrate your proof, using an applet that runs in your Web browser. If you like solving problems and thinking logically, you'll like this project. Science Fair Project image


Additional Project Ideas

Note: The following project ideas are abbreviated, without notes to start your background research or a procedure for how to do the experiment. You can identify abbreviated project ideas by the asterisk at the end of the title. If you want a project idea with full instructions, please pick one without an asterisk.

Can you remember what the weather was like last week? Last year? Here's a project that looks at what the weather was like for over a hundred years. You'll use historical climate data to look at moisture conditions in regions across the contintental U.S. You'll use a spreadsheet program to calculate the frequency of different moisture conditions... The Game of Life is the invention of the mathematician John Conway. It is a cellular automaton, consisting of a grid of squares that turn "on" or "off" depending on simple mathematical rules that involve neighboring squares. Depending on how the grid is first set up (i.e., the initial conditions), various interesting patterns... Want to send coded messages to your friends? Can you write a simple letter-substitution encryption program in JavaScript? How easy is it to break the simple code? Can you write a second program that "cracks" the letter-substitution code? Investigate other encryption schemes. What types of encryption are least vulnerable to attack? Use sound recording and analysis software to record voices of your family members. Can you figure out ways to identify each family member by just looking at the analyzed sound patterns from their voice (e.g., spectral frequency analysis)? Develop a hypothesis about what types of sound analysis will identify an individual. Have a helper record... Learn how to edit sound files so that you can manipulate the recorded sound mathematically. You can either find specialized audio editing software or do background research to teach yourself about sound file structure so that you can write your own simple program to manipulate sound files. Try arithmetic operations on the sound values (e.g.,... Sunspot activity has been monitored continuously since about 1700. The historical data shows that sunspot activity rises and falls in a roughly 11-year cycle. This project shows you how you can use a spreadsheet program to perform both graphical and statistical analysis to look for patterns in cyclical data. You'll learn how to use a... Here's a project that combines sports and math. You'll learn how to use correlation analysis to choose the best team batting statistic for predicting run-scoring ability (Albert, 2003). You'll also learn how to use a spreadsheet to measure correlations between two variables. Which Team Batting... Here's an interesting project idea with a variation that combines computer science, physics and music. You'll need a piano in a quiet room, a microphone and a computer with digital sound recording and analysis software. The project shows you how you can make a piano string start vibrating without hitting its key. You can record the sounds on the... Beats are a pattern of oscillating sound intensity (i.e., the volume of the pattern grows and fades with a regular cycle). They occur when two tones of almost equal frequency interfere. People can perceive beat frequencies below about 7 Hz. Figure out how to create sound files to play pure tones on your computer. Create files with a pure tone...

Resources

Sources

  • Albert, Jim, 2003. Teaching Statistics Using Baseball. Washington, D.C.: The Mathematical Association of America.

Computer Science Links

  • Learn how to use the Geometry Applet to create your own interactive diagrams:
    Geometry Applet How-to Pages

  • Letters, numbers, and other symbols for printed text are digitized using a standard code, called ASCII (ASCII is an acronym for American Standard Code for Information Interchange). Each character is assigned a unique code. Click here for a Table of 7-bit ASCII Character Codes.

  • Here is a link to a Swiss educational server site with an interesting Java programming environment that you can download. It is based on the concept of "finite state machines." You will write programs that will direct a bug to navigate through a simple, simulated world. The bug has a set of sensors which you can use to tell what is around it, and there is a fixed set of rules describing how the bug can interact with the objects in the world. For example, one possible project is to program the bug to follow a trail of leaves, eating them up as it goes along, Pac-Man style. Other possible projects can be much more sophisticated. You can see your results on the screen right away: one click and the bug starts off, following the instructions in your program. An advanced version of the program can be used to program a Lego MindStorms robot to mimic the moves of the bug. You can find out more and download the programs from:
    http://www.swisseduc.ch/compscience/karatojava/

  • Would you like to make your own 3-D animations? "Alice 2.0" is a drag-and-drop programming environment where you can do just that. It's a great, fun way to learn the basics of object-oriented programming.
    Carnegie-Mellon University, 2006. "Alice v2.0: Learn to Program Interactive 3-D Graphics," [accessed March 30, 2006] http://www.alice.org.

  • Here are two excellent references by Bruce Eckel for those who want to learn more about object-oriented programming using either C++ or Java. Each is a full-length book, complete with code examples, that you can download for free. Bruce Eckel ha years of experience teaching both languages, and does a great job of organizing and presenting the material.


 

Science Buddies gratefully acknowledges its Presenting Sponsor


Science Fair Project Home      Our Sponsors      About Us      Volunteer      Donate      Contact Us      Online Store      Privacy Policy      Image Credits      Site Map

Science Fair Project Ideas      Science Fair Project Guide      Ask an Expert      Teacher Resources      Science Fair Competitions     


Copyright © 2002-2008 Kenneth Lafferty Hess Family Charitable Foundation. All rights reserved.
Reproduction of material from this website without written permission is strictly prohibited.
Use of this site constitutes acceptance of our Terms and Conditions of Fair Use.