Michael Bolin's 6.170 Recitation |
www.bolinfest.com |
Recommended ReadingsEvery week, I will post a reading that I think you may find interesting as an aspiring software engineer. These readings are completely optional and reading them has no impact on your grade whatsoever; however, I will try to find readings that relate to what we are currently doing in 6.170, so hopefully you will find them worthwhile. Week 1 - Athena Pocket ReferenceFor the first week of 6.170, I thought that it would be most appropriate to introduce a reading that would help you get around Athena. Week 2 - The Java IAQ As many of you are new to Java, I recommend reading this list of Infrequently Answered Questions about Java compiled by Peter Norvig, Google's Director of Search Quality. Week 3 - Programming by Coincidence A chapter from The Pragmatic Programmer that talks about programming deliberately, which is an important idea to keep in mind when designing your test suite this week. Week 4 - Writing a Code Generator in Java In your problem set this week, you focus on deriving an object model from code, so read this article about doing the opposite: deriving code from an object model. Week 5 - The Story of Mel This week we're talking about abstractions and information hiding, but Mel, a Real Programmer, takes information hiding to a whole new level. Week 6 - A Comparative Overview of C# In Java, creating the method public int hashcode()
instead of overriding public int hashCode() can be
a difficult bug to track down.
Microsoft's programming language C# (pronounced C-sharp) requires the keyword
override to help prevent errors such as these.
C# is very similar to Java, so it should be an easy language for you to pick up,
but you should read this article so you are also aware of its differences.
Week 7 - Beating the AveragesRecently on the forums we saw a lively debate between Emacs versus Eclipse about which tool Real Programmers use. Another popular debate is in what language Real Programmers program. Paul Graham seems to think this language is Lisp. Read the essay to decide for yourself. Week 8 - J2SE 5.0 New Features This week's lectures are about design patterns. We see that some deisgn patterns are so fundamental that they become built-in parts of a programming language, such as the Iterator pattern in Java. See how the newest version of Java has built-in support for the Typesafe Enum design pattern, in addition to support for other new features, such as Generics. |
©2004 Michael Bolin | www.bolinfest.com |