« FlashForward is just around the corner | Main | Blogs = Information Overload? »

Search for science-based examples for programming courses

Today I'm wrapping up another web technology course, in J2EE/EJB. The course material uses the same business examples as all the other programming courses I've taken. You would think that by now I've built so many banking applications that I'd be qualified to work at Fidelity or BOA, and so many Coffee vendor store fronts that I could run Starbucks.

Why is it that programming courses all use business models as the vehicle to teach the material? If you are building a genomics application to manage data coming from microarrays would you still write "business logic" or just "logic" to handle the rules governing data transactions?

I'd like to see some ideas proposed based on real world science or biology examples as the foundation for examples in programming lessons. I would imagine that it is assumed that the average developer can follow the lessons when they use banking examples without being too distracted by the actual banking aspect. Why not science?

What ideas do you have for interesting science use cases that could be applied as the foundation of programming classes, without overwhelming the student developer with with excessive jargon or difficult concepts? I think I'll google for children's science experiments on the web to see if I can find any subjects that might work for and information management type of a use case.

Please post your ideas!

-Steven Erat


I always like to look through www.howstuffworks.com for ideas.



In the programming courses I teach, I use a mix of math, science, games, and business projects. Here are some ideas from the first two categories:

1. Conway's Game of Life, and other cellular automata (simulation of forest fire, etc.)
2. L-Systems
3. Mandelbrot Fractals
4. Population dynamics simulation
5. Queueing simulation
6. Implementation of turtle graphics primatives
7. Gravitation and Newton's Laws
8. Newton's Method
9. Area under curve using approximating rectangles or trapezoids
10. Area under curve using Monte-Carlo approach
11. Swarming/flocking simulation
12. Simple genetic algorithm
13. Heat transmission in thin metal plate (system of linear equations, cellular automata, or random walk)
14. Markov chains

Hope this helps,

Markov Chains and queueing theory... wow! I have a book on that which I've never done more than thumb through since the majority of all the ink is taken up by advanced calculus and such... way over my head :)

Thanks for the list of ideas though! I'm not developing a course, but I'd just like to bring this up for discussion, hoping to see more courses use science based examples like most of those you posted.

Mike, I'd love to take one of your courses! Great projects!

I come up with more ideas than I could ever follow through on :-) There are a lot of possibilites with chemistry. Generating a table of elements, using a node garden to simulate atomic interaction (attraction/repulsion, etc).

Data mining in genomes...

Population genetics and epidemiology models and simulations...