Thursday, January 30, 2014

MVA Course "Developing in HTML5 with JavaScript and CSS3 Jump Start"

This is the first time I've worked through one of the courses offered by Microsoft Virtual Academy. In the interest of targeting my efforts toward the specific job I want, I've decided to go after the MCSD: Web Applications certification, which consists of three tests: 70-480 "Programming in HTML5 with JavaScript and CSS3", 70-486 "Developing ASP.NET MVC 4 Web Applications", and 70-487 "Developing Windows Azure and Web Services". This first course is targeted at 480, and is a pretty basic overview of HTML, CSS, and JavaScript, though I did learn a couple new things. The last module dealt with "Promises" which was a completely new concept for me. I'd seen asynchronous functionality in JavaScript before but this was a pretty interesting new take on it, definitely worth some additional follow up. Overall it was a pretty easy 6ish hour course.

Friday, January 24, 2014

SICP - Higher order procedures

After a brief break to go play in Visual Studio I'm back at it with the MIT lectures. This one looked at passing and returning procedures from other procedures.  Talked about the square root procedure again, how it is really just a fixed point for a function. Then we looked at Newton's method and built up a rather elaborate program for computing square root based on derivatives. Fun stuff.

Taking the MSDN maze tutorial up a notch

I thought I had finished all that MSDN had to offer as far as C# tutorials go, but I stumbled across this maze tutorial and figured I might as well work through it for completion sake.  Started out pretty simple, much like the others. The we got to the part where we are building the maze... and he's manually laying out labels as blocks. Are you kidding me?

Thursday, January 23, 2014

My Introduction to Windows Forms Applications with MSDN Tutorials

Up until a week or so ago, I'd never tried to program a Windows forms application. I had, in fact, never used a graphic programming system at all, instead opting for the comfort of text editors, with all their pretty code highlighting, syntax checking, code completion, and snippets.  Intellisense and I are starting to get real friendly. But I realized it was time for me to venture out of my comfort zone, so when I found these tutorials on the MSDN site, I was salivating at the chance to work through them. And work through them I did. These were pretty basic little tutorials, but definitely a good way to get one's feet wet.

Wednesday, January 22, 2014

SICP - Procedures, Processes, and the Substitution Model

I was skeptical about learning in LISP, but after reading Paul Graham's letter regarding the use of LISP in his start up Viaweb, I was intrigued. So I'll muddle through this lecture series and see what I learn about LISP, and about computing fundamentals.  Covered a couple interesting topics today, including the substitution model, and covered some real basic concepts related to time and space complexity.  I had been thinking that I might want to learn more about recursion and it seems like I'm going to get the opportunity in this class.

Introductory Comp Sci class 1986 Style...

Wow, I didn't realize that this series from MIT was recorded in the stone age. I'm going to stick with it for now, partially out of morbid curiosity and partially because I figure maybe if I'm using a more basic tool set I can focus more on the concepts and not get so distracted by the gadgetry.  On the flip side, the chances of me ever using LISP for anything are basically NIL. For now I'll take a wait and see approach.  I think the format I'm going to use for these lecture video posts is to post a few thoughts and then dump my notes.

Couple notes on the use of MIT/GNU Scheme: Ctrl+x then Ctrl+e to evaluate a line of code in the interpreter... had a hell of a time finding that in the documentation.  Also, if you want decimals, put a period at the end of a number. Notice the difference here:

Tuesday, January 21, 2014

Starting out with MIT's "Structure and Interpretation of Computer Programs"

Despite the fact that during my most recent interview they basically told me that fundamentals of computer science like data structures, algorithms, and design patterns don't really matter because .NET takes care of all that in the background, I really want to learn the fundamentals. Even if I never use them.

So I don't know where I first saw a reference to this course. It was some blog or comment thread somewhere on the internet that I stumbled upon while looking for preparation materials for this job interview. But I was fascinated by it.  I've known about MIT OCW forever, but I never really took the time to work through a class. Probably had something to do with the fact that I was IN school already and had my own homework and such to worry about. Well now that I am freed from the confines of formal education (HA I did everything online, who am I kidding?) I can finally buckle down and go through some of these courses.

So, first up is Structure and Interpretation of Computer Programs.  Luckily the book is freely available from another university in France. Go figure. The class uses a version of LISP called Scheme so I'll need a compiler.  Fortunately, MIT/GNU Scheme is free. I like free, free is good.

So, why yet another technology blog...?

I realized fourteen years too late that, yes, I really should just tough it out and stick with the computer science degree, because computer programming is awesome.  I've managed, through the years, to interject little bits and pieces of it into my everyday working life though the use of VBA in Excel, or maybe a clever console script, but never anything terribly earth shattering.  As I finished my master's degree I was left with the realization that I'd racked up over $90,000 in student loans getting educated in fields I was only ephemerally interested in.  Oops. So now, rather than spend god-only-knows how much more time and money getting YET ANOTHER degree, I'm going guerrilla style. I'm going to acquire the same knowledge that a typical Computer Science major would acquire, and I'm going to do it for free. Gratis. Yup, I'm fo shizzo.

So how in the hell am I going to get a free Computer Science degree? Hold up there pard, I didn't say anything about a degree. I said I was getting the same knowledge. Degree != education, and vise versa. Enter the magic of the internet, and Open Course Ware.  What I plan to make a key building block of my own ambitious education website, I will first leverage to get myself a job as a programmer (hopefully), or if by some miracle I get the programmer job I just applied for, it'll just make me a more competent programmer.  The fact of the matter is that the College Degree is merely a proxy, a token, meant to convey the idea that "Yes, this person knows subject xyz".  But it seems more and more that the token has been corrupted.  The value, the bang for your buck, just isn't there anymore.

So what does that have to do with this blog? I'm writing my own ticket. The goal of this blog is simple: Document my education. I won't have a degree but I WILL have proof that I fulfilled all the same requirements. Every lecture I watch will get a blog post. Maybe you'll find these posts entertaining and enlightening, in which case I'm happy for you. If not, well they really aren't for you anyway. They are for me and, with a little luck, my future hiring managers. So wish me luck.