1 |
2015-09-03 6:51 GMT-03:00 Alan McKinnon <alan.mckinnon@×××××.com>: |
2 |
|
3 |
> On 03/09/2015 03:16, James wrote: |
4 |
> > Alan McKinnon <alan.mckinnon <at> gmail.com> writes: |
5 |
> > |
6 |
> > |
7 |
> >>> Last, I suggest a parallel learning of C/C++ as it really helps |
8 |
> > |
9 |
> >> ^this^, after the basics are fully mastered. |
10 |
> > |
11 |
> >> netmasks make no sense at all until bitwise operators are fully |
12 |
> >> understood. Even CIDR notation is not really obvious until you |
13 |
> >> understand what languages like C do with the 32 bit words we call IP |
14 |
> >> addresses. All x10 when IPv6 comes into play |
15 |
> > |
16 |
> > |
17 |
> > Huh. I find teaching networking, including the intricacies of advanced |
18 |
> > protocol design, implementation and debugging, are far simpler if |
19 |
> > folks know at least one programming language. Bit manipulations |
20 |
> > are but one part of logic, sequential circuits timing and such |
21 |
> > of the Computer Engineer's domain. In my experience, if folks read too |
22 |
> > much, but do not play with some codes on actual hardware, it all |
23 |
> becomes a |
24 |
> > giant nebula. I guess I just like the practical side of these issues, to |
25 |
> get |
26 |
> > folks hooked on hardware. |
27 |
> |
28 |
> Yes, knowing at least one language is key |
29 |
> |
30 |
> > |
31 |
> > |
32 |
> > How a serial port (rs_232) works and the putting ppp over that is very |
33 |
> > keen for teaching networking. ymmv. You can also use a protocol analyzer |
34 |
> to |
35 |
> > see some cool things. Many codes are published and looking at how a |
36 |
> > microprocessor handles basic packets is very stimulating and encouraging. |
37 |
> > Too bad most kids now days do not get to work on embedded hardware and |
38 |
> build |
39 |
> > up an executive or state machine and send/recieve data over interfaces. |
40 |
> > Granted I worked in the world where assembler was |
41 |
> > king (embedded) and assembler folks learning C and tcp/ip were easily |
42 |
> amazed |
43 |
> > and happy to migrate from assembler to C. |
44 |
> |
45 |
> I think the critical thing is to have a good grasp of what the |
46 |
> technology you use is built on. |
47 |
> |
48 |
> C is a thin wrapper around assembly so to master C you should know cpu |
49 |
> instructions, logic and at lest something about hardware. I don't |
50 |
> believe it's possible or desirable to completely abstract something like |
51 |
> C away from those things and still use it well. It's C, not the ISO 7 |
52 |
> layer model |
53 |
> |
54 |
> > |
55 |
> > As Joost pointed out, I guess it really depends on the background of |
56 |
> > the student. Being a hardware guy, I guess my focus is tainted.... |
57 |
> |
58 |
> I'm a hardware and electronics guy too. I spent hours in college |
59 |
> building circuits with breadboards, 74xx TTL chips and bits of wire |
60 |
> before they'd let me move onto the next thing |
61 |
> |
62 |
> > |
63 |
> > So, fair enough, but how long (exactly what are the basics) do you |
64 |
> > read before you go to the lab and play? Labs are always more fun |
65 |
> > than classrooms, lectures and stuffy old farts.............(gotcha!) ? |
66 |
> |
67 |
> The raspberry pi was specifically built to get back to those old days, |
68 |
> the main designers were from the BBC micro era. |
69 |
> |
70 |
> Which I think is a wonderful idea. |
71 |
> |
72 |
> > |
73 |
> > |
74 |
> > cheers, |
75 |
> > James |
76 |
> > |
77 |
> > |
78 |
> > |
79 |
> > |
80 |
> > |
81 |
> > |
82 |
> |
83 |
> |
84 |
> -- |
85 |
> Alan McKinnon |
86 |
> alan.mckinnon@×××××.com |
87 |
> |
88 |
> |
89 |
> |
90 |
Me, too, a hardware guy, but having to learn high level stuff. Here at the |
91 |
company that work for, we had a programmer a couple of years ago, that has |
92 |
gone for a better opportunity. So I got his load. |
93 |
|
94 |
Blinking a bunch of LEDs is where I started. The first ones with simple |
95 |
transistors, resistors and capacitors, TTLs were next, and then, finally, a |
96 |
Z80 with an UV EPROM, having to be programmed at the university lab in a |
97 |
terribly monstrous gig - there was a teletype (remember those?) where a |
98 |
paper tape had to be punched with the byte codes, hand assembled from |
99 |
mnemonics, the tape transferred to another part where it was read while the |
100 |
bytes been burnt to the EPROM; if one missed or twisted a byte, everything |
101 |
had to be done again, program tapes being literally patched over and over. |
102 |
Nowadays it all look very funny, but not at all on those days with a final |
103 |
degree project deadline approaching ;-) |
104 |
|
105 |
Thanks for the opportunity for an old story to be remembered. |
106 |
Francisco |