You are not logged in.
Pages: 1
This question has been asked a lot around the web, and believe me I have looked for ideas.
I am looking for a difficult project where I can learn a lot and use the project in my portfolio. I want to be able to show employer's my abilities since I am not working in a programming field at the moment-- yet I still want to do some programming work on the side.
I am primarily working with C and I am willing to dabble in C++, and assembly or what-not if need be. I would like to avoid Java and C#.
Ideas so far:
- Join some open source project. This is fine and dandy, but I have no idea WHAT project I would join and I don't like the idea of jumping into the middle of something.
- Write a console emulator (NES, SNES etc.). I think this is quite difficult and a huge learning experience. I would learn a lot of assembly and how systems work, and do a lot of low level work. I have no idea where to even begin besides reading information on the given system.
- Photo viewer. I had thought about writing a fast and simple photo viewer because it's something I would use. I am not too happy with gpicview and other photo viewers. This project wouldn't be too hard with a multimedia library like SFML or SDL.
- My own shell. This is even easier than the photo viewer. I had actually done one before, probably not worth putting in a portfolio.
- A chat program. I guess not too hard and maybe not fancy enough for a portfolio?
- A basic operating system. This is similar to an emulator in difficulty and probably worth putting in a portfolio if I have some kind of half-way working OS.
What do you think? Any other ideas or thoughts?
Offline
Get working on an open source project. Just about any open source project will look GREAT on your resume.
Offline
Any ideas of a good project for someone to jump in? There are so many out there... I am not the greatest programmer, but I have a lot of ambition to learn.
I dug through sourceforge looking for some projects. Any other places I could look? I wouldn't mind working on a game, an operating system, emulators, or even systems work like Linux.
Offline
Thanks, I checked out the contributing to Pacman links. I need to examine the source and see if it clicks with me. It may be an interesting undertaking.
Offline
I think we need a good GUI for locate and the likes. There is none and catfish is in fact less comfortable than using a Terminal. I thought about incremental search while typing and a customizable right click menu.
If you need motivation, look at locate32. The windows crowd did it allready :-P
Offline
^Interesting. I hadn't thought about that. Sounds like a job for dmenu or something. I don't use many GUIs so I am not sure if I could stay motivated long enough to complete it. But I will add it to my list.
I think staring at pacman.c is pretty daunting. Haha. Probably because I never stared at 1255 lines and tried to make sense of it. It's going to take more reading before I get a feel for it.
Offline
I think staring at pacman.c is pretty daunting. Haha. Probably because I never stared at 1255 lines and tried to make sense of it. It's going to take more reading before I get a feel for it.
I have found one key to understanding pacman source is to not forget that pacman uses libalpm for package operations.
Offline
In my experience, working on something just to add it to your resume becomes boring quickly.
Make something you want, fix bugs in an open source project you use, etc. That way it's much easier to stay motivated.
So in this case, I recommend doing the picture viewer.
Offline
As you listed asm and c, operative systems and such, you could always implement a small kernel for a microcontroller (avr), realtime if you want.
Begin with the task switching and scheduler, threads static and defined more or less at compile time/kernel boot, make semaphores/other tools for
mutual exclusion, do memory managment and dynamic thread creation/deletion...
Not an easy thing, but sure to be interesting.
I need a sorted list of all random numbers, so that I can retrieve a suitable one later with a binary search instead of having to iterate through the generation process every time.
Offline
In my experience, working on something just to add it to your resume becomes boring quickly.
Make something you want, fix bugs in an open source project you use, etc. That way it's much easier to stay motivated.So in this case, I recommend doing the picture viewer.
I was thinking of this as well! I would more likely finish something I use. A photo viewer has been something I thought about for a while. It would also feel good to have something made which other people may use.
A mini kernel would be nice-- not too sure where to start though.
Offline
I make video games as a hobby, and proudly have them listed on my resume.
Most recently I wrote a personal budget application and added it to my resume. I decided to make it because my wife and I needed one for our budget. Not only does it look impressive, but it only took less than a month before I was comfortable adding it to my resume.
The reason I was able to make it so quickly was because I wanted to see how quickly I could write an application. I wrote it in Python and wxPython using wxGlade, a RAD application for making a GUI. Not only was it easy to make, but fun. I plan on writing my next game in Python.
Offline
I recently threw together Perl script for doing my budget! I had considered making a larger program for it too.
I think making a game could be fun, and exercise a lot of different coding skills.
Offline
This is probably over my head, but I'm thinking of making gtk bindings for nodejs, and then building a javascript version of luakit.
A mini kernel would be nice-- not too sure where to start though.
on reddit this past week, we've gotten a couple 'build your own os' threads -
http://www.reddit.com/r/programming/com … ld_kernel/
http://www.reddit.com/r/programming/com … _semester/
Offline
Kernel development. Most fun task I've ever tackled.
Seriously though, I really enjoy doing it, and from what (little ) I know about you, it seems you may like it as well.
Offline
Haha, *saves all links*
I am going to certainly check this out in more detail. I am always interested in this stuff!
Offline
It would be kind of you joining the dev-community of centerim 5. I am nearly finish with my c++ learning session to join them.
Offline
How do you go about doing that? A nice group of people? Do they help you ease in a lot?
Offline
Well, via IRC you can ask them nearly everything. Often the initiator of this project is online. But I haven't talked much, I just wanted to catch some information about the 'how to join' and qualification required. I guess, after a small session of ncurses, it will be enough. The rest will follow: learning by doing...I guess.
Offline
on reddit this past week, we've gotten a couple 'build your own os' threads -
http://www.reddit.com/r/programming/com … ld_kernel/
http://www.reddit.com/r/programming/com … _semester/
Nice! +10!
Definitely moving to GNU/Linux made me trust Computer Science once again.
Definitely moving to Arch made me enjoy and understand GNU/Linux once again.
Offline
Pages: 1