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

Click For Summary

Discussion Overview

The discussion revolves around suggestions for programming projects that can help participants expand their skills in various areas of computer science and programming. The focus includes embedded systems, computer systems, mathematical computing, scientific computing, networking, and more, with an emphasis on engaging and interesting projects.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • One participant expresses frustration with database and application development, seeking projects that are more engaging and diverse.
  • Another suggests creating a program to mirror a website on a hard drive, with specific conditions for file synchronization.
  • A third participant recommends exploring open source physics simulations, highlighting the importance of ODE solvers for simulating physical systems.
  • There is a proposal to invent a programming language and write an interpreter or compiler for it as a project idea.
  • One participant suggests developing a chat program or instant messenger for networking, with more advanced options like a file transfer program or a multiplayer game engine, noting the complexity involved.
  • Another idea is to learn Scala for Android app development, suggesting starting with a simple game that incorporates 2D or 3D graphics.

Areas of Agreement / Disagreement

Participants present a variety of project ideas and suggestions, but there is no consensus on a single approach or project type. Multiple competing views and ideas remain throughout the discussion.

Contextual Notes

Some suggestions may depend on prior knowledge or specific interests, and the feasibility of projects may vary based on individual skill levels and resources available.

Who May Find This Useful

Individuals looking to expand their programming skills, particularly in areas outside of traditional database and application development, may find these project suggestions beneficial.

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
 
Technology 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.
 
in the spirit of phinds suggestion, why not invent a language and write an interpreter or compiler for it.
 
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.
 

Similar threads

Replies
16
Views
3K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 22 ·
Replies
22
Views
12K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • Sticky
  • · Replies 13 ·
Replies
13
Views
8K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 18 ·
Replies
18
Views
3K
Replies
2
Views
3K