paperjam

Pro/g/ramming Challenges

Apr 9th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. The below text was in Pro/g/ramming Challenges, version 3.0, and I was thinking of adding it to 4.0
  2.  
  3. HOW-TO-Guide
  4.  
  5. 0) Use git and an eternal website to push on
  6. -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
  7.  
  8. 1) Understand the problem
  9. -Do your own research. It’s an incredibly useful kill which can be applied to and can be applied to anything else.
  10. -If a problem seems difficult, good! Draw it out, write it out, do whatever you need to do to solve it
  11.  
  12. -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
  13.  
  14. 2) Implementation
  15. -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.
  16. -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
  17.  
  18. 3) Test
  19. Write test cases for your program. Get used to thinking about how you can break your software.
  20.  
  21. 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!)
  22.  
  23. 4) Re-Implement
  24. 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!
  25.  
  26. 5) Don’t stop learning
  27. Now that you’ve gotten this far, don’t stop trying to challenge yourself. Keep a portfolio/blog/diary and keep adding to it
  28.  
  29. 6) Resources:
  30. -Wikipedia
  31. -Stack Overflow
  32. -Google
  33. 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!
  34.  
  35. 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
  36.  
  37. 7) Literature:
  38. Knuth: The Art of Computer Programming
  39. Siena: The Algorithm Design Manual
  40. Carmen et al: Introduction to Algorithms
  41. Russel: Artificial Intelligence: A Modern Approach
  42. Abel son: Structure and Interpretation of Computer Programs
  43.  
  44. 8) Hungry for More?
  45. Below is a s small list of websites that contain additional challenges
  46. www.hackerrank.com
  47. www.codechef.com
  48. www.codefights.com
  49. www.projecteuler.net - Math Problems with a focus on programming and algorithmic efficiency
  50. www.rosettacode.org
  51. www.codeabbey.com
  52. www.codingbat.com
  53. www.programmingpraxis.com
Add Comment
Please, Sign In to add comment