Looking for New Programming Projects to Expand My Skills - Any Suggestions?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 3K views
Mathematicize
Messages
11
Reaction score
0
Hi all,

What are some cool programming projects that you have done that really helped you learn a different area of computer science / programming? I am SICK OF the tedium in databases and application development. I would like to expand my horizons to areas such as embedded systems, computer systems, mathematical computing, scientific computing, networking, and anything else you guys could give me advice on!

The key thing here is learning through something that really catches my interest. I am just having a hard time finding a place to get started.

Thanks
 
Physics news on Phys.org
write a program to mirror a website on your hard drive to an actual server. Make it so that if there is a file on your hard drive that is not on the server, it uploads and if there is one on the server that is not on the hard drive, it gets erased, and if it is on both then upload it only if the file size is different or the HD version is newer.
 
check out open source physics at www.compadre.org/osp

they have a collection of java apps that do simulations of various physical systems. They provide ODEs ie ordinary differential equation solvers that can integrate a set of equations to simulate a physical within certain constraints.

Also don't shortchange database and data structures courses as they are the foundation of important concepts that can make a big difference in your future programs. database programming makes it easier for your program to scale up from simpler array based structures.
 
Mathematicize said:
Hi all,

What are some cool programming projects that you have done that really helped you learn a different area of computer science / programming? I am SICK OF the tedium in databases and application development. I would like to expand my horizons to areas such as embedded systems, computer systems, mathematical computing, scientific computing, networking, and anything else you guys could give me advice on!

The key thing here is learning through something that really catches my interest. I am just having a hard time finding a place to get started.

Thanks

Hey Mathematicize and welcome to the forums.

For networking, the standard bread and butter intro application is a chat program or instant messager. More advanced projects might include a file transfer program with extended features. You could download the open source p2p programs and look at the protocols and source code.

A really ambitious project would be a multiplayer game engine, but this literally would take years from the ground up (although you could take an existing non-network one and add network features, but this is actually harder because the engine needs to be designed specifically for multiplayer functionality as part of its core design).
 
Another cool idea is to learn scala to develop an app on android using netbeans IDE and the android maven plugin. Scala is a blend of OO and functional programming concepts so you'd be learning a lot of new things all at once.

I'd suggest a simple game with 2d or 3d graphics as a start.