A project for the summer

Soldato
Joined
7 May 2009
Posts
3,541
Location
London
Yes it's my first 'spec me' thread :D

Last year I started taking my baby steps in the world of programming by learning C/C++. Ended up working with an old edition of Deitel & Deitel.

However I think without something tangible to work on, this process has somewhat stagnated. So having very little inspiration, I've decided to turn to the good folk of the HG&P forum :)

So i'm looking for suggestions for one or more summer projects. Something i can think through myself, hopefully learn something new from and be more confident in my ability as a result.

I'm keen to learn more languages, so there's absolutely no constraint to working with C. If it is C/C++, I'd be very interested in exploring more advanced concepts and the context behind them.

Command line or API doesnt matter, happy to learn the latter. Actual function of the program(s) is up in the air, so please feel free to be creative :D


I'd like to come out of this with some sort of functional finished products that I can post back to the forums, rather than just spending my summer making silly little programs to demonstrate/revise processes.

Many thanks in advance :)
 
Pick a process which currently requires a series of manual steps by yourself then automate it.
 
How about writing an Android App?

Rgds

More economically viable to write an iPhone/iPad app. Of course first you have to sacrifice yourself upon the Apple Alter of Jobs.

If you want to get into some meatiness with C++ you could learn the OpenGL API or abstract away and take on the Ogre rendering engine (http://www.ogre3d.org/) to pump out some nicely rendered mini-games.

Games are imo the best way to learn programming because they encompass nearly every single aspect and technique from every single area of computer science. They also encourage you to write neat code, teach you how to cheat performance by reusing objects and force you to think about garbage collection to iron out memory leaks
 
Thanks for the responses :)

Pick a process which currently requires a series of manual steps by yourself then automate it.

Could you be more specific with an example?


How about writing an Android App?

Rgds

Could be interesting, I'll have a look at the platform and see if anything comes to mind.

The problem seems to be mainly having a purpose for the program. I suppose I could try to write a simple text file editor for android, see how that goes..


More economically viable to write an iPhone/iPad app. Of course first you have to sacrifice yourself upon the Apple Alter of Jobs.

If you want to get into some meatiness with C++ you could learn the OpenGL API or abstract away and take on the Ogre rendering engine (http://www.ogre3d.org/) to pump out some nicely rendered mini-games.

Games are imo the best way to learn programming because they encompass nearly every single aspect and technique from every single area of computer science. They also encourage you to write neat code, teach you how to cheat performance by reusing objects and force you to think about garbage collection to iron out memory leaks

Don't know if i could handle writing for an Apple platform :D could be interesting to investigate though. dont know if i'd have anything to test on as I use Windows/linux with an S60 phone. GF has an an android phone though so i could force her to test my app :p

I've considered going heavily into OpenGL/Directx. Would be a fairly 'large' scale project from my perspective, but would certainly be something i could learn from as you said. Will have a look at Ogre3d :)
 
Last edited:
Could you be more specific with an example?

Sure, I'll tell you about a couple of programs a work colleague made to speed up efficiency of tasks he used to perform manually (or thereabouts).

Program 1

Finding decent royalty-free fonts can be a pain but what's even worse is trying to browse through them to find one you want to use so he wrote a program to help him do this.

The program essentially searches through all font files on a pc and displays the text he enters in a text input field in different versions using the fonts found on his system. He can simply scroll through the different font outputs until he sees one that is suitable.

Program 2

He wanted a way to keep his work mirrored onto another disk in real-time without having to commit files to CVS/SVN or copy them manually. He used to use a backup script run on a scheduled task but the popups got annoying if you ran it too frequently.

Instead he wrote a program which monitored the differences between 2 directories in real-time and copied only the changed files over in the background.


So basically you think about something you do which is a bit of a chore then think about how you can possibly make it easier with the aid of a piece of software; then write it.

The hope is the at the end of it, you've learnt new skills and the time spent writing the software will be recouped by the time it will save you.
 
Last edited:
Ok well thanks for the responses. Going to put three projects down.


Will start with a basic full application or two with android and then if it takes my interest i'll look at something more extensive.

Spent the past couple days checking out Ogre3d. Sounds like an easy way to get rendering sorted, so i can focus on the other components of a whole game experience rather than getting bogged down with just the one aspect forever :)
After that then I'll go back and start looking more directly at the OGL/DX APIs and maybe start getting bogged down for a different project maybe :p. I'm a little hesitant about XNA as it seems to be somewhere in the neverspace between a base API and a full rendering engine, but I'm not counting anything out at this point. Will crank something out with Ogre first and work back from there :D

For the third I suppose i'll have a think as I'm using the computers and see what comes to mind to make life easier. Thanks Imy for the examples. Gives me an idea of the kind of things i can think about for this. :)


These three won't be done in said order, as I imagine this 'game' idea will be the largest scale, unless I get carried away with android. Also any further ideas/suggestions are very much welcome. The idea is for me to expand my knowledge after all so I appreciate a wide variety :D

I'll post any final programs for your enjoyment/mockery :D thanks again!
 
Last edited:
Ah ! The old problem of "I want to learn to program, but I`ve got nothing to work on". I recently had the same problem while doing an introductory OU course in Java programming.

Luckily, I did have a moment of inspiration, and came up with a useful, self-imposed project. I decided to write a lottery ticket checker for our syndicate. Yes, there are websites that can do the job, but I wanted a simple, stand-alone app that would quickly check one or more tickets (enabling syndicate members to keep an eye on their tickets). After a couple of weeks, I had a fully functional app that is actually being used by myself and a few friends. It automatically obtains data from a lottery website, and checks our tickets against the actual lottery draws. If it finds a winning ticket, it downloads the amount of the prize, adds it to the syndicate`s prize fund, then works out how much the syndicate member has won (some members of our syndicate pay for more "shares" than others).

This project taught me a fair bit about Java, and was more "fun" than just studying the course books. It`s also confirmed that I`m not really a fan of Java, especially for writing games, so am now going to have a crack at C#/XNA.
 
Back
Top Bottom