What I envision is a down-and-dirty practical, well-structured, non-academic C/C++ course, starting from “A” and going as close to “Z” as anyone can bear within reason.
If I do this, I have a gut feel that it would take a minimum of 6 months plus maybe a few, although I haven't started a lesson plan yet. Maybe I'll start by saying 6 months then see how much material will work within that time frame. A course in C is non-trivial, and adding the complexity of Object Oriented Analysis and design methodology will make it even more interesting.
I plan to use the Microsoft Visual C++ version 6 compiler on a Microsoft platform, so some of my lessons will be geared to teaching how to run that compiler and use that IDE, a non-trivial task to both use and teach how to use. One doesn’t need the MS compiler but it is highly recommended you do so. Visual C++ it
is professional and some of my lessons will be directed towards how to use it.
BTW, I understand that if knows a college student, he has the opportunity to investigate purchasing a student’s version with a student’s discount. I’m not exactly sure how that works, though, so I cannot offer any assistance in that area.
I plan to stick with the meat and potatoes: start with C and then progress on to C++. Also, I will get intoWIN32, or some system stuff, as well later on down the road as required. Not the whole thing (that’d take six months alone) I may elect to stay away from the esoteric features such as DLLS and MFC. MFC is daunting can take a long time to learn on the professional level, at least another six months. HOWEVER, hold onto the MFC thought and If we all have energies when everything eklse is completed, I may get started on some basics just to get your feet wet. MFC is definitely NOT object oriented, the focus of my C++ course.
It would go something like this:
Required compiler: Ms visual C++ version 6.
Required Book(s): Kernighan and Ritchie’s C Programming book which can be most likely found on line. Either of their websites, or Geek Girl’s website would be great places to look for that book.
There are too many C++ books out there and if they don’t dazzle you with their brilliance, they’ll baffle you with their bullsh!t. I get dizzy every time I walk into the computer aisles of a bookstore, so when and if the time grows near I’ll select something simple and straightforward, maybe even Schaums Outlines. Fact, Schaums has
excellent books on C and C++. I thumbed through the C book about ten years ago and was impressed.
However, I plan to follow the K&R ANSI C book, using it as a tutorial guide and deviate from it whenever and wherever appropriate to do so. I will skip over some of the parts which are not appropriate as we will be using it to prepare us for C++.
For the C part of the course I plan to teach understanding and how to use much of standard C. No great programs will be conjured, nothing lengthy -- that'll waste your time and mine as well. Just some exercises which will revolve around C’s libraries, and as simple as I can make them plus tips and techniques as I intend to lay down a firm foundation. There is a lot to C and it can be tricky, especially when dealing with pointers (It's ok to be terrorized of pointers) which are both C's claim to fame as a powerful-but-simple language as well as the root of many programmer's baldness.
For the C++ part, I plan to jump right into object-oriented programming. I will teach class design and [parts of] the Standard Template Library. Some sort of database programming would be a good course project for this one, just saving data to and from disk will do. The stout hearted can do Access if they wish, but I elect not to go there, because I can set it up on this machine using this operating system (once I review it), but everyone’s setup can be different and I don’t want to get bogged down with others computer problems. Fact, I’m going to pretty much stick close to the basics throughout and anyone venturing off on their own will do so at their own peril. I’ll answer questions appropriate to the lesson, but if were doing something using standard I/O and someone starts asking esoteric questions about pointers that have nothing to do with what we are working on I’ll blow-off those questions. One reason is that questions of that sort tend to steal valuable time away from everyone else. Another reason is that I have ample time to teach this course and work with people to bring their understanding up, but no time to waste.
Maybe the C++ program could be a Uechi-ryu database.
The bottom line is that
you will have to work, and sometimes work hard at it as well as persevere. I can properly set things up, and teach and guide. Doing this across the internet will be interesting and I hope fruitful for all those interested.
If we get a group going and someone gets messed up with something, say a for loop, I encourage someone else who figures they have mastered it to step in and relate his knowledge. I’d rather stand back and enter the arena only if necessary under those circumstances.
So the above is the overview of my thoughts on this C/C++ course. I need a few more serious individuals wishing to get into some professional programming before I am willing to start. Any others?
BTW, a good understanding of C++ leads right into Java which is a simpler, kinder language.
------------------
Allen Moulton from
Uechi-ryu Etcetera