Xref: utzoo comp.lang.c:26553 comp.edu:3041 Path: utzoo!censor!geac!torsqnt!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!leah!bingvaxu!cjoslyn From: cjoslyn@bingvaxu.cc.binghamton.edu (Cliff Joslyn) Newsgroups: comp.lang.c,comp.edu Subject: Re: Comments on new Kelley and Pohl /A Book on C/, other C teaching stuff Message-ID: <3090@bingvaxu.cc.binghamton.edu> Date: 4 Mar 90 17:56:36 GMT References: <3087@bingvaxu.cc.binghamton.edu> <1486@amethyst.math.arizona.edu> Reply-To: cjoslyn@bingvaxu.cc.binghamton.edu.cc.binghamton.edu (Cliff Joslyn) Organization: SUNY Binghamton, NY Lines: 48 In article <1486@amethyst.math.arizona.edu> raw@math.arizona.edu (Rich Walters) writes: >The answers, IMHO, depend on the experience of your students. Is this a >beginners class? Are they required to know another language(ie Pascal) before >entering this class? Yes, I should have been better at giving the context. These are adult undergraduates (second semester freshpeople) with a preliminary course in Pascal. My course is one semester only, required, and intended to get the language and good programming practices into their heads. Later in the program, they will use C for database and OS/compiler implimentation. >Assuming your students are complete novices, the following may be useful: > > control structures > sub-programs (ie functions ,subroutines ) > arrays > structures > unions (briefly) > pointers > special stuff (ie macros, defines, cpp goodies) This is basically what I'm doing, except I moved macros and defines before arrays (perhaps a mistake). What I really think is useful now is to combine arrays and pointers. There are advantages and disadvantages both ways, but it's real confusing when I say "don't pass arrays, they don't pass by value! Here in this call to printf( "%s\n", str ); I'm violating my own edict against passing arrays, but we have to." >Again, this depends on the knowledge of your students. If they are rank >beginners, you all almost forced to introduce "potentially dangerous features" >if they are to accomplish anything. Your example of scanf() is good. If you >go into a lot of detail about pointers (include files,preprocessor) too early >you may (IMHO _will_) confuse a good portion of your students and they will >lose time attempting to grasp this concept while they could be profitably >learning more basic concepts. Yes, this is just what I've found this semester. O-------------------------------------------------------------------------> | Cliff Joslyn, Cybernetician at Large, cjoslyn@bingvaxu.cc.binghamton.edu | Systems Science, SUNY Binghamton, Box 1070, Binghamton NY 13901, USA V All the world is biscuit shaped. . . -- O-------------------------------------------------------------------------> | Cliff Joslyn, Cybernetician at Large, cjoslyn@bingvaxu.cc.binghamton.edu | Systems Science, SUNY Binghamton, Box 1070, Binghamton NY 13901, USA V All the world is biscuit shaped. . .