[Courses] [C] Greetings C Programmers

KWMelvin kwmelvin at intrex.net
Mon Oct 7 23:57:16 EST 2002


Namaste, ()

While I am joining this list rather late, I have taken the time
to read the archives for this list since January 2002.  Please
forgive me for intruding in the middle of the class.  I feel as
if I know some of you already, from reading your archived posts,
however, I am a stranger in this group.  As a way of introduction:

Computer:  Clone PC.  1000MHz AMD Duron.  256MB RAM.  20GB HD.
Platform:  Debian GNU/Linux "potato" stock kernel 2.2.19
Compiler:  gcc 2.95.2
Education:  B.A. Art, CSULB, 1981. "Self-taught Computer-hobbyist"

I'm relatively new to GNU/Linux.  I got my first computer, an old 
Tandy 486SX25 with MS-DOS 6.0, MS-Windows 3.1, and a "bundle" of
software: MS-Works 2.0. [Microsoft Works is an oxymoron]

I learned DOS Batch-file programming first, and had a 9K nested menu
batch-file that allowed the kids (two beautiful and wonderful grrls)
to access games, word processor, windows, etc..  My next adventure
was MS-DOS QBasic.  After that, I learned a little Turbo Pascal...
just enough to get me confused when learning some Turbo C.  After that
I tried some Turbo Assembly.  All this, of course, while doing other
things (dolls, crafts, etc.).

Well, the girls are grown, and I'm a grandparent now, so maybe I have
some time to get back into this thing again?  However, it seems, from
the posts to this list, that the "Beginning C Programmers" never really
got started? 

My question is:  Are there any beginners on this list still interested
in learning the C programming language?  Believe me, I know how painful
it can be to learn a new computer programming language!  But until we
know a few basics, the intermediate and advanced stuff is way over our
heads.  Frustration is the keyword.

Part of getting older is that I am not afraid to ask silly questions.
In fact, silly (or "dumb") questions are what is expected from me,
especially when it comes to computers <sigh>.  But the most amazing
thing about these machines is that they are programmable!  We can
make them do whatever we want them to do, IF we know how.

Sometimes, getting to know how is the most difficult part, even if
the information is "free" (as in free speech) and "freely available"
(as in free beer).

A few years ago, I used _Practical C Programming_ as a syllabus on
another mailing list, to learn some fundamentals of the C programming
language.  That list went defunct about mid-way through the "course"
but I learned quite a bit by `teaching' it to other beginners.  The best
thing about the "course" was that there were experienced programmers to
point out the mistakes I made to the rest of the list.  This was very
educational for all of us beginners.  I was able to keep the course
on track because I followed the book and "published" a lesson every
week which everyone could pick apart.  I know that *I* sure learned
a lot about the C programming language.  Maybe if that list had been
able to continue, why, I'd be a C "guru" by now! &8^D)

The thing is, while I used _Practical C Programming_ as a syllabus,
I also brought in exercises from other textbooks as well, as long
as they were related to the _PCP_ book.  I have several C programming
books on my home reference shelf, and they all seem to follow more
or less the same track of teaching C:  hello.c, I/O with printf()
and scanf(), variables, selection, looping, etc...

The nice thing about having several textbooks is that they are like
"cookbooks" that show you several variations of making the same
recipe, or explain the same concept in different ways, so that one
may "click" to allow comprehension.  There is not just "one way"
to do these things.  As someone mentioned in the archives, this
computer programming is an "Art".  Unlike being in school, where
we can't talk to each other for fear of being labled a "cheater",
here we can share and learn together.  Here, we can take our time
to learn the subject well, without a time constraint, such as a
mid-term, or a final.  Once we know the C programming language,
we can tackle a real project, read GNU/Linux source code, or do
anything we want to do, including studying intermediate and
advanced topics!

Are there any other "beginning" C programmers on this list, still
interested in learning the C programming language?  I still tinker
with C, and would be interested in getting a study group together
if there is enough interest.  The latest textbook project I've
worked on (myself) is from the Deitel&Deitel _C How To Program 2E_ 
textbook.

The 3E is out now, and it seems that C++ and Java are the flavor of
the day.... but I like C!  C is the "lingua franca" of GNU/Linux!

See my source code to exercise 7.19 (Simpletron Computer Simulator)
(from Deitel&Deitel) at 

http://us.geocities.com/k_w_melvin/simpletr.html.

This is still in testing, and doesn't have any error-checking in it,
but it seems to run the sample SML programs that are in the spec.
After downloading the tarball, undo it with: 

$ tar -xzvf simpletr.tgz

You should find 05test2.c [compile with: 

$ gcc 05test2.c -o 05test2 ]

sample.output, and simpletron.html, which is the text of exercise
7.19 from _CHTP2E_. It should run either of the two sample SML
programs from simpletron.html.

Run the program with:

$ ./05test2

If there is still enough interest in C, maybe we (beginners) can do
something together? Let me know!

Happy Programming!
--
K




More information about the Courses mailing list