Re: Intro to Programming w/ Machine Language
From: pH (high_at_cidity.level)
Date: 02/15/05
- Next message: Randall Hyde: "Re: Intro to Programming w/ Machine Language"
- Previous message: Duane Arnold: "Re: simple web programming options"
- In reply to: Brian Harvey: "Re: Intro to Programming w/ Machine Language"
- Next in thread: Programmer Dude: "Re: Intro to Programming w/ Machine Language"
- Reply:(deleted message) Programmer Dude: "Re: Intro to Programming w/ Machine Language"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 14 Feb 2005 22:38:57 -0500
On Mon, 14 Feb 2005 21:29:35 +0000 (UTC), bh@abbenay.CS.Berkeley.EDU (Brian
Harvey) wrote:
[...]
>At Berkeley our curriculum is organized on this principle. Our
>first course is the (Scheme-based) Abelson and Sussman _Structure
>and Interpretation of Computer Programs_, a high-level introduction
>to programming paradigms such as functional programming and
>object-oriented programming. Our second course, data structures,
>is taught in Java, a medium-level language (it's high level in that
>it has automatic memory allocation, but low level in that the
>programmer is supposed to know things like how many bits in an
>integer). And our third course, machine organization, is taught
>in C and (MIPS) assembly language, and even an introduction to
>hardware (in Verilog), providing the low-level view you favor.
Actually, that doesn't sound too bad.
>I acknowledge that there are also plausible arguments for moving
>in the other direction.
Something which *may* depend on the individual in question, but...
as long as the end result is the same...
> But let's not waste time on straw-man
>hypothetical curricula that leave out either the high-level or
>the low-level view.
I've held the opinion that digital electronics (even at the "conceptual"
level) is a... proper foundation for someone interested in being an
honest to goodness programmer. I can't tell you how many people
I've encountered--people who've been schooled in programming,
people whose very *occupation* is programming--who don't know
why we have hexa-decimal numbering (nor, of course, how it relates
to binary).
I was into digital electronics for quite some time before I got into
programming, so... the computer presented no mystery, Plus, when
approaching a task (problem, whatever) from a "binary perspective",
a solution which is *much* more direct, clean, elegant (etc), can quite
often be realized.
So... if it were my job to teach someone programming, I would most
definitely start with digital electronics (at the gate level). Although...
I can appreciate the potential for... different "best foundations", and again,
something which very likely varies per individual.
The curriculum you mention, above, impresses me, and I'd imagine the
use of Verilog is rather effective (sure wish *I* had it, so many years ago).
Jeff
- Next message: Randall Hyde: "Re: Intro to Programming w/ Machine Language"
- Previous message: Duane Arnold: "Re: simple web programming options"
- In reply to: Brian Harvey: "Re: Intro to Programming w/ Machine Language"
- Next in thread: Programmer Dude: "Re: Intro to Programming w/ Machine Language"
- Reply:(deleted message) Programmer Dude: "Re: Intro to Programming w/ Machine Language"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|