image provider

Population Clock


This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.

This project is a deluxe version of the population clock displayed by the US Government Census bureau.

Features of the Population Clock

The Math

It would certainly help if you have taken a university course in numerical analysis or statistics. You need to know first year calculus. You might be able to pick up enough to solve this problem by reading a text book in the library.

Basically you collect data on dates, countries and populations and possibly birth rates then interpolate to get populations in the past and extrapolate to get populations now, in the future or deep past. You can calculate birth rates by differentiating the population curve. You can smooth the birth rate curve by fitting it to a second order Chebychev polynomial, then reintegrating to get a population curve. You want to graph your projected population curves to make sure they don’t have any weird anomalies — i.e. behave roughly as you would intuitively expect. You can do all this work ahead of time and just load up a table that you linearly interpolate in the Applet. You want to keep the Applet as simple and compact as possible. If you can get sufficiently dense population data, you might implement this with project just grade 7 algebra, doing linear interpolation. If you do this as a team, you might do a prototype that uses simple linear interpolation to let the GUI (Graphic User Interface) team do their thing even before the backing math is ready. You have to take the math with a grain of salt. Censuses are only done every ten years or so and they are not that accurate. Many countries don’t even take censuses. Any numbers you collect will just be educated guesses.

The Applet

You can prepare the data in binary form ahead of time and insert it in the JApplet jar in a GZipped resource, the way CurrCon does. You can use BigDate to convert back and forth between the Gregorian calendar YYYY-MM-DD and day numbers. You can use the DateSpinner part of the spinner package.

Part Deux

Imagine writing an essay on the web and every time anyone read it, all the population figures in it are immediately updated to the current figures. You could do this either by embedding Applets in the text to calculate display the ever-changing figures, or using a package called by Servlets to embed the numbers as ordinary HTML (Hypertext Markup Language). You have to keep adding new or corrected population information. How do you propagate it? Unsigned Applets are not permitted to load files from a central website. You could sign the Applet or use JWS (Java Web Start). You might just post a new jar each week and leave it up to your clients to download it and install it on their servers.

Part Trois

This same logic can be used to create other sorts of clock, debt, CO₂ accumulation, fish populations, obesity, prices, inflation, temperature…

List of Population clock software

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

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.

Your face IP:[]
You are visitor number