Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- The below text was in Pro/g/ramming Challenges, version 3.0, and I was thinking of adding it to 4.0
- HOW-TO-Guide
- 0) Use git and an eternal website to push on
- -Learn to use git and commit early and often. Optionally, use a website to push your work to (such as GitHub). The most important thing is to build a portfolio
- 1) Understand the problem
- -Do your own research. It’s an incredibly useful kill which can be applied to and can be applied to anything else.
- -If a problem seems difficult, good! Draw it out, write it out, do whatever you need to do to solve it
- -If the problem you’re solving is too easy, brainstorm and try adding additional functionality. Try combining it with other ideas to make your software more challenging
- 2) Implementation
- -Take the language you’re most familiar with to start your project. If the problem is too easy, pick a language you’ve never used.
- -Don’t be afraid to write awful code and don’t worry about the best implementation. Get a working implementation first, then refactor and clean it up
- 3) Test
- Write test cases for your program. Get used to thinking about how you can break your software.
- Find problems, bugs, and fix them. Repeat over and over again and document it. Throw it together in your portfolio (don’t forget to commit!)
- 4) Re-Implement
- Now that you have something together with lots of documentation and experience, try a different language and try to match it as closely as possible to your first implementation. Add features, try new techniques, new styles. Go crazy!
- 5) Don’t stop learning
- Now that you’ve gotten this far, don’t stop trying to challenge yourself. Keep a portfolio/blog/diary and keep adding to it
- 6) Resources:
- -Wikipedia
- -Stack Overflow
- -Google
- Seriously, this is all you’ll ever need. If you aren’t getting results, you aren’t doing your research properly. With these three websites, you’ll find your answers. If they don’t exist, make a thread. By doing so, you help other people out too!
- Remember: if you make a new topic for a new problem anywhere,write down the solution if someone PM’d you. It helps people a lot and encourages them to do the same
- 7) Literature:
- Knuth: The Art of Computer Programming
- Siena: The Algorithm Design Manual
- Carmen et al: Introduction to Algorithms
- Russel: Artificial Intelligence: A Modern Approach
- Abel son: Structure and Interpretation of Computer Programs
- 8) Hungry for More?
- Below is a s small list of websites that contain additional challenges
- www.hackerrank.com
- www.codechef.com
- www.codefights.com
- www.projecteuler.net - Math Problems with a focus on programming and algorithmic efficiency
- www.rosettacode.org
- www.codeabbey.com
- www.codingbat.com
- www.programmingpraxis.com
Add Comment
Please, Sign In to add comment