2015-09-03 6:51 GMT-03:00 Alan McKinnon <alan.mckin...@gmail.com>: > On 03/09/2015 03:16, James wrote: > > Alan McKinnon <alan.mckinnon <at> gmail.com> writes: > > > > > >>> Last, I suggest a parallel learning of C/C++ as it really helps > > > >> ^this^, after the basics are fully mastered. > > > >> netmasks make no sense at all until bitwise operators are fully > >> understood. Even CIDR notation is not really obvious until you > >> understand what languages like C do with the 32 bit words we call IP > >> addresses. All x10 when IPv6 comes into play > > > > > > Huh. I find teaching networking, including the intricacies of advanced > > protocol design, implementation and debugging, are far simpler if > > folks know at least one programming language. Bit manipulations > > are but one part of logic, sequential circuits timing and such > > of the Computer Engineer's domain. In my experience, if folks read too > > much, but do not play with some codes on actual hardware, it all > becomes a > > giant nebula. I guess I just like the practical side of these issues, to > get > > folks hooked on hardware. > > Yes, knowing at least one language is key > > > > > > > How a serial port (rs_232) works and the putting ppp over that is very > > keen for teaching networking. ymmv. You can also use a protocol analyzer > to > > see some cool things. Many codes are published and looking at how a > > microprocessor handles basic packets is very stimulating and encouraging. > > Too bad most kids now days do not get to work on embedded hardware and > build > > up an executive or state machine and send/recieve data over interfaces. > > Granted I worked in the world where assembler was > > king (embedded) and assembler folks learning C and tcp/ip were easily > amazed > > and happy to migrate from assembler to C. > > I think the critical thing is to have a good grasp of what the > technology you use is built on. > > C is a thin wrapper around assembly so to master C you should know cpu > instructions, logic and at lest something about hardware. I don't > believe it's possible or desirable to completely abstract something like > C away from those things and still use it well. It's C, not the ISO 7 > layer model > > > > > As Joost pointed out, I guess it really depends on the background of > > the student. Being a hardware guy, I guess my focus is tainted.... > > I'm a hardware and electronics guy too. I spent hours in college > building circuits with breadboards, 74xx TTL chips and bits of wire > before they'd let me move onto the next thing > > > > > So, fair enough, but how long (exactly what are the basics) do you > > read before you go to the lab and play? Labs are always more fun > > than classrooms, lectures and stuffy old farts.............(gotcha!) ? > > The raspberry pi was specifically built to get back to those old days, > the main designers were from the BBC micro era. > > Which I think is a wonderful idea. > > > > > > > cheers, > > James > > > > > > > > > > > > > > > -- > Alan McKinnon > alan.mckin...@gmail.com > > > Me, too, a hardware guy, but having to learn high level stuff. Here at the company that work for, we had a programmer a couple of years ago, that has gone for a better opportunity. So I got his load.
Blinking a bunch of LEDs is where I started. The first ones with simple transistors, resistors and capacitors, TTLs were next, and then, finally, a Z80 with an UV EPROM, having to be programmed at the university lab in a terribly monstrous gig - there was a teletype (remember those?) where a paper tape had to be punched with the byte codes, hand assembled from mnemonics, the tape transferred to another part where it was read while the bytes been burnt to the EPROM; if one missed or twisted a byte, everything had to be done again, program tapes being literally patched over and over. Nowadays it all look very funny, but not at all on those days with a final degree project deadline approaching ;-) Thanks for the opportunity for an old story to be remembered. Francisco