image provider

Java Student Projects


Fake News

During the 2016 US Presidential election, the pro-Trump forces made up new fake news stories every day. They never offered any evidence. The pro-Trump forces eagerly spread these stories, fervently believing them only because they reinforced their belief that Hillary was the daughter of Satan.

There was no downside to telling these stories. If there were believed, they inflamed the Trump supporters and dispirited the Clinton supporters. If there were not believed, the result was no different than had the lies never been released.

We need to restore the penalty for emitting fake news. We need to track fake news back to its source. Then thoroughly debunk it, and sue the liars for libel. Then publicly shame the liars who spread the story and organise retaliation, blocking and shunning.

~ Roedy (1948-02-04 age:70)

Introduction

Here are over 348 ideas for student projects most likely involving Java. Some ideas might be done by teams or a whole class. Some may develop into commercial projects. You are free to take these ideas and use them as you wish. I would appreciate hearing from you if you decide to implement any of these ideas. I would also like to hear any comments you would like me to add to the descriptions, or ideas you have for projects. If you have such project ideas on your own website, I would be happy to build links here.

I have discussed most of the projects many times at length over the last decades on BIX which retained all postings in archives.

Pretty well everything I have to say about each project is spelled out here. I don’t have extra material to give you, unless I explicitly mention it. I don’t have the time to lead you by the hand through a project. If one project is too difficult to tackle at your current level of skill, pick a simpler one.

If you are unemployed, or just out of school, you might hone your skills by tackling some of these projects. They are more like the real world problems you will be given in the workplace. In the real world you have to write the specifications too. They are not handed to you on a plate the way they are in school. I give you many hints on how to solve the problems, far more than you would get in the workplace. These problems are intermediate in degree of hand-holding between school and the workplace.

I would be happy to implement any of these projects for you, for a fee, though I do not do homework.

Project Difficulty Commercial
Potential
Estimated
Existing
Implementations
4DOS/tcc Describe Helper 0 $ 0
Adbuster 4 $$$ 3
Address Book 1 $$ 50
Accent Map 2 $ 0
Accent Tutor 2 $ 0
Alzheimer’s GPS 3 $$ 0
Affiliate Manager 3 $$ 0
Anti-Counterfeit Scheme 3 $$$ 0
Antique Computers:
Finish the Work Of
Ada Lovelace and
Charles Babbage
5 $ 0
Application Installer 2 $$$$ 5
Aquarium Controller 4 $ 0
A Tractable AI Problem 7 - 0
Apartment Rater
client-server
2 $$ 0
Application Reinstaller and Mover 2 $$$ 0
The Appraiser 2 $$$ 0
Array Sort 2 $ 0
Associations Editor 2 $$ 1
Atomic FTP Uploads 5 $$ 1
Automated Greenhouse 4 $$$ 0
Automatic File Update 3 $$$$ 2
Autorun Manager 2 $ 1
Baby Danger Simulator 2 $$ 0
Baby Name Chooser 2 $ 0
Background Eliminator 3 $$$ 4
Backup to CD ROM burner. 2 $$$ 0
Beginner’s Projects (very easy) 0 - 0
Best Mirror 2 - 0
Best NTP Server 3 - 0
Beyond Scanning 4 $$$$$ 0
Bible Thumper 2 $$ 0
Birthday Card Maker 1 $ 20
Boilerplate Generator 1 - 0
Birthday Reminder 0 $ 50
Bookmark Sync 2 $ 0
Book Store Referral Applet 3 $$ 1
Bragging Rings 2 $$ 0
Browser Recommender 1 - 0
Bulk File Distributor 4 $$$$$ 2
Bulk Spell Checker 2 $$ 0
Bush Crimes:
Poll people on the web
for what they think about
Bush’s alleged crimes
2 $ 0
BusInfo:
Transit maps
and schedule information
in a usable form
client-server
4 client-server $$$$ 0
BusTel:
exchange electronic business cards
during a voice call
2 $$$$ 0
CAI 4 $$$ 20
Calendar Icon Maker 1 0
Canonical Java Keyword Order 1 - 0
Canvasser Management 0-4 $$$$ 0
Car Horn 3 $$$ 0
Case Fixer 5 $ 0
Case Range 2 $ 0
Case Sort 2 $ 0
Cash Box 3 $$$ 0
CD Player 2 $$$ 0
Celestial Body Tracker/Astrologer 2 $$ 20
Certificate Viewer 4 $ 2
CGI Tutor 1 - 1
Character Identifier 1 - 0
Chequebook Balancer Deluxe 3 $$$ 5
Child Abuse Database
client-server
5 client-server $$ 0
Choreographer Tool 3 $ 0
Chorus Experimenter 2 $ 0
Closest Download Mirror
client-server
2 client-server $ 0
Collections Amanuensis 0 - 0
Colour Chart 0 - 0
Colourful Socks 3 $$$$ 1
Comfy Chair 3 $$$$ 0
The Commentator 2 $ 0
Comparison Shopper 3 $$$$$ 0
Configurator 2 $ 0
Consolidate Utility 1 $ 0
Conspiracy Theory Voter
client-server
2 client-server - 5
Constructor Amanuensis 3 - 0
Constructor Docs 1 - 0
Converter Class 0 - 1
Cookie Classes 1 $ 0
Corporate Ethics 1 $ 0
CSS Colour and Image Annotator 1 $ 0
CSS fixer 2 $$$ 0
Currency Converter 2 $$$ 1
Cursor Installer 2 $ 4
Custom Clothes 7 $$$$$ 3
Date-Sensitive Search Engine
client-server
4 client-server $$$$ 0
Debt Clock 2 $ 1
Defragger 5 $$ 10
Deleecher 2 $ 1
Deleter:
Delete Files With +ve and -ve Wildcards
0 - 1
Delta Creator 4 $$$$ 0
Directory and File Explorer 3 $$ ?
Directory Sync 1 - 10
Disaster Probability 1 $ 0
Design Pattern Amanuensis 3 $$ 0
Dissolve Designer 1 $ 0
Distracted Driving App 2 $$$$ 0
Dogpile Dictionary
client-server
4 client-server - 0
Domain Registry
client-server
4 client-server $$$ 0
Domain Search Engine
client-server
4 client-server $$$$ 0
Double Click 3 $$ 0
DVD Player 4 $$ 0
Dynamic Version Control
client-server
9 client-server $$$$$ 0
El Cheapo Certificate Authority 3 $$$ 0
Embedded Editor 2 $ 0
Encoding Identification 2 $$$ 0
ESL (English as a Second Language) Trainer 4 $$$ 0
Explorer for Files and Directories 3 $$ ?
Extension Associations Editor 2 - 1
External Sort 2 $ 0
Java Factory Method Finder 3 - 0
Fast Snail Mail
client-server
6 client-server $ 1
Fast File Finder 2 $ 3
Finder: for keys, glasses, wallet, TV remote, personal recorder, calculator, ruler… 2 $ 10
File Spell Corrector: corrects spelling of file names 3 $$$ 0
Font Creator 4 $ 0
Electricity Use 1 $ 0
Fair Trade Webstores
client-server
3 client-server $$$$ 12
File and Directory Explorer 3 $$ ?
Fine Print Comb 5 $$$ 0
Firewall Autoconfigure 4 $$ 0
Fitness Monitor
possibly client-server
2 client-server $$ 1
Fluffiness of File Formats 1 - 0
Font Census 1 - 1
Font Finder 1 - 1
Font Stitcher 3 $$$ 0
FontShower 0 - 1
Font Tattler 3 $ 0
Food Allergy Tracker
possibly client-server
3 client-server $$$ 0
Foreign Language Trainer 3 $$$ 0
Form Filler 2 $ 3
FTP Uploads
datacommunications
5 datacommunications $$ 1
Genealogy
possibly client-server
2 client-server $$ 20
Gespenster:
fast JVM (Java Virtual Machine) load
4 $ 0
GET to POST: 2 $ 0
Glasses Fixer: 4 $$$$ 0
Glossary Presenter
client-server
4 client-server $ 0
Greenhouse 4 $$$ 0
GridBag Amanuensis 3 $ 0
Hexadecimal Java Programmer’s Calculator 1 $ 0
Hogs 0 - 0
How Gay 0 - 0
Hermit Crab:
Variable Length Record Files
1 $$ 0
Hibernation:
Fast Program Load via suspended animation
3 $ 0
Hiker Safety:
Hiker flight plans and GPS (Global Positioning System) tracker rental
3 $$$ 0
History of The Common Man
client-server
1-6 client-server $$$ 0
Hooker Protector
client-server
1 client-server $ 1
HTML Broken Link Finder 1 $$$ 1
HTML Disturbed Link Patcher 2 $$$ 1
HTML Compactor 1 - 0
HTML Encoding Changer 1 $ 0
HTML Glossary Presenter 4 $ 0
HTML from Java, Source Code Presenter 4 $ 0
HTML Sort 1 $ 0
HTML and Java Static Macros 1 $$ 0
HTML Spell Checker 1 $$ 0
HTML Splitter
& Boilerplate Refresher
2 $$$ 1
HTML Style Splitter 1 $ 0
HTML Table Reorganiser 1 - 2
HTML Table Sorter 1 - 3
HTML Tidier 2 $ 5
HTMLScope 3 $ 0
Ideal lover database search
client-server
4 client-server $ 10
Image Amanuensis 1 $ 3
Image Cacher 2 - 4
Transparent Image Cropper 0 - 0
Image Compressor:
compress image files
3 $ 5
Image Finder:
Searches the web for a given file.
3 $ 8
Import Tidier 3 - 5
In The Dark Stereo Components 4 $$$$$$ 0
Infinite Disk:
integrated file migration/backup
client-server
4 client-server $$$ 2
INI file tidier 2 - 0
Installer 2 $$$$ 5
Interface finder 2 $ 0
Internationaliser
client-server
3 client-server $$$$ 10
Internet Credit Card
client-server
2 client-server $$$$$ 0
Internet Radio
client-server
4 client-server $$$ 1
IP Tracer
client-server
3 client-server $$ 1
Jar Clicker 1 - 0
Jar Prune 2 $$ 0
Jar Verifier 1 - 0
Java Case Range 2 $ 0
Java Class Overview 2 $ 0
Java Canonicaliser 2 $ 0
Java File System 6 $ 0
Java Invoker 1 - 0
Java Jar Catalog 1 - 0
Java Keyword Reorderer 1 - 0
Java Launcher 2 $ 0
Java JVM Manager
Switch between different versions of Java
3 - 0
Java JDK Version Integrity 2 - 0
Java NoClassDefFoundError Amanuensis 1 $ 0
Java Powered TV Commercials 3 $$$ 0
Java Source Code Beautifier 5 - 10
Java Source Code Presenter 2 $ 2
Java Source Code SCID:
browser/editor
8 $$$$$$$ 3
Java Swing Amanuensis 1 - 0
Java Swingizer: converts AWT (Advanced Windowing Toolkit) to Swing and back 1 $ 0
Javadoc tools 3 $ 0
JColourChooser 2 $ 2
JDK installation polisher 2 - 0
JDK Version Integrity 2 - 0
JDisplay Source Code Presenter 4 $ 0
JSP Replacer 5 $$$$ 0
JVM Manager
Switch between different versions of Java
3 - 0
Kettle 4 $$$$ 0
Keyboard Illustrator 1 $ 0
Keyword Reorderer 1 - 0
Kickers 2 $ 0
Kindle Cracker 4 $$$ 0
Kitchen Computer
possibly client-server
3 client-server $$$$ ?
laundromat controller 3 $$$ 3
LazyString:
a smarter younger
brother to String and StringBuffer
1 - 0
LifeCoach 3 $ 0
Link Replacer 2 $$ 0
Linkcop Clone 1 $$ 1
LINT for Java 6 $$ 1
Localisation Tool
client-server
3 client-server $$$$ 10
Long Distance Speeddialer :
Local Internet Connection Dialer
for Travellers.
1 $$$$ 0
MAC Ethernet Address 3 $ 0
Macro Bar 2 $ 0
Mailreader/Newsreader
client-server
7 client-server $$$$$ 0
Mall Balls
client-server
6 client-server $$$$ 0
Memory-free Watch 2 $$$ 0
Menu and Keystroke Configurator 4 $ 0
Method Finder 1 - 0
MFT Tidier 3 $$ 0
Microwave Tweaker 1 $ 0
Mini Map Maker
possibly client-server
1 client-server $ 0
Money Pump 4 $$$$ 30?
Monkey Darts 2 $$$ 0
Motherboard finder/recommender/comparison shopper 3 $$$ 0
Movie Star Recognizer
client-server
2 client-server $ 0
Multilingual PADs 1 $ 0
Name That Composer 2 $ 0
Name That Tune
client-server
6 client-server $$ 2
Napster Clone
client-server
4 client-server $$$$ 0
NAT Cracker 4 $$ 0
Native Class Amanuensis 2 $ 0
Neural Net Project 3 - 0
NoClassDefFoundError Amanuensis 1 $ 0
Notetaker 2 $ 0
Notifier 2 $$$ 0
Olympic Connector 3 $$$$ 0
On-Line Books
client-server
4 client-server $$$$$$ 0
One-Trick Optimiser 4 $ 0
Outage Notifier 2 $$ 0
PAD file tidier 1 $ 0
PAD Maintainer 1 $ 0
PADSite Manager 3 $$ 1000
PAD Spam Filter 2 $ 0
Password Eliminator 3 $$$$ 0
Password Protector 1 $ 10
Path/Classpath tool 1 $ ?
Pentium
access CPUID, CPUSERNO and
RDTSC (Read Time Stamp Counter) Pentium instructions
1 $ 0
People Finder
client-server
2 client-server $$$ 4
People’s Parcel Delivery
client-server
3 client-server $$$$ 0
Phone Announcer 2 $$ 0
POD 4 $$ 0
Planetary Mail Protocol
client-server
3 client-server $$$$ 5
Picture Picker 2 $$ 0
Pill Reminder 1 $$ 50
Plant Identifier 3 $$$ 0
Population Clock 2 $$ 0
Pornography Viewer
client-server
3 client-server $$$$$ 0
Prebranded Software Rental:
with Auto Updates
client-server
6 client-server $$$$$$$$ 0
Preferences Explorer 2 $$$ 0
Product Recommender 2 $$ 0
Pronunciation Map 2 $ 0
Proofreader Font 2 $ 0
Public Cell Phones 3 $$$$ 0
PUT DATA amanuensis 0 - 0
PUT Language:
for Specifying Instructions
5 $ 0
Hi Fi Radio and TV Interviews 3 $$$$ 0
Radioactivity Simulator 2 $ 0
Radio Subtitles 3 $$$ 0
Reading C Structs 3 $ 0
Rearranger (Java source Tidy) 3 $ 2
Recipe Optimiser 2 $$$$$ 0
Regex Composer 3 $ 0
Regex Debugger 1 $ 0
Regex Proofreader 2 $ 0
Regex Tidier 0 - 0
Regex Utility 3 $$$ 0
Registry Poker 2 $ 1
Registry Tidier 2 $ 0
Reimplement Standard classes 2 $ 0
Registration Key Generator 2 $ 10
Reinstaller and Application Mover 2 $$$ 0
Reorder File Contents 2 $ 0
Replicator Plus: keep broadcast/plagiarised files up to date. 2 $$$ 0
Restaurant Costing 1 $$$ 1
RFC Conversion To HTML 1 $$ 0
Rhythm Tutor 2 $ 0
Robust DVD 2 $$ 0
Root Certificate Installer 1 $$ 0
Faster Internet Routing 3 $$$ 0
Sanity Checker 3 $$$ 1
SAX :
File Transfer Protocol
datacommunications
3 datacommunications $ 0
Honda Insight car
SCID (Source Code In Database)
Java browser/editor
8 $$$$$$$ 3
Screen Capture OCR 4 $$$ 0
Schema Mill 2 $$ 0
Scrolling Mad Bee Style 3 - 0
SCROOM website avoider 3 $$ 0
Search Engine Sharpener
datacommunications
3 datacommunications $ 0
Secure Police Radio
datacommunications
4 datacommunications $$$$ 0
Serialized File Recovery 2 $$$ 0
Shopping List 1 datacommunications $$ 20
Shivering Man 4 $$ 0
Simulate an Old Klunker Computer
for testing new apps to make sure
they will run quickly enough on
old machines.
1 $ 0
Site Down Service 21 $$ 0
Smart Console 2 $ 0
Smart Furnace Thermostat 2 $$$ 0
Smart FTP Uploads
datacommunications
5 datacommunications $$ 1
Smart Layouts 5 $ 0
Smart Scale 2 $$$$$ 0
Sort Bakeoff 0 - 0
Sort Comparator Amanuensis 3 - 0
Sort Visualiser 0 - 0
Spam Filter
datacommunications
2 datacommunications $$ 10
Spell Checker 2 $$ 0
Spell Checker for HTML 1 $$ 0
Spinning Globe 2 $$ 0
Spreadsheet Amanuensis 3 $$$ 0
Sponsor Watch 3 $$$ 0
SQLStomp 2 $ 0
Stamp Calculator 0 $ 0
State Finder 4 - 0
Stay In Touch Database
client-server
4 client-server $ 1
StringBuffer 1 - 0
StringBuilder Optimiser 2 $ 0
Struct reader Amanuensis 3 - 0
Submit-It Clone
datacommunications
2 datacommunications $ 40
Subway Sandwich Shop Order Taker 2 $$$$$$ 0
Super Compressor 3 $ 1
Suspended Animation:
Fast Program Load
3 $ 0
Swing Amanuensis 1 - 0
Swingizer: converts AWT to Swing and back 1 $ 0
Sync 1 - 10
Systray Deleecher 2 $ 1
Talk Like A Moron
A George Bush Speech impersonator.
3 $$$$ 0
Tel-ID, telephonic ID verification 4 $$$$$ 0
Text Speak ⇒ English Translator 1 $$$$$ 0
Text To HTML 2 $$ 0
5000 year Time Capsule 2 $$$ 0
Tractable AI Problem 7 - 0
Trump Gambling Parlour 3 $$$ 0
Traffic Simulator 4 $$$ ?
Transcription Amanuensis 3 $$$$ 0
TV Controller 5 $$$ 2
Truthteller App 3 $$$ 1
TV Listings 3 $$$ 1
Tweakable Optimiser 4 $$$$ 0
TweakDUN Clone
datacommunications
1 datacommunications $ 1
Uncrackable Encryption 1 $$ 0
Unicode Font 4 $$ 0
Unique Number Server
client-server
1 client-server $ 50
Units of Measure Localisation 2 $ 0
Universal Data Format 3 $$ 0
Untouch
avoid changed file dates on files
that did not really change
1 $$ 1
uPath to Relative
convert simple uPath href notation to
../../ relative notation.
0 $ 0
Version Checker 2 $$ 1
Video DeDup 3 $$ 0
Virtual Inventions 2 $$$$ 0
Virtual Makeup 3 $$$$ 0
Voice Compression 4 $$ 0
Voice Pitch Correction 3 $$$$ 0
Watermark Backgrounds 2 $$ 2
Wave The Flag 4 - 3
WebRing Controller
client-server
4 client-server $ 1
Weight Tracking
possibly client-server
1 client-server $ 10
Welcome Wagon
datacommunications
1 datacommunications - 0
What Changed? 0 - 2
What’s That Char? 0 - 0
Which and What Utilities 1 - 0
Wildcard FilenameFilter
positive and negative wildcards
1 - 0
Windows Explorer Replacement 3 $$ 0
Windows Fixer 3 $$$$ 0
Xenu clone
datacommunications
1 datacommunications $$$ 1
Xerlin clone: XML (extensible Markup Language) team project 1 - 25
XML Compactor 1 $$ 0
XREF for Java classes 2 $ 0
Yet Another Debugging Technique 2 $$ 0

Which Project to Pick?

People often write me and ask Which project should I pick? as if I knew their hearts and abilities. Here is a strategy. First narrow down the choices to the ones that look about your level of difficulty. Then narrow down the ones to your interest in financial potential. Then narrow down projects to ones that involve servers or do not. Now weed out ones that look boring or esoteric to you. Now look for the project with most heart. Do you care about the result? You will need to care in the times ahead when the hard work comes of implementing, documenting, researching and futzing about to get it to work. For children, video games are the usual choice. For adults, it can be anything. Further, you don’t have to pick one of my projects. Let one of mine inspire you to create one your own. Think in terms of your own interests and hobbies. What would be useful? Think about the frustrations you have had with software. What sort of better mousetrap does the world need?

Learning More

In my email inbasket each day are two or three requests for more information about one or more of these student projects. I don’t have any materials other than what I have provided here unless I explicitly mentioned that I did. Most often these requests come from students in third world countries, but sometimes they come from commercial developers.

Students imagine I have complete detailed specs written on every class. The key skill students must learn is writing the spec and doing the overall design of a decently large project. Any boob can code given a detailed class specification. In the real world you are never handed tidy perfectly-specified little problems than can be handled with two or three pages of code. In the real world, you won’t even get project outlines anywhere near as detailed as I have given you here. They will never contain any implementation hints as my outlines do. You have to pull teeth to get even the vaguest information about what the program should do. You have to write prototype systems. Only then are your users smart enough to tell you what they really wanted, or are you smart enough to suggest to them possible options they might enjoy.

My advice for a student who thinks a project is too difficult, is to create a sub project that he thinks he might tackle successfully, or try a simpler different project entirely. After that experience, he can add a bit more complexity. Trying to solve the problem all at once just leads to overwhelm. Don’t feel embarrassed that the sub project would have no practical use. It is just a stepping stone.

Though I have no additional materials to send you, I am willing to answer specific questions about the projects. I will normally add that material into the project descriptions for others too.

For team projects underway you can join Asynchrony, Enhydra or SourceForge.

Practice!

Programming is a skill best acquired by practice and example rather than from books.

~ Alan Turing (1912-06-23 1954-06-07 age:41)

This page is posted
on the web at:

http://mindprod.com/project/projects.html

Optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\project\projects.html
Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

IP:[65.110.21.43]
Your face IP:[3.239.59.193]
You are visitor number