This term, I’ve been given a position as a teaching assistant for ECE 150: Introduction to Programming at the University of Waterloo. Taught in C#, ECE 150 covers most of the basic features of programming languages and how programs are written, and assumes no basic programming knowledge on the part of the students taking it. Unfortunately for me, that means most of the cool parts of C# and the .NET framework – LINQ, WPF, WCF, ASP.NET MVC, and even language features like generics, anonymous functions, and lambda expressions – are off limits. However, it also means I need to know the basics really well; one of the other TAs and I were asked today the difference between
int.Parse() (used in the lecture slides) and
Convert.ToInt32() (used in the textbook); the answer, as I found out, was quite subtle (NB: for students in the course, the difference isn’t relevant – use whichever you desire).
In that spirit, I’ve decided to put together a handful of applications over the course of the term in order to demonstrate various features of the C# language for programming beginners. All of the samples will be available via my ECE 150 page, and will be updated as the term progresses. How many I get done is entirely dependent on the amount of time and number of ideas I have; those that do get made will roughly correspond to each week’s content, and we’ll use them in the final review. Full source code for each application is also available for those who want a deeper look into some of the features of C# and the .NET platform.