144 - Maze game generator/solver { Include random graphs/trees }
145 - Nonogram generator { Include a solver )
146 - Natural string order sorting (al, a2, a10, a20 instead of al, al 0, a2, a20)
147 - Conways game of life { Include other cellular automata }
148 - Image viewer (support more than one image format)
149 - Plot a mathematical function of your choice; let the user change the coefficients and exis ranges ( Include plot the derivative(s) }
150 - Basic TCP simulator (handshake, data sending and closing) { Include simulate retransmissions, 00B data, window scaling, etc }
151 - Radix base converter
152 - Wolfenstein 3D - style ray caster with coldet & texture mapping { Include textmapped floors and ceilings, sprites and lighting }
153 - Precedural generation of dungeons
154 - Rogue like game
155 - Search engine website
156 - Indy 4 game
157 - Car polo game
158 - 3D viewer
159 - Space invaders game
160 - Blogging software
161 - MP3 player
162 - Crossword game { Include solver and generator
163 - Image editor
164 - Console
165 - Forum software
166 - To-do-list
167 - Library book system
168 - Windows grep
169 - Twitter clone
170 - Facebook clone
171 - Pinterest clone
172 - Breakout game
173 - Pac-Man game
174 - Bomberman game
175 - Code editor
176 - Asteroids game
177 - Duck hunt game { Include other animals }
178 - MP3 tagger
179 - Wallpaper changer
180 - Karateka game
181 - Pole position game
182 - PDF tagger
183 - Wiki website
184 - Missile command game
185 - Simon game
186 - Launcher for Android
187 - Fortune teller website
188 - Image board bot
189 - Risk game
190 - MP4 tagger
191 - Quizz maker/reader
192 - Galaxian game
193 - File copy/paste utility
194 - File renamer with options
195 - Natural language query website
196 - Mouse dodger game
197 - Gif creator
198 - Two player go game
199 - Pipe dream game
200 - RTS game
201 - RTS map generator
202 - Tron game with Al
203 - Dating website
204 - Chess game with Al
205 - Task manager
206 - City management game
207 - Yahtzee game
208 - Procedural generation of a city
209 - Sims clone
210 - Worms done
211 - Building interior and architecture editor
212 - Rampert game clone
213 - File compression utility
214 - Drug city game
215 - Simulating groups of pedestrians
216 - Digger game
217 - MMORPG
218 - 3D FPS game
219 - Commando game
220 - Double Dragon game
221 - Civilisation game clone
222 - Animated sprite editor
223 - Reddit clone
224 - Stop watch
225 - Voice recorder
226 - IRC server and client
227 - Calender
228 - Skype clone
How-to Guide
Use git and optionally, an external website to push to
Leam how to use git and commit early and often. Optionally use a web-site such as GitHub to push your work to. Build a portfolio.
t Understand the problem
Leam how to perform your own research. It's an incredibly useful skill which can be applied to anything in life. If you find the problem difficult, don't give up, break it down. Draw it out, write it out, do whatever you need to do to solve it.
If the problem you are facing is too easy, do a brain storm and add addi¬tional functionality and/or combine it with other ideas to make your soft¬ware more challenging.
Implementation
Take the language you are most familiar with to start your project off. However, if the problem is too easy, pick a language you have never used. Don't be afraid to write awful code and don't worry about the best implementation. Get it written up first and then refactor, dean it up and so on.
Test
Write test cases up for your program. If you prefer paper then use paper, if you prefer Microsoft word, use that, but get used to thinking about how you can break your software. Find problems, bugs and fix them. Repeat it over and over again and document it. Throw it together into your portfolio. Remember, commit often. If something goes wrong, revert back.
Reimplement
Now that you have something together with lots of documentation and experience; go wild! Use a different language and try to match it as much as possible to your first implementation. Add features, try new techniques, idioms. Try to refactor your code and optimise it
Don't stop learning Now you have gotten this far, don't stop trying to challenge yourself. Keep a portfolio, keep a blog and keep adding to it. It will look fantastic to potential employers.
Resources Wikipedia, Stack Overflow and Google.
Seriously this is all you will ever need. If you aren't getting results, you are not doing your research properly and you need to improve this. I can not state enough how important this skill is and it isn't hard. With these three websites, you find your answers and if it doesn't exist, make a thread on Stack Overflow and by doing so you help other people out too.
Remember, if you make a new topic for a new problem anywhere, write down what the solution is if somebody private messaged you. It helps people out a lot and it will encourage them to do the same!
Literature
Knuth: The Art of Computer Programming
Skiena: The Algorithm Design Manual
Cormen et al: Introduction to Algorithms
Rusell, Norvig: Artificial Inteligence: A Modem Approach
Abelson, Sussman: Structure and Interpretation of Computer Programs
More challenges?
If you need more challenges there are a lot of websites out there to help you with this! Below is a small list of the most popular, however please feel free to add more to this list.