From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,fef3ad775ef4b0b7 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!34g2000hsh.googlegroups.com!not-for-mail From: John McCormick Newsgroups: comp.lang.ada Subject: Re: Ada for 1st year students Date: Sat, 11 Oct 2008 05:54:50 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <60e0c5f0-1e17-4add-b21e-b1ef622d5233@v13g2000pro.googlegroups.com> <6gj2s5-0f9.ln1@newserver.thecreems.com> <543356bc-7862-45d2-9004-dfef69deab26@79g2000hsk.googlegroups.com> NNTP-Posting-Host: 67.212.104.239 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1223729690 30387 127.0.0.1 (11 Oct 2008 12:54:50 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 11 Oct 2008 12:54:50 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 34g2000hsh.googlegroups.com; posting-host=67.212.104.239; posting-account=jVm7MAoAAABZ69ylB7L9PjZAVQg4j4fC User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe) Xref: g2news2.google.com comp.lang.ada:8050 Date: 2008-10-11T05:54:50-07:00 List-Id: On Oct 10, 5:04=A0am, amado.al...@gmail.com wrote: > On 10 Out, 02:15, Jeffrey Creem wrote: > > >http://www.amazon.com/PLUS-DATA-STRUCTURES-Nell-Dale/dp/0763737941 > > > It tends to be geared more toward a beginner student than some of the > > other books that were suggested. > > Thanks, but too off the mark, viz. too expensive (100US$) and too OO. I've been teaching the first year courses since 1978 and have been using Ada in them since 1990. I've written Ada textbooks for these courses. I have some strong opinions in these matters. I'm surprised you find Ada Plus Data Structures too Object-Oriented. I feel that the John English book is far more Object-Oriented. I recommend the English book to those who want to teach a beginning course with the objects early approach. Ada Plus Data Structures takes the traditional abstract data type approach but uses the OO terminology. The only use of inheritance in the book is with controlled types in the prevention of memory leaks in pointer based collection classes. However, Ada Plus Data Structures was not written for beginners. It is meant for the second course (CS2). For the first course (CS1), I feel strongly that the textbook should emphasize top down design through procedural abstraction. Beginners need to learn the fundamental control structures (decision, iteration, and subprogram) and fundamental data structures (the Ada type system). I feel that it is important that they see sizable examples in the form of case studies. I am VERY wary of teaching GUI programming to beginners. They put enormous amounts of time into playing with fonts, colors, etc at the expense of learning basic programming. Too many students come out of GUI based CS1 courses with no ability to write decent if and loop statements. But they sure can draw pretty windows. :-) I prefer to keep the I/O as basic as possible and concentrate on the fundamentals of algorithm design and implementation. Two textbooks that embrace this philosophy are Programming and Problem Solving with Ada 95 by Dale, Weems, and McCormick (I am obviously highly biased toward this book) Ada 95: Problem Solving and Program Design by Feldman and Koffman Note the emphasis on problem solving in each of these titles. Don't go by the US Amazon for the prices. I know that my publisher prices my books lower in Spain, so they probably do the same in Portugal. Check with your book store. There is also a decent supply of used copies available. I like to schedule what CS educators call "closed labs". These are like the labs you had in your chemistry and physics courses. In the lab, students get practice with the concepts discussed in lecture. They solve small problems with an instructor nearby to assist. Research at the University of Texas at Austin indicates positive results with closed labs. I give my students a Pre-Lab exercise to complete before the lab session, the In-Lab exercise, and then a Post- Lab exercise (programming assignment) that gives them a more challenging problem to solve. I would be happy to share these laboratory materials. Of course, they are closely tied to my textbook In terms of tools, you are on the right track with GNAT through the GAP program. I agree with others that GPS is too much for beginners. My favorite IDE, AdaGIDE, has been mentioned. It is about as basic as you can get. No one has mentioned my second favorite simple IDE, jGRASP which is available for multiple platforms. jGRASP's control structure diagrams are viewed favorably by many educators. Find it at http://www.jgrasp.org/