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-7-bit Path: g2news1.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Tue, 14 Oct 2008 16:17:50 +0200 From: Georg Bauhaus User-Agent: Thunderbird 2.0.0.17 (Macintosh/20080914) MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada for 1st year students References: <60e0c5f0-1e17-4add-b21e-b1ef622d5233@v13g2000pro.googlegroups.com> <6gj2s5-0f9.ln1@newserver.thecreems.com> <543356bc-7862-45d2-9004-dfef69deab26@79g2000hsk.googlegroups.com> <802648fb-608e-42de-b94a-9dd39b1e2b21@l62g2000hse.googlegroups.com> <48f22378$0$17124$9b4e6d93@newsspool2.arcor-online.net> <48f3694c$0$17130$9b4e6d93@newsspool2.arcor-online.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Message-ID: <48f4aa0f$0$16788$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 14 Oct 2008 16:17:51 CEST NNTP-Posting-Host: d524fa31.newsspool3.arcor-online.net X-Trace: DXC=0Xg6`M?lX=b9kIfcjg:0fdMcF=Q^Z^V3h4Fo<]lROoRa4nDHegD_]Re^LWiNkYIe6`;9OJDO8_SKfNSZ1n^B98ijS4ShPl?^^Db X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:2379 Date: 2008-10-14T16:17:51+02:00 List-Id: Colin Paul Gloster schrieb: > Perhaps it is possible to concentrate excessively on mathematics, but > would you disapprove of the following exercise from a textbook because > it requires a basic familiarity with things which are not computers? > "Suppose every student except student b passes their electronics > exam. Write the relevant Pascal program text for representing the set > of students who fail electronics." Those things being for example any > of a student; electronics; failure; and calling a student "b". This example shows two processes involved in problem solving: (1) Transporting the problem from its own domain to the computer abstraction. (2) Solving the programming problem. I'd suggest, then, that first the transport destination (computer) must become a familiar item. Can't expect anyone to operate unfamiliar, complex machinery... That is, students must know what a computer is in order to write programs. So instead of starting with algorithms involving students, examinations, eventualities, and other deceptively familiar things, introduce an array as an addressable sequence of memory cells. Have them contain bit patterns. Propose to solve the follosing problem: Find a particular pattern "b" in the array. I think there is a lot to learn from array searching. You need the very basics of programming. The advantage of starting with the computer and nothing else is that you do not loose focus. I think there is a famous paper entitled "An algorithm, Find." or similar. Of course, you can't find a programming solution to some real world problem without also knowing how to find abstractions. Later.