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


Groups > comp.lang.c > #112421

Re: Help creating a C class

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Help creating a C class
Date 2017-06-18 02:31 +0100
Organization A noiseless patient Spider
Message-ID <87o9tm3wu5.fsf@bsb.me.uk> (permalink)
References <f63da28b-5e80-4a02-bfa3-f8f68708ad8d@googlegroups.com> <21605b9b-f320-4598-94ab-d0725ef16f73@googlegroups.com>

Show all headers | View raw


"Rick C. Hodgin" <rick.c.hodgin@gmail.com> writes:
<snip>
> Here's what I've decided on for an outline:
>
> -----[ Begin ]-----
> Overview
>
>     For those with some programming experience, but a total C newbie, or
>     very limited C experience.
>
>     Learn the most powerful general purpose computer programming language
>     ever created:  C

Is that an interesting claim?  It's probably irrefutable since no one
but you will know what you mean by "powerful", but that also makes it a
hermetic claim of little value to anyone but you.  It sounds good, but
will anyone know what it really means?

There are lots of way to promote C, but that claim isn't one of them.

>     Invented in the early 1970s by Dennis Ritchie as a formal step above
>     early language chaos, and above the rigors of assembly language, C
>     quickly became popular as a way to easily translate human thought into
>     powerful machine expression.

Obviously you will think I'm just being mean, but the first part of that
is technically wrong and the second is mumbo-jumbo.  C was invented to
provide a simple systems programming language for small byte-addressed
machines.  It was a step up from B (and by implication BCPL), not from
language chaos.  The "rigors of assembly" were nothing to do with it.
Assembly was rejected because they wanted a portable systems programming
language.  All this is documented in DMR's own writings.

It did indeed become popular, but as a way of writing programs, not as a
way to translate human though into powerful machine expression.  (I can't
even imagine what that means.)

If you want to say something substantive you could say that it became
popular because it was the right size at the right time.  It rode both
the wave that was the growth microprocessors and the wave that was
growth if Unix (and successors).

<snip>
>     to one in the lab.  * Note:  Please contact Cyberia in advance if you
>     don’t have one and need to use theirs.

Is that anything to do with http://www.cyberiaeducation.org/ ?

<snip>
>     Simple program to ask user their name, receive keyboard input, and
>         display it backwards.
>     Simple program to input two numbers, do some math, and display the
>         results.

I abandoned input-based first exercises because C is not good in this
area (for beginners).  You end up with bad examples that you (or someone
else) then has to un-teach, or you end up writing way more code than a
simple example should have.  There may be a "sweet spot" that is useful
for beginners, but I never found it.  It would be interesting to see
what you suggest the students do here.

> -----
> Class Outline
>
>     Introduction (10 min)
>         Overview of programming languages in general
>             Computer history and quickly evolving tools inearly days
>                 Hardware
>                 Software
>         Why have programming languages?  Why not just machine assembly?
>         Why so many different programming languages?
>             Early programming languages, and the B programming language
>             Why a change was needed (and inevitable)

Now that's much closer to the actual history of C (if the questions you
pose are answered with historical accuracy).

<snip>
>     Philosophy of "Why C and not something else?" (10 min)
>         Instructor asks why are you here?
>             C is such a low level language.
>             It takes a lot of effort to write code, so:
>                 Why would anyone ever want to use it?
>                 What are the rewards?
>         Instructor answers, because C is:
>             Close to the machine's native language, and human speak
>             Very powerful expression of thought on data (you can do
>                 anything in C)

I think you know that I disagree with that.

<snip>
>     The Key Parts of a C Program (75 min)
>         Examine our HelloWorld project
>             Explain int main(int argc, char* argv[])

Can't you omit argc and argv in the first examples?

<snip>
>     Header files and the C Standard Library
>         Why header files?
>         ANSI C and cross-platform compatibility

Is ANSI really relevant anymore?  I'd call is ISO C.  Even the first
ANSI C is and ISO standard.

<snip>
> Any notes are appreciated.

I thought you might be addressing programming, but it's clearly a
language course.  Nothing wrong with that, but not my preferred emphasis
for people with little experience.

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

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

csiph-web