Would Anyone Like to See?

This forum is for the discussion of technology, computers, & problems relating to the web and your computer

Moderator: Scott Danziger

Allen M.

Would Anyone Like to See?

Post by Allen M. »

I'm considering putting together a course in teaching the computer languages of C and C++ on the internet, starting from "Hello World" and progressing through advanced features of C++. There is a lot of "stuff" on the internet, but none up to my standards to be considered a good tutorial, and definitely nothing interactive.

Is anyone interested?

------------------
Allen Moulton from Uechi-ryu Etcetera
Arnie Elkins
Posts: 44
Joined: Mon Oct 08, 2001 6:01 am
Location: Richmond, VA, USA

Would Anyone Like to See?

Post by Arnie Elkins »

I'm interested! I have played at programming in C, and have read some things on C++, but I have yet to find anything like you describe. Most of my programming has been done in Delphi, mostly because I have not found anything I could use to learn C++. Count me in!

Arnie
Allen M.

Would Anyone Like to See?

Post by Allen M. »

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
Guest

Would Anyone Like to See?

Post by Guest »

Sorry Allen ,this is way over my head.

Exceptional opportunity to learn thank you for the offer.This is a huge show of generosity if I knew a wee bit I'd take you up on this. If the class does fly I'll save it until I reach appoint were I may benefit from this knowledge.

Laird

[This message has been edited by uglyelk (edited November 18, 2001).]
Allen M.

Would Anyone Like to See?

Post by Allen M. »

Hi Laird.

I intend to start from assuming those involved have no prior knowledge in a computing language and will move forward incrementally such that those who try and actually study will be able to catch up. At such a speed, those who latch on quicker may get bored or loose interest, therefore maybe I can conjure up more difficult examples covering the same material for them

...or...

Go forward at two different speeds for those who wish to spend more time on each lesson and less time on lessons for those with prior computing experience.

At any rate, Laird, Everyone needs to start off at about the same time, especially because I will also be teaching how to use the Microsoft compiler. I will make it easy to to the right things with it, but be aware that path is narrow and straying even the least little bit will find onself quickly and hopelessly tangled in a vast quagmire of thick thornbushes. I don't mean to scare anyone off, but one reason more do not undertake the tasks to learn Ms Visual C++ is that in my 20 some-odd years of working with Microsoft compilers I have found absolutely no one who teaches the skills I'm outlining in the package I'm proposing, not even on-the-job training.



------------------
Allen Moulton from Uechi-ryu Etcetera
User avatar
gmattson
Site Admin
Posts: 6073
Joined: Wed Sep 16, 1998 6:01 am
Location: Lake Mary, Florida
Contact:

Would Anyone Like to See?

Post by gmattson »

Sounds interesting Al. . . If you wish, I'll let you and your class use our Voice Cafe for some of the classes. Can't think of a better usage.

------------------
GEM
User avatar
LeeDarrow
Posts: 984
Joined: Wed May 09, 2001 6:01 am
Location: Chicago, IL USA
Contact:

Would Anyone Like to See?

Post by LeeDarrow »

Allen-sama,

You ARE a serious masochist, aren't you? (lol)

Considering that I currently work as sales manager for a firm that specializes in C++ and Visual Basic programming (along with some much more esoteric stuff), this would be interesting to me only from the standpoint of getting a better handle on the language for selling purposes.

Uechi-ryu AND a C++ interactive tutorial - and he's GIVING it away!!! The mind boggles and the wallet gasps at the loss of potential income...! Image

Best wishes on the project...

Lee Darrow, C.Ht.
Sales Manager,
Computer Innovations, Inc.
Chicago, IL
312-663-5930
Allen M.

Would Anyone Like to See?

Post by Allen M. »

In thinking of what you wrote, Lee, I could not return to sleep this morning, for you have exposed my two major personality flaws which were discovered when I started teaching how to build H.F. receivers and transmitters as well as antenna design theory as a Sophomore in high school. That is 1) I have a burning desire to help others at my own expense, 2) I find myself uncontrollably wanting to teach others, in-depth with no-holds-barred, things I know and have learned.

Thank you for waking me up, Lee. I’ll be more careful next time.


------------------
Allen Moulton from Uechi-ryu Etcetera
User avatar
LeeDarrow
Posts: 984
Joined: Wed May 09, 2001 6:01 am
Location: Chicago, IL USA
Contact:

Would Anyone Like to See?

Post by LeeDarrow »

I hope you are only partially joking about that, Allen. Seriously, it sounds like a pretty good idea, HOWEVER - here's a suggestion...

Offer the tutorial to the members of this forum as stated, BUT also develop it for commercial enterprise and sell it to anyone else.

This way, you satisfy the need to teach (been there, have the same problem) and maybe pull in a little extra for summer vacation. Image

I really didn't mean to chastize, but was more making a rather poor attempt at humor.

Hoping that this clarifies the post and wishing all in here a happy Thanksgiving holiday,

Lee Darrow, C.Ht.

<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Allen M.:
In thinking of what you wrote, Lee, I could not return to sleep this morning, for you have exposed my two major personality flaws which were discovered when I started teaching how to build H.F. receivers and transmitters as well as antenna design theory as a Sophomore in high school. That is 1) I have a burning desire to help others at my own expense, 2) I find myself uncontrollably wanting to teach others, in-depth with no-holds-barred, things I know and have learned.

Thank you for waking me up, Lee. I’ll be more careful next time.


<HR></BLOCKQUOTE>
Allen M.

Would Anyone Like to See?

Post by Allen M. »

Thank you for the offer, George.

Joking, Lee? You mean joking about starting a course up?

Right now, one person has expressed an interest.

This weekend I will outline what I will cover in the sequence I will cover it. I actually have it in my head and could write it down right here on the fly, but I’d rather read the outline and sleep on it to make sure I wrote what I mean. I probably will not get into things like discussing how many bytes in the different scalar types, etc. Those are more academic as well as operating systems issues. I plan to do something roughly like the following, Interspersed with new IDE techniques and fun things to do to the IDE as they become appropriate and necessary.

The C Language

How to install Visual C++.

Run through the parts of it we will be using for our first classes. Kind of a quick start and a little more. Some of the common pitfalls of starting to learn the IDE, how to avoid them, and how to get out of several unavoided pitfalls.

Setting up a workspace and attaching a project to it. Different kinds of projects, etc.

The first program (What else but “Hello World”).

Right away into functions, function prototypes, and how to work with them.

A little bit about the c library, more later as appropriate.

Data types.

Data structures

Functions with a parameter list.

Strings

Debugging with the Visual IDE, Part 1

Loops and the switch (control structures)

Debugging with the Visual IDE, Part 2

A touch of I/O.

Discussion on pointers. What they are, how to use them, how dangerous they are, and how necessary they are.

Writing multiple file applications (programs) (somewhere around this point in the course)

Setting up bookmarks.

Function overloading

…Anything about c that I’ve forgotten to write here.


C++: We’re actually going to design and write a simple database program

Object Oriented programming. What it is and what it isn’t.

Classes, the foundation of Object Oriented programming.

Making classes work as objects.

More about classes – constructors and destructors, scooping and visibility,

Using methods rather than functions.

Function overloading and function overriding.

Inheritance, Polymorphism, Exception Handling

The C++ file I/O.

Advanced C++

The Standard template Library (This is a real big one)

Windows programming (GUI – MFC). (Another big one)

Well, that’s about all I can think of off the top of my head. This covers most of the main topics but there are many, many little details interspersed throughout, and is close if not right-on the sequence of major items.


------------------
Allen Moulton from Uechi-ryu Etcetera
User avatar
gmattson
Site Admin
Posts: 6073
Joined: Wed Sep 16, 1998 6:01 am
Location: Lake Mary, Florida
Contact:

Would Anyone Like to See?

Post by gmattson »

Not sure I'll be able to keep up, but I certainly will give the course a try Al.
Guest

Would Anyone Like to See?

Post by Guest »

I'm sure many of us aspire to your character flaw Allen. Image Please count me in.

I'm about as illiterate as they come around a computer so you have taken on a serious challenge.

I'm running a Pentium III 450 which I understand may be the minimum processor speed to play.

384 megs of ram and only about 2 GB of hard drive space available. I plan to install a new hard drive in the very near future.

What are the system requirements for C++?

What will a C++ license cost for the non student? (Approx.)

A Microsoft version 6 compiler.....is that hardware or soft ware....how many bones is it retailing for. I told you I know nothing.

Please tell us more Image.

Laird
Allen M.

Would Anyone Like to See?

Post by Allen M. »

I think you won't have any trouble keeping up, George.

Laird, the Microsoft compiler is on software on CD. you have enough of everything. 2Gig of hard drive space may be a little tight. You have enough for Visual C++ ok, but the MSDN, if loaded in full may require all of that. However, there is an option to load a minimal amount on the PC which will require you to load and use the CD. A little slower, but works. Sooner than later I will reload VCC (Visual C Compiler) to take pictures.

If you are not too computer savvy, you are taking a big leap. However, I'm not going to pace this at 90 MPH. I'll start off with a lesson and then see how everyone does then take it from there. One, maybe two lessons per week and the <strike>work</strike> fun starts from there. Those who catch it right away may wish to try other things coordinated with the lesson.

We'll do the C part and then if anyone's left decide to continue or not. I once wrote a program that grabbed all of Georges webpages and saved it to my computer, so when we get into the MFC stuff there is the possibility of building a spider.

Everyone has to go on the assumption that I do not know anything more than what I have already expounded upon so far in the lesson plan such as don't ask me how to do strings or what a pointer is until we get there. I attend a lot of classes at work, and there is always someone asking far-out questions stealing time away from everyone else. By contrast, if you don't understand what I covered, PLEASE ask, even if I have to go back a week or month or so; review always helps.


A few more things.

1) I'd like to capture some email addresses if there is a need to take things off line.

2) We will be going with the Visual C++ compiler. On my last purchase, it was something like $99.00 for the Professional edition purchased by a college student at a college bookstore.

3) I will be following the K & R Ansi book for C in terms of my lesson plans. I think someone scoffed mine at work so I've got to get another one. They are about $35-$40 or so, maybe cheaper on the internet. Stay away from those “Dummy” and “21-day” books. Stay away from C++ or combo C/C++ books for now unless you already know what you are doing because they can mess a newbie up for a long time. Stay away from “Visual” books; you don’t want to go there and if you do, you won’t learn and are on your own. I just found the C Programming Language</a> by Brian W. Kernighan, Dennis M Ritchie, 0-13-110362-8 at Softpro’s website at http://search.store.yahoo.com/cgi-bin/nsearch?query=c&first=110&only=0&categ=all&catalog=softpro

That plus my notes plus any worthwhile links I find along the way is all you’ll need and all you’ll want. I’m not going to go outside those plus my lessons will refer to the K&R book at specific pages. K&R is all you’ll need. It will be cryptic to the beginner, but that’s where I enter the scene. After 15+ maybe 20 years of writing C code, I still reference it on occasion, even into C++. Beginners and advanced C people use it; intermediate programmers don’t because they already know it all.

At this time, I'd like to ask GEM his permission to do all discussions about lessons, Q+A, homework problems, etc. on this technical forum.

I will be writing my cyber-c tutorial as we go along and keep a couple of lessons ahead. I can do that as long as I complete the structure for the course and flesh it out a little first. Because there will be a lot of pictures, at least in the beginning, to get started with the compiler/IDE, and because I do a lot of early editing, I'll have to put the course manual where I can conveniently get to it. I've got 50 megs somewhere that I never use; all I have to do is find it.

Maybe by the 1st of December everyone interested can have their pencils sharpened. Sound reasonable?


------------------
Allen Moulton from Uechi-ryu Etcetera
Tony-San

Would Anyone Like to See?

Post by Tony-San »

I'll do it!
User avatar
gmattson
Site Admin
Posts: 6073
Joined: Wed Sep 16, 1998 6:01 am
Location: Lake Mary, Florida
Contact:

Would Anyone Like to See?

Post by gmattson »

Sounds like a fantastic project Al. I've always wanted to learn a programming language but never had the opportunity.

You are certainly welcome to use this forum or if you wish, we can set up a special "instructional" forum that you can configure for this project.

------------------
GEM
Post Reply

Return to “Computer & Web Tech Help”