C++ Programming

This page is under construction, sorry.

That's me... a little while ago! Hi! My name is Michel Michaud. I am a teacher in computer science at Cégep Saint-Jean-sur-Richelieu in Québec, Canada. For almost 20 years, I've been primarily teaching programming using C and now C++. A few years ago, I wrote two books for beginners about programming in general where I use C++ as the first language. I am now putting the last words in a new, more complete one that will go in more details about object oriented programming and modern usage of C++. For the record, I was responsible for the revision of the French translation of Bjarne Stroustrup classic book (The C++ Programming Language Third Edition) that resulted in a completely new version.

I do believe that C++ is a good language to learn programming because although one can start with really simple programs, the language can grow with you and is a real language used in the industry. I am sure that Pascal (Delphi?) or Java can be used for learning, but I am still waiting for any real advantages (I do see disadvantages: Pascal is not object-oriented or standard, Java is too object-oriented!). To be fair, I should say that I don't teach the whole C++ language at first, in particular I didn't show how to built classes in my first book (a one semester course) although classes were used because I use the standard library of ANSI/ISO C++ (especially string and streams). In the second book I showed how to make real Windows' programs: classes were used and understood mainly for that "visual" part, but that include some understanding of inheritance, from the user point of view, that I saw as a good prologue to object oriented programming. In my new book, there is no Windows' programming, but a more complete introduction to OOP in modern C++.

I am also finishing my book about data structures and algorithms in C++ that focuses on the practical aspect in C++. As the C++ library now includes classes for list, dynamic vector, etc., as well as many classic algorithms (sorting, searching, etc.) the book explains the theorical aspect of those structures and algorithms, shows a possible implementation in C++ (with classes, templates, etc.) and then shows what's already usable. I hope this will leave students with more than theorical knowledge...

Both my new books are already available in preliminary form and should be out officially in june or july 2006.

This site also includes examples of advanced Windows programming using Visual C++ and MFC. I have put here the examples I used to show in my classes (I now use the .NET framework). They contain comments, so I did not use a book and never planned to write one! Unfortunatly these examples and comments are in French, so you'll probably be out of luck if you don't read French. I would then recommend you take a look at CodeGuru.

Also in this site, you'll find some advanced C++ lessons and material. I encouraged my students to buy good books on C++ and Windows programming to complement the material I give them. Although it is hard to find good books, one can read great reviews at Amazon.com, The Association of C and C++ Users and Windows Developer's Journal. You can also take a look at my own book reviews in this site (rated from one to five stars).

Back to main page