Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #112377 > unrolled thread

Help creating a C class

Started by"Rick C. Hodgin" <rick.c.hodgin@gmail.com>
First post2017-06-16 17:36 -0700
Last post2017-06-21 00:25 +0800
Articles 20 on this page of 80 — 21 participants

Back to article view | Back to comp.lang.c


Contents

  Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-16 17:36 -0700
    Re: Help creating a C class gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-17 02:16 +0000
      Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-16 21:27 -0700
    Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-16 21:16 -0700
      Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-17 12:24 -0700
    Re: Help creating a C class GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-17 08:06 +0200
      Re: Help creating a C class Real Troll <real.troll@trolls.com> - 2017-06-17 13:15 -0400
        Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-17 12:27 -0700
          Re: Help creating a C class David Kleinecke <dkleinecke@gmail.com> - 2017-06-17 12:49 -0700
            Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-21 13:47 -0700
    Re: Help creating a C class Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-17 12:03 +0100
      Re: Help creating a C class GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-17 13:38 +0200
    Re: Help creating a C class "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-06-17 14:11 +0200
      Re: Help creating a C class Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-17 16:20 +0100
    Re: Help creating a C class supercat@casperkitty.com - 2017-06-17 10:39 -0700
    Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-17 17:05 -0700
      Re: Help creating a C class Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-18 02:31 +0100
        Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-17 21:37 -0700
        Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 11:24 -0700
    Re: Help creating a C class David Brown <david.brown@hesbynett.no> - 2017-06-18 15:15 +0200
      Re: Help creating a C class bartc <bc@freeuk.com> - 2017-06-18 15:02 +0100
        Re: Help creating a C class David Brown <david.brown@hesbynett.no> - 2017-06-18 17:18 +0200
          Re: Help creating a C class bartc <bc@freeuk.com> - 2017-06-18 17:04 +0100
            Re: Help creating a C class David Brown <david.brown@hesbynett.no> - 2017-06-18 23:06 +0200
      Re: Help creating a C class GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-19 01:05 +0200
        Re: Help creating a C class Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2017-06-18 19:28 -0400
          Re: Help creating a C class GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-06-19 01:31 +0200
          Re: Help creating a C class Jerry Stuckle <jstucklex@attglobal.net> - 2017-06-18 21:28 -0400
            Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-18 18:39 -0700
              Re: Help creating a C class Chad <cdalten@gmail.com> - 2017-06-18 23:42 -0700
                Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 01:30 -0700
                  Re: Help creating a C class Chad <cdalten@gmail.com> - 2017-06-21 09:33 -0700
                Re: Help creating a C class gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-19 10:48 +0000
              Re: Help creating a C class David Brown <david.brown@hesbynett.no> - 2017-06-19 11:11 +0200
                Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 02:25 -0700
                  Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 03:17 -0700
                    Re: Help creating a C class David Brown <david.brown@hesbynett.no> - 2017-06-19 12:42 +0200
                    Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 05:35 -0700
                      Re: Help creating a C class bartc <bc@freeuk.com> - 2017-06-19 14:51 +0100
                        Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 07:03 -0700
                        Re: Help creating a C class David Kleinecke <dkleinecke@gmail.com> - 2017-06-19 17:31 -0700
                          Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-19 17:47 -0700
                          Re: Help creating a C class bartc <bc@freeuk.com> - 2017-06-20 10:25 +0100
                    Re: Help creating a C class Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 14:09 +0100
                      Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 06:13 -0700
                        Re: Help creating a C class Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-19 17:05 +0100
                          Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-19 09:15 -0700
                            Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-21 13:30 -0700
                              Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-21 14:29 -0700
                        Re: Help creating a C class Richard Damon <Richard@Damon-Family.org> - 2017-06-30 10:15 -0400
                          Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-30 07:33 -0700
          Re: Help creating a C class David Brown <david.brown@hesbynett.no> - 2017-06-19 11:28 +0200
        Re: Help creating a C class "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-06-18 16:42 -0700
        Re: Help creating a C class raltbos@xs4all.nl (Richard Bos) - 2017-06-26 06:04 +0000
          Re: Help creating a C class David Kleinecke <dkleinecke@gmail.com> - 2017-06-26 09:15 -0700
    Re: Help creating a C class joel.rees@gmail.com - 2017-06-18 17:35 -0700
    Re: Help creating a C class Leon Taylor <leontaylor476@gmail.com> - 2017-06-19 05:59 -0700
    Help creating a C class asetofsymbols@gmail.com - 2017-06-19 07:53 -0700
    Re: Help creating a C class John Bode <jfbode1029@gmail.com> - 2017-06-20 07:16 -0700
      Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-20 07:45 -0700
    Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-20 23:20 +0800
      Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-20 08:40 -0700
        Re: Help creating a C class gazelle@shell.xmission.com (Kenny McCormack) - 2017-06-20 16:22 +0000
          Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 00:27 +0800
          Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-20 09:34 -0700
            Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 00:38 +0800
              Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-20 09:43 -0700
                Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 21:37 +0800
                  Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-21 06:58 -0700
                    Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 22:10 +0800
                      Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-21 08:08 -0700
                        Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 23:20 +0800
                          Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-21 08:24 -0700
                            Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 23:27 +0800
                              Re: Help creating a C class "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-21 08:39 -0700
                                [OT] "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 23:46 +0800
                                  Re: [OT] "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-06-21 09:03 -0700
                                    Re: [OT] "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-22 00:15 +0800
                                    Re: [OT] "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-25 22:59 +0800
        Re: Help creating a C class "Mr. Man-wai Chang" <toylet.toylet@gmail.com> - 2017-06-21 00:25 +0800

Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →


#112649

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2017-06-19 17:31 -0700
Message-ID<f487c021-cbc4-4c0c-be94-5af0e8372009@googlegroups.com>
In reply to#112565
On Monday, June 19, 2017 at 6:51:57 AM UTC-7, Bart wrote:
> On 19/06/2017 13:35, Rick C. Hodgin wrote:
> 
> > In general, you can teach people the basics in a few minutes. They'll
> > need to time and practice for understanding and to have it sink in,
> > but the general concepts in C are very straight-forward.
> 
> For people new to coding, I can see the following problems:
> 
> > Data types hold values...:
> > 
> >      char       -- single character, like 'a' or ';'
> >      integer    -- single integer, like 1
> >      float      -- floating point values, like 3.1415
> 
> Having separate integer and float types is alien. As is that funny char 
> type (can you really do 'A'+'B'? Why doesn't it equal 'AB'?)
> 
> I'd suggest having one numeric type to start, either integer or float. 
> And forget char except when it is needed to deal with strings.
> 
> > Assignment is straight-forward:
> 
> Not according to a lot of modern languages! Some of which do away with 
> variables and assignments.
> 
> > Basic math is pretty normal:
> > 
> >      a = b + c;
> >      a = b - c;
> >      a = b / c;
> 
> This behaves differently between integer and float.
> 
> And you will have to explain that = doesn't mean equality, while 
> equality isn't denoted with =.
> 
> >      a = b * c;
> 
> > A range-test loop, like "I need to do this 10 times":
> > 
> >      for (i = 0; i < 10; i++) {
> >          // Code to do here for each value
> >      }
> 
> Students will wonder why you can't just say 'do 10 times' instead of 
> having to tell the computer exactly how to loop. That's /its/ job isn't it?!
> 
> (Probably while is better for N times. A for-loop with an index is 
> better when the index is put to some use in the loop. Just printing the 
> index would help. This is the first program I ever saw in action, c.1975:
> 
>   for i = 1 to 20
>      print i, sqr(i)
>   next i
> 
> This shows a table of the square roots of the numbers 1 to 20. I was 
> impressed -- working out square roots from scratch without using tables! 
> And apparently instantly, as it seemed even though this was printed out 
> at 10cps onto paper.)
> 
> > Global storage, like "placing something in the living room for all
> > to see or use":
> > 
> >      int x, y;
> > 
> >      void function1(void) {
> 
> Void? And void again? Something else to explain. As is scope.
> 
> > You won't get much simpler than those examples, with the straight-
> > forward conveyance of their {..} blocks identifying exactly where
> > code goes, and when it is triggered.
> 
> With C, you have the proliferation of types, having to declare names, 
> the various meanings of 'void', the elaborate way to do a for-loop...
> 
> Basic didn't have all that. Nor did it have the concept of a compiler of 
> linker. You just said RUN.

Not well-known but the original Basic was compiled, I
mean the Basic that was developed as a class project at
Dartmouth. Not many people have ever seen it because
it was not widely distributed. Dartmouth sold it to GE
and GE "used" it to start their time-sharing business.
But GE rewrote the Dartmouth code completely so it would
work. We didn't add anything but it was definitely a
second implementation.

I know that BASIC was compiled because I wrote the GE
compiler. I had no more contact thereafter with GE
time-sharing and any of its rather sad history.

It's heresy, of course, but I still think BASIC is a
viable beginners language.

[toc] | [prev] | [next] | [standalone]


#112652

From"Chris M. Thomasson" <invalid@invalid.invalid>
Date2017-06-19 17:47 -0700
Message-ID<oi9r40$7af$1@dont-email.me>
In reply to#112649
On 6/19/2017 5:31 PM, David Kleinecke wrote:
> On Monday, June 19, 2017 at 6:51:57 AM UTC-7, Bart wrote:
>> On 19/06/2017 13:35, Rick C. Hodgin wrote:
>>
>>> In general, you can teach people the basics in a few minutes. They'll
>>> need to time and practice for understanding and to have it sink in,
>>> but the general concepts in C are very straight-forward.
>>
>> For people new to coding, I can see the following problems:
>>
>>> Data types hold values...:
>>>
>>>       char       -- single character, like 'a' or ';'
>>>       integer    -- single integer, like 1
>>>       float      -- floating point values, like 3.1415
>>
>> Having separate integer and float types is alien. As is that funny char
>> type (can you really do 'A'+'B'? Why doesn't it equal 'AB'?)
>>
>> I'd suggest having one numeric type to start, either integer or float.
>> And forget char except when it is needed to deal with strings.
>>
>>> Assignment is straight-forward:
>>
>> Not according to a lot of modern languages! Some of which do away with
>> variables and assignments.
>>
>>> Basic math is pretty normal:
>>>
>>>       a = b + c;
>>>       a = b - c;
>>>       a = b / c;
>>
>> This behaves differently between integer and float.
>>
>> And you will have to explain that = doesn't mean equality, while
>> equality isn't denoted with =.
>>
>>>       a = b * c;
>>
>>> A range-test loop, like "I need to do this 10 times":
>>>
>>>       for (i = 0; i < 10; i++) {
>>>           // Code to do here for each value
>>>       }
>>
>> Students will wonder why you can't just say 'do 10 times' instead of
>> having to tell the computer exactly how to loop. That's /its/ job isn't it?!
>>
>> (Probably while is better for N times. A for-loop with an index is
>> better when the index is put to some use in the loop. Just printing the
>> index would help. This is the first program I ever saw in action, c.1975:
>>
>>    for i = 1 to 20
>>       print i, sqr(i)
>>    next i
>>
>> This shows a table of the square roots of the numbers 1 to 20. I was
>> impressed -- working out square roots from scratch without using tables!
>> And apparently instantly, as it seemed even though this was printed out
>> at 10cps onto paper.)
>>
>>> Global storage, like "placing something in the living room for all
>>> to see or use":
>>>
>>>       int x, y;
>>>
>>>       void function1(void) {
>>
>> Void? And void again? Something else to explain. As is scope.
>>
>>> You won't get much simpler than those examples, with the straight-
>>> forward conveyance of their {..} blocks identifying exactly where
>>> code goes, and when it is triggered.
>>
>> With C, you have the proliferation of types, having to declare names,
>> the various meanings of 'void', the elaborate way to do a for-loop...
>>
>> Basic didn't have all that. Nor did it have the concept of a compiler of
>> linker. You just said RUN.
> 
> Not well-known but the original Basic was compiled, I
> mean the Basic that was developed as a class project at
> Dartmouth. Not many people have ever seen it because
> it was not widely distributed. Dartmouth sold it to GE
> and GE "used" it to start their time-sharing business.
> But GE rewrote the Dartmouth code completely so it would
> work. We didn't add anything but it was definitely a
> second implementation.
> 
> I know that BASIC was compiled because I wrote the GE
> compiler. I had no more contact thereafter with GE
> time-sharing and any of its rather sad history.
> 
> It's heresy, of course, but I still think BASIC is a
> viable beginners language.
> 

BASIC is a nice language. Fwiw, there is a nice online AppleSoft BASIC 
emulator online here:

http://www.calormen.com/jsbasic

[toc] | [prev] | [next] | [standalone]


#112671

Frombartc <bc@freeuk.com>
Date2017-06-20 10:25 +0100
Message-ID<DS52B.417271$O06.294106@fx43.am4>
In reply to#112649
On 20/06/2017 01:31, David Kleinecke wrote:
> On Monday, June 19, 2017 at 6:51:57 AM UTC-7, Bart wrote:

>>    for i = 1 to 20
>>       print i, sqr(i)
>>    next i

>> Basic didn't have all that. Nor did it have the concept of a compiler of
>> linker. You just said RUN.
> 
> Not well-known but the original Basic was compiled, I
> mean the Basic that was developed as a class project at
> Dartmouth. Not many people have ever seen it because
> it was not widely distributed. Dartmouth sold it to GE
> and GE "used" it to start their time-sharing business.
> But GE rewrote the Dartmouth code completely so it would
> work. We didn't add anything but it was definitely a
> second implementation.

(The version I saw ran on a DEC pdp10, another time-sharing machine. 
Although I didn't find out until later. I was being shown around a 
computer lab and asked what a mini-computer could do. The guy keyed in 
this program on a nearby teletype which I assumed was attached to the 
mini-computer.)

> I know that BASIC was compiled because I wrote the GE
> compiler. I had no more contact thereafter with GE
> time-sharing and any of its rather sad history.
> 
> It's heresy, of course, but I still think BASIC is a
> viable beginners language.

Over 40 years on from when I first saw it, it still has an impressive 
simplicity. Although I've never actually used it.

I wouldn't mind doing an implementation of it, but last time I looked, 
there were some 250 different versions of Basic!

-- 
bartc

[toc] | [prev] | [next] | [standalone]


#112561

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2017-06-19 14:09 +0100
Message-ID<87r2ygdsyk.fsf@bsb.me.uk>
In reply to#112539
"Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:

> Rick C. Hodgin wrote:
>> David Brown wrote:
>> > [snip]
>>
>> Thank you for your input, David. I'll take it under advisement.
>
> I've considered this, and I think you're wrong, David.  C has the
> ability to be an excellent teaching language.

What David said (in the post you replying to at least) is the you can't
teach programming and C in /2 hours/ and you should make the course
about C.  In fact, it seems you agree with him!  That's exactly what
your outline shows -- it's all about C and nothing much (if anything)
about programming.

<snip>
-- 
Ben.

[toc] | [prev] | [next] | [standalone]


#112563

From"Rick C. Hodgin" <rick.c.hodgin@gmail.com>
Date2017-06-19 06:13 -0700
Message-ID<8cc5fc90-d60f-450f-ad75-d8ee3ef0d956@googlegroups.com>
In reply to#112561
On Monday, June 19, 2017 at 9:10:04 AM UTC-4, Ben Bacarisse wrote:
> "Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:
> 
> > Rick C. Hodgin wrote:
> >> David Brown wrote:
> >> > [snip]
> >>
> >> Thank you for your input, David. I'll take it under advisement.
> >
> > I've considered this, and I think you're wrong, David.  C has the
> > ability to be an excellent teaching language.
> 
> What David said (in the post you replying to at least) is the you can't
> teach programming and C in /2 hours/ and you should make the course
> about C.

The class has always been about C.  But you can't teach C without
teaching some aspects of programming, as when you write code you
are creating a program.

I'll let you both know how it turns out.  And, you're welcome to
attend.  The class is free and open to all.  All you have to do is
hop the pond and show up.  I'll even buy you dinner out somewhere
if you do.  You can have some home-style cookin' American cuisine
at the Cracker Barrel or Bob Evans. :-)

Thank you,
Rick C. Hodgin

[toc] | [prev] | [next] | [standalone]


#112583

FromBen Bacarisse <ben.usenet@bsb.me.uk>
Date2017-06-19 17:05 +0100
Message-ID<87bmpkdkti.fsf@bsb.me.uk>
In reply to#112563
"Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:

> On Monday, June 19, 2017 at 9:10:04 AM UTC-4, Ben Bacarisse wrote:
>> "Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:
>> 
>> > Rick C. Hodgin wrote:
>> >> David Brown wrote:
>> >> > [snip]
>> >>
>> >> Thank you for your input, David. I'll take it under advisement.
>> >
>> > I've considered this, and I think you're wrong, David.  C has the
>> > ability to be an excellent teaching language.
>> 
>> What David said (in the post you replying to at least) is the you can't
>> teach programming and C in /2 hours/ and you should make the course
>> about C.
>
> The class has always been about C.

Yes.  Why did you cut that part where I say that myself?  I said it
twice -- once here and once in a longer post where I acknowledge that
it's about C and not about programming.

> But you can't teach C without
> teaching some aspects of programming, as when you write code you
> are creating a program.

Only if you take "some aspects of programming" absurdly literally.  You
can say a lot about C's history, its design, its syntax and so on, and
never say one single interesting thing about programming.  Yes, the
"Hello world" program teaching people how to write a program, but that's
an absurd notion of what programming is.

<snip>
-- 
Ben.

[toc] | [prev] | [next] | [standalone]


#112585

From"Rick C. Hodgin" <rick.c.hodgin@gmail.com>
Date2017-06-19 09:15 -0700
Message-ID<f30f8993-cffe-4ed3-ae19-58917e88ac84@googlegroups.com>
In reply to#112583
On Monday, June 19, 2017 at 12:05:53 PM UTC-4, Ben Bacarisse wrote:
> [snip]

I love you, Ben.  And I thank you for reaching out to improve my C
class for the students, and also my understanding of things in this
world.  I'm flattered that you care enough about me to take time away
from your daily activities.  It means something to me, and I truly do
appreciate it.

Thank you,
Rick C. Hodgin

[toc] | [prev] | [next] | [standalone]


#112816

From"Chris M. Thomasson" <invalid@invalid.invalid>
Date2017-06-21 13:30 -0700
Message-ID<oiekpf$ubf$1@dont-email.me>
In reply to#112585
On 6/19/2017 9:15 AM, Rick C. Hodgin wrote:
> On Monday, June 19, 2017 at 12:05:53 PM UTC-4, Ben Bacarisse wrote:
>> [snip]
> 
> I love you, Ben.  And I thank you for reaching out to improve my C
> class for the students, and also my understanding of things in this
> world.  I'm flattered that you care enough about me to take time away
> from your daily activities.  It means something to me, and I truly do
> appreciate it.

Fwiw, I think Ben Bacarisse is very smart and he has helped me out as well.

I thank him from the bottom of my heart!

:^)

[toc] | [prev] | [next] | [standalone]


#112818

From"Rick C. Hodgin" <rick.c.hodgin@gmail.com>
Date2017-06-21 14:29 -0700
Message-ID<47620b7c-6998-4b67-87f8-6111e9a8d678@googlegroups.com>
In reply to#112816
On Wednesday, June 21, 2017 at 4:30:11 PM UTC-4, Chris M. Thomasson wrote:
> On 6/19/2017 9:15 AM, Rick C. Hodgin wrote:
> > On Monday, June 19, 2017 at 12:05:53 PM UTC-4, Ben Bacarisse wrote:
> >> [snip]
> > 
> > I love you, Ben.  And I thank you for reaching out to improve my C
> > class for the students, and also my understanding of things in this
> > world.  I'm flattered that you care enough about me to take time away
> > from your daily activities.  It means something to me, and I truly do
> > appreciate it.
> 
> Fwiw, I think Ben Bacarisse is very smart and he has helped me out as well.

He is literally one of the people I would call upon when I needed
truly expert C advice.  And I mean that sincerely.

> I thank him from the bottom of my heart!

He's good people here in the C community, and I admire him in that
capacity.

Thank you,
Rick C. Hodgin

[toc] | [prev] | [next] | [standalone]


#113206

FromRichard Damon <Richard@Damon-Family.org>
Date2017-06-30 10:15 -0400
Message-ID<y2t5B.88747$d31.67743@fx36.iad>
In reply to#112563
On 6/19/17 9:13 AM, Rick C. Hodgin wrote:
> On Monday, June 19, 2017 at 9:10:04 AM UTC-4, Ben Bacarisse wrote:
>> "Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:
>>
>>> Rick C. Hodgin wrote:
>>>> David Brown wrote:
>>>>> [snip]
>>>>
>>>> Thank you for your input, David. I'll take it under advisement.
>>>
>>> I've considered this, and I think you're wrong, David.  C has the
>>> ability to be an excellent teaching language.
>>
>> What David said (in the post you replying to at least) is the you can't
>> teach programming and C in /2 hours/ and you should make the course
>> about C.
> 
> The class has always been about C.  But you can't teach C without
> teaching some aspects of programming, as when you write code you
> are creating a program.
> 
> I'll let you both know how it turns out.  And, you're welcome to
> attend.  The class is free and open to all.  All you have to do is
> hop the pond and show up.  I'll even buy you dinner out somewhere
> if you do.  You can have some home-style cookin' American cuisine
> at the Cracker Barrel or Bob Evans. :-)
> 
> Thank you,
> Rick C. Hodgin
> 


I will have to say that from the discussion, I am still not clear if 
this class on programming in C is going to be a class on *programming* 
in C, or a class on programming in *C*

The first would focus on the basics of programming, using C as an 
example language, while the second would assume the students already 
know the basics of programming (likely in some other language) and would 
be teaching them how to do these basics in C. In a 2 hours course, 
neither is going to be a very in depth lesson.

One thing to remember is that these sort of course are typically a full 
semester long if the goal is to reach any sort of competence, so make 
sure you (and your students) have a realistic expectation of what can be 
accomplished in 2 hours, especially if (when) you find that your class 
has people with differing levels of background experience. Also, you 
will find a wide variation in basic aptitude for this task.

[toc] | [prev] | [next] | [standalone]


#113207

From"Rick C. Hodgin" <rick.c.hodgin@gmail.com>
Date2017-06-30 07:33 -0700
Message-ID<2a09f3fe-36c9-4bb9-95fe-61b0e9f5f248@googlegroups.com>
In reply to#113206
On Friday, June 30, 2017 at 10:16:17 AM UTC-4, Richard Damon wrote:
> On 6/19/17 9:13 AM, Rick C. Hodgin wrote:
> > On Monday, June 19, 2017 at 9:10:04 AM UTC-4, Ben Bacarisse wrote:
> >> "Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:
> >>
> >>> Rick C. Hodgin wrote:
> >>>> David Brown wrote:
> >>>>> [snip]
> >>>>
> >>>> Thank you for your input, David. I'll take it under advisement.
> >>>
> >>> I've considered this, and I think you're wrong, David.  C has the
> >>> ability to be an excellent teaching language.
> >>
> >> What David said (in the post you replying to at least) is the you can't
> >> teach programming and C in /2 hours/ and you should make the course
> >> about C.
> > 
> > The class has always been about C.  But you can't teach C without
> > teaching some aspects of programming, as when you write code you
> > are creating a program.
> > 
> > I'll let you both know how it turns out.  And, you're welcome to
> > attend.  The class is free and open to all.  All you have to do is
> > hop the pond and show up.  I'll even buy you dinner out somewhere
> > if you do.  You can have some home-style cookin' American cuisine
> > at the Cracker Barrel or Bob Evans. :-)
> > 
> > Thank you,
> > Rick C. Hodgin
> > 
> 
> 
> I will have to say that from the discussion, I am still not clear if 
> this class on programming in C is going to be a class on *programming* 
> in C, or a class on programming in *C*

I still have completed the PowerPoint presentation, so they still
haven't approved the class.  But, I'm taking this approach:

There are some mechanics involved in how we access data through C.
Those mechanics are syntax atop real concepts which exist.  I'm going
to try to teach the concepts in ways people can relate to everyday
things, and then add the syntax on top and say, "In order to do this
thing you already know, you do it this way."  And then repeat the
same for each concept.

There are only about 20 things you need to know in C in order to
basically know everything about the language conceptually.  The rest
is just learning the mechanics of how to do it, but if I can provide
people with 20 base slides for those concepts, the mechanics can be
copied from the examples which follow.

> The first would focus on the basics of programming, using C as an 
> example language, while the second would assume the students already 
> know the basics of programming (likely in some other language) and would 
> be teaching them how to do these basics in C. In a 2 hours course, 
> neither is going to be a very in depth lesson.
> 
> One thing to remember is that these sort of course are typically a full 
> semester long if the goal is to reach any sort of competence, so make 
> sure you (and your students) have a realistic expectation of what can be 
> accomplished in 2 hours, especially if (when) you find that your class 
> has people with differing levels of background experience. Also, you 
> will find a wide variation in basic aptitude for this task.

My goals aren't to teach what I can and then leave them hanging if it
doesn't work out.  I'm in it for hte proper instruction.  My goal is
to convey real knowledge and to get people up to speed.

I'll tell each of them that if this doesn't work out then we can
schedule additional classes to continue going over the material in
the first class session's "syllabus."

I also incorporate some "Overtime" in the schedule, so that I can
remain and discuss any issues with any students who wish to know
more, or to understand more clearly what I went over.

They'll also have additional material provided for in the class which
will guide them through more traditional teachings of the mechanics
of C.

Thank you,
Rick C. Hodgin

[toc] | [prev] | [next] | [standalone]


#112538

FromDavid Brown <david.brown@hesbynett.no>
Date2017-06-19 11:28 +0200
Message-ID<oi858u$35j$1@dont-email.me>
In reply to#112513
On 19/06/17 01:28, Lew Pitcher wrote:
> GOTHIER Nathan wrote:
> 
>> On Sun, 18 Jun 2017 15:15:38 +0200
>> David Brown <david.brown@hesbynett.no> wrote:
>>
>>> My first thought is are you introducing C to programmers, or are you
>>> introducing non-programmers to programming?  If these folks are already
>>> familiar with programming, then what is they background?  And if they
>>> are not programmers, then C is almost certainly the wrong programming
>>> language to be using for newbies - and /absolutely/ the wrong choice if
>>> you want to teach it in 2 hours while leaving anyone with an impression
>>> other than "that's way too complicated for me".
>>
>> I don't think you need to learn how to ride a bicycle before driving a
>> car...
> 
> But you do need to learn how to fly an airplane before flying a helicopter.
> 
>> Once more, most people prefer to use car rather than a bike to go to work.
> 
> And most people prefer to use a parachute instead of a parasol when they 
> skydive.
> 
> See, I can trade non-sequiturs with you all day? Isn't this fun?
> 
> But, back to the point.
> 
> I agree with David that it takes a distinctly different style and content to 
> teach the rudiments of programming to those who do not yet program than it 
> does to teach the rudiments of C programming to those who program in other 
> languages. The process of programming, to me, does not depend on the 
> language as much as it depends on a mindset.
> 
> When discussing the teaching of programming (as opposed to the teaching of a 
> specific programming language), I like to paraphrase a line from "The Paper 
> Chase": "You teach yourselves the computer language, but I train your minds. 
> You come in here with a skull full of mush; you leave thinking like a 
> programmer." 
> 
> Once you have the mindset, the language is usually trivial to learn.
> 
> But, I also disagree with David, in that I think that C is /not/ "the wrong 
> programming language" to teach newbies. C is simple enough that most of it's 
> features are straight-forward for a newbie, but complex enough to permit 
> those who "catch on" to exercise their new-found talents. Perhaps David has 
> other, simpler, languages in mind when he makes his assertion. I hope that 
> he doesn't think that languages like C++, C#, GO, Rust, Java, and the like 
> are better suited to the task.
> 

Context is important when choosing a language for a course - if the
course is in embedded programming rather than general programming, then
C would be a good choice.  For general programming, I think it is a poor
choice for four reasons.  One is that is the edit-compile-run-debug
cycle - it is fine for real development, but slows down the learning
process.  An interpreted and interactive language is going to give much
more immediate feedback, and let students feel they are getting
somewhere faster.  Second, the string handling in C is primitive at
best.  Beginners will achieve far more if they can use real strings.
Third, resource management is all manual in C - a garbage collected
language means you don't have to worry about that at the beginning
(though you /definitely/ want to treat resource management seriously
later in a course).  Fourth, you need a good deal of boiler plate to get
anything interesting done.

That is why my choice for a beginners language is usually Python.  Other
good getting-started languages are Logo (a bit long in the tooth, but
still solid), Scratch (especially for younger folks), and perhaps Lua
(perhaps embedded in Minecraft - a good motivator for teenagers).
Javascript is also a possibility combined with HTML - you can quickly
get on the road to doing something /useful/.

For beginners, motivation and interest are usually the key factors to
consider - not what language might be useful for professional work in
the future.

It is different for serious would-be programmers aiming to train for
careers as developers.  Then you cover a range of programming languages.
 As Jerry suggested, pseudo languages on the blackboard are your choice
for the first course.  Functional programming languages are also good -
they let you focus on being sure your code is /correct/, and looking at
algorithms.  Later, more practical real-world languages can be covered -
including C - when you already understand programming.

I'd avoid C++, C# and Java as being too big and overwhelming.  I'd avoid
Rust and GO simply because I don't know enough of them to be able to judge.


> just my two cents (Canadian)
> 

Two Norwegian øre are worth even less :-)

[toc] | [prev] | [next] | [standalone]


#112517

From"Chris M. Thomasson" <invalid@invalid.invalid>
Date2017-06-18 16:42 -0700
Message-ID<oi72tv$2pt$2@dont-email.me>
In reply to#112510
On 6/18/2017 4:05 PM, GOTHIER Nathan wrote:
> On Sun, 18 Jun 2017 15:15:38 +0200
> David Brown <david.brown@hesbynett.no> wrote:
> 
>> My first thought is are you introducing C to programmers, or are you
>> introducing non-programmers to programming?  If these folks are already
>> familiar with programming, then what is they background?  And if they
>> are not programmers, then C is almost certainly the wrong programming
>> language to be using for newbies - and /absolutely/ the wrong choice if
>> you want to teach it in 2 hours while leaving anyone with an impression
>> other than "that's way too complicated for me".
> 
> I don't think you need to learn how to ride a bicycle before driving a car...
> 
> Once more, most people prefer to use car rather than a bike to go to work.
> 

In a sense, I guess that just might depend on how far their work is from 
home and if their body is in good working order, so to speak...

;^)

[toc] | [prev] | [next] | [standalone]


#112986

Fromraltbos@xs4all.nl (Richard Bos)
Date2017-06-26 06:04 +0000
Message-ID<5950a3d9.945953@news.xs4all.nl>
In reply to#112510
GOTHIER Nathan <nathan.gothier@gmail.com> wrote:

> On Sun, 18 Jun 2017 15:15:38 +0200
> David Brown <david.brown@hesbynett.no> wrote:
> 
> > My first thought is are you introducing C to programmers, or are you 
> > introducing non-programmers to programming?  If these folks are already 
> > familiar with programming, then what is they background?  And if they 
> > are not programmers, then C is almost certainly the wrong programming 
> > language to be using for newbies - and /absolutely/ the wrong choice if 
> > you want to teach it in 2 hours while leaving anyone with an impression 
> > other than "that's way too complicated for me".
> 
> I don't think you need to learn how to ride a bicycle before driving a car...
> 
> Once more, most people prefer to use car rather than a bike to go to work.

Not in civilised countries!

Richard, Dutchman and bicycle commuter

[toc] | [prev] | [next] | [standalone]


#113003

FromDavid Kleinecke <dkleinecke@gmail.com>
Date2017-06-26 09:15 -0700
Message-ID<83ace8ba-d84d-42f0-8ab8-778f9580269a@googlegroups.com>
In reply to#112986
On Sunday, June 25, 2017 at 11:04:44 PM UTC-7, Richard Bos wrote:
> GOTHIER Nathan <nathan.gothier@gmail.com> wrote:
> 
> > On Sun, 18 Jun 2017 15:15:38 +0200
> > David Brown <david.brown@hesbynett.no> wrote:
> > 
> > > My first thought is are you introducing C to programmers, or are you 
> > > introducing non-programmers to programming?  If these folks are already 
> > > familiar with programming, then what is they background?  And if they 
> > > are not programmers, then C is almost certainly the wrong programming 
> > > language to be using for newbies - and /absolutely/ the wrong choice if 
> > > you want to teach it in 2 hours while leaving anyone with an impression 
> > > other than "that's way too complicated for me".
> > 
> > I don't think you need to learn how to ride a bicycle before driving a car...
> > 
> > Once more, most people prefer to use car rather than a bike to go to work.
> 
> Not in civilised countries!

Nor even in third world countries like the US. But usually
survival requires a car.

[toc] | [prev] | [next] | [standalone]


#112519

Fromjoel.rees@gmail.com
Date2017-06-18 17:35 -0700
Message-ID<9a9f871c-247b-43f4-b372-e7edb84cb706@googlegroups.com>
In reply to#112377
I'd been avoiding this.

On Saturday, June 17, 2017 at 9:36:50 AM UTC+9, Rick C. Hodgin wrote:
> I'm interested in teaching a beginning C class to a group of about ten
> students ranging in age from teenager through sixty years old.

Are they really interested in learning C?

Are the even really interested in learning anything more than how to 
access the internet?

I tried to teach my son C. Then I went with Perl. Then with bc. Perl is
now his favorite language, in his senior year at college studying to be 
a network application developer. Perl was useful when he wanted to 
extend a 3 Chinese Kingdoms-themed on-line war strategy game.

His major is a bit broader than that, but that is what he settled on, and 
now he is finally beginning to understand C (and C++ is getting that all 
confused again). Still doesn't really understand the need for something 
like bc.

Tried to teach my daughter bc, thinking it would be just showing her how 
to use a fancier calculator than the math class she had at school was 
teaching (It was jr. high, I think, maybe 5th or 6th grade elementary?)

For a while, I could pay her to follow along with me and work out some 
simple problems, but now she doesn't want to do even that. Drawing pictures 
is more fun. (Some day I have to get blender up to show her.)

> It will be two hours, and I was wondering if any of you would like to
> contribute some ideas for an outline for a class like that?

In two hours, I would teach either bc or Forth. Ideally, Forth, but 
this world is not a world for ideals. 

Maybe Python or Ruby, depending on, you know, just the feeling of the 
class. Anyway, I'd prepare some simple do-this-and-get-results exercises 
at a level they wouldn't have to reach for.

Graphics? That's another possibility. Since using perl as a calculator 
is rather arcane, maybe Tcl-Tk or Python with a widget library, so you 
can show them how some simple repeated calculations can produce a graph.

Geogebra or the thing that was a fork of also might be interesting.

But if they really are specifically interested in C, ...

> My initial thinking is:
> 
>     Brief history of C

Handout with your summary, pointers to websites, and the name and ISBN 
of K&R. Warn them to avoid the "for Dummies" books, at any rate.

>     C's impact on computer languages

Skip that. Maybe mention that the entire current industry runs on stuff 
built on C and LISP, with a lot of influence from Forth and Algol, but 
leave them to find out for themselves. Just like the history stuff.

>     The build process (high level)

Don't even mention that until the very end when you show them a very 
simple Makefile and explain that it "helps when you have so much 
source code it won't fit in a single file."

>     Basic structure of a C source file

Don't explain, just show them clean code.

>     Header files and the C Standard Library

Show them clean code first, mention that library routines allow you 
to use useful stuff that others have built, mention that even printf() 
and company are actually library, not C. Put a little more detail in a 
handout.

>     Edit our first "Hello world" program

Show it. Don't take time to edit it. Don't explain why main() takes 
arguments and returns a value, but don't hide it, either.

>     Compiling

Say, I'm compiling, don't explain.

>     Linking

Same as with compiling.

>     Running

Show them the results and ask them how useful they think that is.

This is where you put the time in. Let them come up with ideas for 
what they want the computer to output. Be prepared for some things 
like calculating the value of pi (probably use arctangent of 1 to 
keep it quick, while mentioning that there are other ways which 
yield much more accuracy), the time of day, conversion from Fahrenheit 
Celsius or miles to kilometers or shoe sizes to actual length of 
the feet. Maybe a recipe doubler for pancakes.

>     Debugging

Once you have something one of them ostensibly suggested (with maybe 
a little help from you), you're not likely to get it right the first 
time coding on your feet. If you're lucky and get it right, apologize 
for getting it right and deliberately introduce a bug.

>     Language basics (types, macros, flow)

Point them out, mention that characters are integers and text is a 
bunch of characters string together in strings.

>     Language features (structs, output targets)

Show them a prepared example, don't spend too much time on it, unless 
it happens to be part of the example you helped them pick.

> I would give them a free / open source integrated C compiler with
> built-in editor and debugger to run on Windows.

Cygwin, I assume?

>  I would take them
> through the basic philosophy of "Why C?" and "How C?"

Demonstrate with your example above, do not really take too much time
with it. This is most definitely stuff they need to figure out on 
their own.

Most of the time will have been already taken by the example anyway, 
and that's the way it should be.

Everything else is beyond introductory.

> I would appreciate any input or guidance.
> 
> Thank you,
> Rick C. Hodgin

FWIW. 

(This is the way the best teachers I have worked with do things.
Unfortunately, I don't always remember to do it this way.)

--
Joel Rees

Ranting randomly:
http://reiisi.blogspot.com

[toc] | [prev] | [next] | [standalone]


#112559

FromLeon Taylor <leontaylor476@gmail.com>
Date2017-06-19 05:59 -0700
Message-ID<cae292f5-e1c3-4855-9fa4-dee9434b8a74@googlegroups.com>
In reply to#112377
On Saturday, June 17, 2017 at 10:36:50 AM UTC+10, Rick C. Hodgin wrote:

> My initial thinking is:
> 
>     Brief history of C
>     C's impact on computer languages
>     The build process (high level)
>     Basic structure of a C source file
>     Header files and the C Standard Library
>     Edit our first "Hello world" program
>     Compiling
>     Linking
>     Running
>     Debugging
>     Language basics (types, macros, flow)
>     Language features (structs, output targets)

>  HAVE YOU CONSIDERED JESUS AS YOUR SAVIOUR?!?! IT ALL STARTED IN 2003 WHEN...
>     aaaaaaaaaaaand we have run out of time...

[toc] | [prev] | [next] | [standalone]


#112575

Fromasetofsymbols@gmail.com
Date2017-06-19 07:53 -0700
Message-ID<84c0eda8-68e9-4822-b60d-7dbe3b62c5e5@googlegroups.com>
In reply to#112377
For the 2 hours i agree in

Edit our first "Hello world" program 
    Compiling 
    Linking 
    Running 
    Debugging

Each one with their PC compiler etc
explain what mean each word and doing
 other little program or
exercises for print something different using for example printf()
and its formats string as "%d"

For the remain theory of C
for people never program anything
theory could be a little difficult.

I think that first of theory there is some practice.

[toc] | [prev] | [next] | [standalone]


#112687

FromJohn Bode <jfbode1029@gmail.com>
Date2017-06-20 07:16 -0700
Message-ID<2aa7fd87-f680-4c6d-b5e4-89467491292b@googlegroups.com>
In reply to#112377
On Friday, June 16, 2017 at 7:36:50 PM UTC-5, Rick C. Hodgin wrote:
> I'm interested in teaching a beginning C class to a group of about ten
> students ranging in age from teenager through sixty years old.
> 
> It will be two hours, and I was wondering if any of you would like to
> contribute some ideas for an outline for a class like that?
> 
> My initial thinking is:
> 
>     Brief history of C
>     C's impact on computer languages
>     The build process (high level)
>     Basic structure of a C source file
>     Header files and the C Standard Library
>     Edit our first "Hello world" program
>     Compiling
>     Linking
>     Running
>     Debugging
>     Language basics (types, macros, flow)
>     Language features (structs, output targets)
> 
> I would give them a free / open source integrated C compiler with
> built-in editor and debugger to run on Windows.  I would take them
> through the basic philosophy of "Why C?" and "How C?"
> 
> I would appreciate any input or guidance.
> 

Is this a standalone class, or the first in a series of classes on C?  

Allowing time for questions and answers, you will realistically have 
between 5 to 7 minutes per topic listed above.  Personally, I wouldn't
try to do both an historical perspective and a practical programming
session in the same class.  If the intent is for them to write code, then
focus on that exclusively.  You don't have enough time for anything else.

[toc] | [prev] | [next] | [standalone]


#112688

From"Rick C. Hodgin" <rick.c.hodgin@gmail.com>
Date2017-06-20 07:45 -0700
Message-ID<c3ba5df1-76c2-4c11-a711-61455d1543fa@googlegroups.com>
In reply to#112687
On Tuesday, June 20, 2017 at 10:17:09 AM UTC-4, John Bode wrote:
> On Friday, June 16, 2017 at 7:36:50 PM UTC-5, Rick C. Hodgin wrote:
> > I'm interested in teaching a beginning C class to a group of about ten
> > students ranging in age from teenager through sixty years old.
> > 
> > It will be two hours, and I was wondering if any of you would like to
> > contribute some ideas for an outline for a class like that?
> > 
> > My initial thinking is:
> > 
> >     Brief history of C
> >     C's impact on computer languages
> >     The build process (high level)
> >     Basic structure of a C source file
> >     Header files and the C Standard Library
> >     Edit our first "Hello world" program
> >     Compiling
> >     Linking
> >     Running
> >     Debugging
> >     Language basics (types, macros, flow)
> >     Language features (structs, output targets)
> > 
> > I would give them a free / open source integrated C compiler with
> > built-in editor and debugger to run on Windows.  I would take them
> > through the basic philosophy of "Why C?" and "How C?"
> > 
> > I would appreciate any input or guidance.
> 
> Is this a standalone class, or the first in a series of classes on C?  
> 
> Allowing time for questions and answers, you will realistically have 
> between 5 to 7 minutes per topic listed above.  Personally, I wouldn't
> try to do both an historical perspective and a practical programming
> session in the same class.  If the intent is for them to write code, then
> focus on that exclusively.  You don't have enough time for anything else.

A lot of the background information covered will be in the form of
a sentence spoken, or a few sentences spoken.  It will be on a slide,
and they can refer back to it for additional detail.

My goals are to go over concepts related to C, without going into
great mechanics.  I plan to have three programs they can load and
run during the class.  These will already be written for them, and
we will just go through them together for information about their
design and function.

I also think I answered your questions.  Did you read through the
outline I posted above?  It has these parts:

    During this class students will learn: 
        A brief history of C and its impact on the software world 
        How to create and run a program 
        The key parts of a C program 
        The key types of C data 
---->   Where to go to learn more 

And:

    Wrap up (15 min) 
        Review of C's history and impact 
        Review general parts of a C program 
---->   Some info about what can be expected in the next class 
            Intermediate - Intro to C -- Session 1 of 2, time:  2 hours 
                Basic debugging 
                Detailed tour through C language features 
                    syntax variations 
                    struct, enums, unions, bit structs 
                    variadic parameters 
                    advanced flow control 
                    structured and unstructured 
---->       Intermediate - Intro to C -- Session 2 of 2, time:  2 hours 
                Advanced development 
                Advanced debugging 
                Overall philosophy of C as a language 
                Understanding by conceptualizing how C works 
                Understanding by thinking C through its features 
                Understanding by going at C front-to-back, back-to-front 
        Questions and Answers 

And:

---->Overtime (as needed) 
        Instructor will go over or extend any concepts students may 
            have missed 
        Instructor will answer any specific questions unrelated to 
            class material 

My goals are not to leave people hanging, but to give them the gist
of C and C's features, and then to be there as a resource they can
refer to for additional information.

The next two classes will go into more depth about C's nuances.

Thank you,
Rick C. Hodgin

[toc] | [prev] | [next] | [standalone]


Page 3 of 4 — ← Prev page 1 2 [3] 4  Next page →

Back to top | Article view | comp.lang.c


csiph-web