Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 9th, 2012  |  syntax: None  |  size: 2.95 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. *Current in **bold**. Completed in ~~strikethrough~~.*
  2.  
  3. ## Learn a variety of programming languages
  4.  
  5. * Write a program in Python
  6. * Write a program in C
  7. * ~~Write a program in AS3~~
  8. * ~~Write a program in JavaScript~~
  9. * Write a program in Ruby
  10.  
  11. ## Learn a variety of programming paradigms
  12.  
  13. * Write a program in assembly language
  14. * Write an application in a functional language
  15. * ~~Write an application in an object-oriented language~~
  16. * ~~Write an application in a prototype-based language~~
  17. * Write an application in a logic programming language
  18. * Write an application using the Actor model
  19. * Write an application in Forth
  20.  
  21. ## Experience the ins and outs of programming for different platforms:
  22.  
  23. * ~~Write a nontrivial web app~~
  24. * ~~Write a nontrivial desktop app~~
  25. * Write a nontrivial mobile app
  26. * Write an embedded app
  27. * Write a realtime system
  28.  
  29. ## Enhance your understanding of the building blocks that we use as developers:
  30.  
  31. * Write a networking client (e.g., HTTP, FTP)
  32. * Write a device driver
  33. * Write a B-tree database
  34. * ~~Wrap an existing library to provide a better (more pleasant) user experience~~
  35. * Write an application or framework that provides a plugin model
  36. * Write a testing framework
  37. * **Write a programming language**
  38.  
  39. ## Enlighten yourself with koans, katas, and the wisdom of ages:
  40.  
  41. * Complete five [code katas](http://en.wikipedia.org/wiki/Kata_\(programming\) "Kata \(programming\) - Wikipedia") **(2)**
  42. * ~~Complete the [programming koans](http://sett.ociweb.com/sett/settJan2011.html "Learning Programming Languages with Koans - Object Computing, Inc.") for a language that you want to learn~~
  43. * Read [SICP](http://mitpress.mit.edu/sicp/ "SICP web site") and complete all the exercises
  44. * Read and understand [TAOCP](http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming "The Art of Computer Programming - Wikipedia")
  45.  
  46. ## Program in the open:
  47.  
  48. * ~~Contribute to an open source project~~
  49. * ~~Have a patch accepted~~
  50. * Earn commit rights on a significant open source project
  51. * ~~Publish an open source project~~
  52. * Perform a [Refactotum](http://thinkrelevance.com/blog/2007/04/03/twir.html "Refactotum") of on open source project
  53.  
  54. ## Learn by teaching others:
  55.  
  56. * ~~Present a lightning talk~~
  57. * ~~Present at a local user group~~
  58. * Present at a conference
  59. * ~~Deliver a training course~~
  60. * ~~Publish a tutorial~~
  61. * Publish a constructive code review of an open source project
  62. * Write a programming book
  63.  
  64. ##Learn about algorithms:
  65.  
  66. * Determine the asymptotic running time of an algorithm
  67. * Implement basic Sorting Algorithms:
  68.  Bubblesort, Heapsort, Quicksort... Understand their tradeoffs.
  69. * Implement basic Graph algorithms: Prim, Kruskal, Dijkstra, A*...
  70. * Create and implement a dynamic programm
  71. * Proof a problem NP Complete
  72. * Understand the halting problem
  73.  
  74. ##Learn tools:
  75.  
  76. * ~~Try a different SCMs for a projects (Git/Mercurial...)~~
  77. * ~~Try a different IDEs for a projects~~
  78. * ~~Set up a project with a Build Tool (Make, Rake, SBT, Ant, Maven...)~~
  79. * ~~Set up a project on a CI server~~