Carnegie Mellon’s Open Learning Initiative (OLI) is an attempt to impart knowledge with out a human tutor. They have done an excellent job in that. The Guiding principle, that i have copied here, clearly explains the thought process gone into developing these courses. I highly recommend to explore the site.
Guiding Principle of OLI Course Design: (Copied from the OLI site )
- To develop the first iteration of the course based on well-confirmed cognitive theory “Cognitively-informed Education”.
- Then engage in a process of “Data-driven Iteration” to improve learning outcomes.
Successful learning requires the encoding of declarative knowledge (e.g., facts and principles), the application of procedural knowledge to achieve goals in problem solving effectively and efficiently, and the integration of contextual knowledge to transfer the learning to contexts outside the teaching environment.
WinMerge is one of the best Sourcecode compare and Merge tool i have used. Over the years, i have used several tools and the one i really like is from clearcase. But as you know, that tool is very expensive and it can be used only with Clearcase SCM. But of the free tools available, i would say WinMerge is the best i have used so far. I would say it is better then some Diff&Merge tools that comes along with commercial SCM packages like Visual SourceSafe, Perforce etc.
WinMerge Folder Diff tool is very useful and can produce reports in CSV,tab de-limted , HTML and XML format. This serves as the merge documentation for later reference. Its File Diff and Merge tool is also very user friendly and provides several Merge operations.
I would highly recommend WinMerge to anyone who has to do a lot of merging which is typical of large scale Software development.
One of the best sites i have ever found on Software patterns, anti patterns and refactoring.
Sourcemaking Patterns Antipatterns and Refactoring
Well thought out and with lot of common sense.
Especially, Death-by-planning AntiPattern is very good read.
If you are into Software project management please read more of Antipatterns.This give good insights on common project management pitfalls.
if you are a programmer,designer then Patterns and Refactoring is for you. It somewhat resembles Design patterns by Eric Gamma et al.