MIT Open Courseware: Advancing Education for Free

I recently posted a short list of links to mathematics resources that I’d come across. I was speaking to a colleague and he mentioned the MIT OpenCourseWare initiative, which I had not heard of:

“OCW shares free lecture notes, exams, and other resources from more than
1700 courses spanning MIT’s entire curriculum”


This collection of lecture notes and examples is nothing short of amazing. It covers a whole range of university level courses, including mathematics.

Thanks to Leigh Mitsopoulos for making me aware of this resource.

Perth .NET User Group Meeting, October 4th: Visual Studio 2008

Join us at the Perth .NET Users Group October 4th to hear Nick Randolph present on the upcoming version of Visual Studio 2008. In this session, Nick will cover some of the language changes, including Linq, extension methods, anonymous types and xml integration, as well as some of the rapid application development features. Nick is a Microsoft MVP, and currently the lead developer for Intilecta Corporation, an ISV innovating in the area of behavioral intelligence and data visualisation. More details here: Visual Studio 2008: Languages, Features and Frameworks with Nick Randolph

TOPIC: Visual Studio 2008 with Nick Randolph
DATE: 4th October, 5:30pm
VENUE: Excom, Level 2, 23 Barrack Street, Perth
COST: Free. All Welcome.

There will be a couple of (as yet unspecified) give aways! If you want to get a seat, try to arrive early. Also, don’t forget we have a weekly informal coffee meeting at “Tiger Tiger”, Tuesdays at 1:30pm in the city.

Mathematics Books/Material Online (much of it free!)

Here are a few mathematics resources that I have found useful.

Introduction to Complex Analysis: WWL Chen
http://www.maths.mq.edu.au/~wchen/lnicafolder/lnica.html
This is very clearly written and better than most books I have read. The explanations and examples really stand out.

Complex analysis and Functional Analysis: Douglas N. Arnold.
http://www.ima.umn.edu/~arnold/502.s97/complex.pdf
http://www.ima.umn.edu/~arnold/502.s97/functional.pdf
2 excellent documents. The first is probably a little more accessible than the second which requires a substantial mathematics background.

A First Course in Complex Analysis: Beck, Marchesi and Pixton
http://math.sfsu.edu/beck/papers/complex.pdf

First Course in Linear Algebra
http://linear.ups.edu/download.html

Cauchy-Schwarz Master Class: by J. Michael Steele
Whilst this book is not free, several sample chapters are downloadable (http://www-stat.wharton.upenn.edu/~steele/Publications/Books/CSMC/CSMC_index.html ). A truly remarkable book whose clarity and insight is a rarity amongst such books, which often gloss over details and leave the reader baffled. Although a specialised work, I have come across very few mathematics books that can equal it as an educational tool. If you are about to embark on a postgraduate Mathematics (or indeed undergraduate) course of study make sure you read this book.

List of Free Mathematics Books: a great resource!
http://www.math.gatech.edu/~cain/textbooks/onlinebooks.html
This should be your first port of call if you are looking for free online material.

There is another list of free online Textbooks here: http://linear.ups.edu/opentexts.html

Introduction to Tensor Calculus and Continuum Mechanics
http://www.math.odu.edu/~jhh/bookpdf.zip
by John H. Heinbockel

Concrete Mathemathics, 2nd Edition. (aimed at CS postgraduate students)
http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025
Not a free book, but if you are about to pursue Computer Science postgraduate studies in algorithmics, complexity analysis or a related subject, then this work is required reading.

If you know of any other high quality work, free or otherwise, please let me know.

New Version of NDepend

Patrick Smacchia at NDepend let me know that new trial and PRO versions of NDepend (2.4) , the code metric and dependency tool, are now available. They have been working hard on simplying the interface and making it more intuitive. One of the things I love about NDepend is that it has its own TSQL-like query language built in! There are a few new tutorials posted as well.

List of Free Utilities

Having decided that I couldn’t put up with Adobe Acrobat gremlins and infuriating prompts to download the next version any longer, I remembered FoxIt, a lightweight PDF reader. Not sure how I arrived there, but I found it listed at this wiki site that also lists a plethora of free software and utilities.

Read All About IT!

You have probably seen the “What am I doing to be a better programmer in the next 6 months” developer meme that has been doing the rounds. Along with the advice “Read more technical books”, one of the common themes is that you should read others people’s code, and lots of it!

Reading code is a great way to improve your code writing skills. This is something that I believe in, and I have to admit I’m guilty of not reading enough of other developers’ code. Find an open-source project or a developer whose work you respect, and read the code. Look for idioms and patterns, learn from their experience. I believe undergraduate computing courses should offer a course which consists of dissecting and understanding code written by prominent coders.

Scott Hanselman has a great post on the topic here, where he mentions the Coding4Fun developer kit, a great resource for learning from other people’s code.

Jeff Atwood’s post How To Become a Better Programmer by Not Programming is worth a read, if you have not seen it already.

I recently reviewed the book “Beautiful Code” from O’Reilly, a collection of articles, essays and papers from many talented programmers. It provides insights and techniques that would be hard to arrive at if you had to reinvent them yourself. There is also a dedicated web site here: http://beautifulcode.oreillynet.com/.

For a glimpse into the mind of one of Computer Science’s well known contributors, check out the “Edsger W. Dijkstra” archive (mentioned at the Beautiful Code site): http://www.cs.utexas.edu/users/EWD/