Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 4.21 KB

File metadata and controls

53 lines (37 loc) · 4.21 KB

General Programming Information

Learning to Program

For most of you, this will be your first exposure to some of these languages. Keep these tips in mind and you learn the languages:

  • Watch the videos before coming to class
  • Take notes when you watch the videos the first time
  • Try to rewrite the functions, classes, or programs from the examples on your own - refer to the source code if you get stuck
  • Watch the videos again after class and after you have tried to write some code on your own - you will be amazed at how much more you understand!
  • Don't get discouraged if you don't get it at first - keep trying! Rewatch the videos, reread the book and notes, use the additional resources and tutorials listed for the language
  • Give yourself plenty of time to complete programs - it is often difficult to estimate how long something will take in a new language
  • Don't spin your wheels - if you get stuck ask for help!

Lazy Programmer gives a great overview of how to learn from coding videos. The same thing applies to my videos and when we do live coding in class. It isn't a bad idea to code along, but just keep in mind that in most of my examples I've already at least thought through the solution and likely already written the code. The code examples don't show all the thinking time that went into them, so don't be discouraged if it takes you longer to write code - that is expected!

Tips for Learners

Things a Programmer Should Know

Advanced Tutorials

Other Resources

I sometimes get asked for recommended books/podcasts about being a developer. The resources below or ones that I have found helpful or that past students have recommended. Some of these are fairly advanced, so don't worry if you don't follow along with it all - the key is to expose yourself to as many ideas as possible and just see what sticks. The "How to be a Programmer" series from Coding Blocks is a great place to start.

Books

  • 97 Things Every Programmer Should Know: Collective Wisdom from the Experts by Kevlin Henney
  • Robert Read's How To Be A Programmer by Robert L. Read
  • Head First Design Patterns (if you are interested in advanced Object Oriented programming)
  • Elegant Objects (Volume 1) by Yegor Bugayenko (I'm currently reading this one)
  • Effective LANGUAGE (fill in the blank with your favorite language - the Java, Python, & C++ ones are excellent)
  • Other lists of books (most of these are more advanced):

Podcasts

  • Coding Blocks is one of the best podcasts that deals with what software engineers do. At one point they went through the How to Be a Programmer book mentioned above.
  • Programming Throwdown (they summarize a language/technology at the end of each episode)
  • Functional Geekery (functional programming!)
  • The Changelog
  • Hanselminutes (Episode 531 has a good discussion of functional programming with OCaml)