Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | JohnF <john@please.see.sig.for.email.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Recommendation for a text |
| Date | 2012-03-06 04:45 +0000 |
| Organization | PANIX Public Access Internet and UNIX, NYC |
| Message-ID | <jj44pt$fnd$1@reader1.panix.com> (permalink) |
| References | <17597176.384.1330953683846.JavaMail.geo-discussion-forums@ynca15> |
John Coleman <jcoleman@franciscan.edu> wrote: > Greetings, > > I teach math and computer science (though mostly math) > at a small liberal arts college. Because of our smallness > we don't have a huge course offering. To compensate, > we have a grab-bag "special topics course" where we cover > different topics each semester based on student's and/or > professor's interests. > > Next fall I will be running a special topics course with > the title "Modern C Programming". The motivation for the > course is that currently our CS students are exposed to C++, > Java and a smattering of other languages (e.g. Lisp in an > elective AI course) but no C per se. While in principle > they learn some C naturally in the course of learning C++ > they really don't learn all that much about things like > pointers, malloc, and the safe handling of C-style strings > and they definitely don't learn anything about C99. > The proposed class is intended to give a serious introduction > to C to students who have a working knowledge of either C++ > or Java. This will allow me to blow through the basic syntax > of expressions, loops, etc. in a couple of weeks and to spend > the bulk of the semester on aspects of C which are different > from Java and even C++. > > My question is - what would a good text be? My first tentative > choice was King's "C programming: a modern approach", but I have > also been looking at Kochan's book "Programming in C". More > recently I have been toying with the idea of using K&R. > On the one hand that seems on the face of it like a poor choice > for a course called *Modern* C programming. On the other hand - > it *is* a classic and seems to hit the right level of difficulty > (a course for students who already know at least one programming > language). My main question is - does the merits of K&R outweigh > the disadvantages of the lack of coverage of C99? I could of > course supplement K&R by e.g. O'Reilly's "C Pocket Reference" > which covers the C99 material. Where I'm at right now is that > my heart says to go with K&R but my head says go with King > (or Kochan). The bookstore wants a decision on my part sooner > rather than later. > > Also - I am open to ideas about projects for the students to work on. > One idea that I had was to concentrate on the Mandelbrot Set. > Towards the beginning of the semester they could have a program > which just prints to the command line e.g. with '*' for points > in the set. Later on they could write it to a portable bit map > text file. Even later they could write it to a .bmp file in which > they have to get the header and the byte-alignment correct. > Finally, I could have them rewrite it in C99 with e.g. the > complex-number type and variable-length arrays so they don't > have to hard-wire in the size of the bitmap. This topic of course > reflects my interest as a mathematician. I have less ideas when > it comes to straight computer-science applications (although > Jacob Navia's idea about a hex-dump utility for pedagogical > purposes caught my eye). > > Thanks in advance for any suggestions > -John Coleman Not really sure about what book might be better. Where are these students going next? I take it they're cs students learning (if you have your way:) a little math, rather than math students learning cs. Of course, real cs requires lots of math, but lots of cs curricula teach future programmers how to program, not cs per se. I think real cs students might gravitate more towards k&r; otherwise, maybe not. But you're the one who's there and knows them and knows the curriculum and available books. So you're the best (if not only) one to make the right call. As for Mandelbrot, that's a nice idea. But have them construct a memory-resident raster structure, nrowsxncols, along with a layer of output routines, the first being your printf, and later maybe bmp, etc. That way the underlying raster bitmap (or 3 bytemaps if you want color) structure is flexible for any future purpose. Plus, it teaches them a little more about structs. A straight printf program is a dead end vis-a-vis future output option enhancements. During a little recent downtime between contracts, I wrote http://www.forkosh.com/lineart.html based on that idea (see example=6 and =7 when they happen to scroll by for fractals), and also based on earlier http://www.forkosh.com/onedwaveeq.html which is an exercise trying to use gif animation as a visual teaching aid (I still haven't figured out how to use it really well, but am convinced there's a way, if I can find it). These programs use existing libraries to drive gif creation from the bytemap raster, and animated gifs using ImageMagick's convert via a system() call. So once they have a memory-resident raster, there's really lots of "cute" places they can go from there (e.g., besides the gifs, note the postscript output option on lineart). Plus, using library routines to get to some of those places helps teach them how to interface their own stuff with canned code, an important skill. -- John Forkosh ( mailto: j@f.com where j=john and f=forkosh )
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Recommendation for a text John Coleman <jcoleman@franciscan.edu> - 2012-03-05 05:21 -0800
Re: Recommendation for a text jacob navia <jacob@spamsink.net> - 2012-03-05 15:27 +0100
Re: Recommendation for a text Kleuske <kleuske@nowhere.net> - 2012-03-05 20:09 +0000
Re: Recommendation for a text John Coleman <jcoleman@franciscan.edu> - 2012-03-05 12:29 -0800
Re: Recommendation for a text ArifulHossain tuhin <etothepowerpi@gmail.com> - 2012-03-07 06:19 -0800
Re: Recommendation for a text John Coleman <jcoleman@franciscan.edu> - 2012-03-05 12:37 -0800
Re: Recommendation for a text "BartC" <bc@freeuk.com> - 2012-03-05 21:33 +0000
Re: Recommendation for a text John Coleman <jcoleman@franciscan.edu> - 2012-03-05 06:52 -0800
Re: Recommendation for a text Ian Collins <ian-news@hotmail.com> - 2012-03-06 10:50 +1300
Re: Recommendation for a text jgharston <jgh@arcade.demon.co.uk> - 2012-03-06 09:43 -0800
Re: Recommendation for a text China Blue Water Navy <chine.bleu@yahoo.com> - 2012-03-06 10:58 -0800
Re: Recommendation for a text nick_keighley_nospam@hotmail.com - 2012-03-07 01:38 -0800
Re: Recommendation for a text nick_keighley_nospam@hotmail.com - 2012-03-06 04:28 -0800
Re: Recommendation for a text Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-03-05 17:37 +0000
Re: Recommendation for a text Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-03-05 18:15 +0000
Re: Recommendation for a text Nomen Nescio <nobody@dizum.com> - 2012-03-05 20:15 +0100
Re: Recommendation for a text Ian Collins <ian-news@hotmail.com> - 2012-03-06 10:55 +1300
Re: Recommendation for a text Keith Thompson <kst-u@mib.org> - 2012-03-05 09:38 -0800
Re: Recommendation for a text Keith Thompson <kst-u@mib.org> - 2012-03-05 09:43 -0800
Re: Recommendation for a text John Coleman <jcoleman@franciscan.edu> - 2012-03-05 12:41 -0800
Re: Recommendation for a text ImpalerCore <jadill33@gmail.com> - 2012-03-05 14:09 -0800
Re: Recommendation for a text Hans Vlems <hvlems@freenet.de> - 2012-03-05 15:07 -0800
Re: Recommendation for a text Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-03-07 22:27 +0000
Re: Recommendation for a text JohnF <john@please.see.sig.for.email.com> - 2012-03-08 04:06 +0000
Re: Recommendation for a text Fritz Wuehler <fritz@spamexpire-201203.rodent.frell.theremailer.net> - 2012-03-08 13:09 +0100
Re: Recommendation for a text Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-03-10 08:23 +0000
Re: Recommendation for a text Gene <gene.ressler@gmail.com> - 2012-03-05 18:53 -0800
Re: Recommendation for a text JohnF <john@please.see.sig.for.email.com> - 2012-03-06 04:45 +0000
Re: Recommendation for a text Luca Forlizzi <luca.forlizzi@gmail.com> - 2012-03-06 00:11 -0800
Re: Recommendation for a text "io_x" <a@b.c.invalid> - 2012-03-13 13:09 +0100
Re: Recommendation for a text "io_x" <a@b.c.invalid> - 2012-03-13 13:20 +0100
Re: Recommendation for a text jgk@panix.com (Joe keane) - 2012-03-06 15:29 +0000
Re: Recommendation for a text Kaz Kylheku <kaz@kylheku.com> - 2012-03-06 19:44 +0000
Re: Recommendation for a text "Charles Richmond" <netnews@aquaporin4.com> - 2012-03-06 14:03 -0600
Re: Recommendation for a text jgk@panix.com (Joe keane) - 2012-03-06 20:07 +0000
Re: Recommendation for a text Patrick Scheible <kkt@zipcon.net> - 2012-03-06 15:53 -0800
Re: Recommendation for a text Kaz Kylheku <kaz@kylheku.com> - 2012-03-07 05:39 +0000
Re: Recommendation for a text Patrick Scheible <kkt@zipcon.net> - 2012-03-07 09:54 -0800
Re: Recommendation for a text Ian Collins <ian-news@hotmail.com> - 2012-03-07 20:33 +1300
Re: Recommendation for a text Fritz Wuehler <fritz@spamexpire-201203.rodent.frell.theremailer.net> - 2012-03-07 10:29 +0100
Re: Recommendation for a text Keith Thompson <kst-u@mib.org> - 2012-03-07 11:12 -0800
Re: Recommendation for a text Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-03-07 12:24 -0800
csiph-web