1 |
On 03/09/2015 03:16, James wrote: |
2 |
> Alan McKinnon <alan.mckinnon <at> gmail.com> writes: |
3 |
> |
4 |
> |
5 |
>>> Last, I suggest a parallel learning of C/C++ as it really helps |
6 |
> |
7 |
>> ^this^, after the basics are fully mastered. |
8 |
> |
9 |
>> netmasks make no sense at all until bitwise operators are fully |
10 |
>> understood. Even CIDR notation is not really obvious until you |
11 |
>> understand what languages like C do with the 32 bit words we call IP |
12 |
>> addresses. All x10 when IPv6 comes into play |
13 |
> |
14 |
> |
15 |
> Huh. I find teaching networking, including the intricacies of advanced |
16 |
> protocol design, implementation and debugging, are far simpler if |
17 |
> folks know at least one programming language. Bit manipulations |
18 |
> are but one part of logic, sequential circuits timing and such |
19 |
> of the Computer Engineer's domain. In my experience, if folks read too |
20 |
> much, but do not play with some codes on actual hardware, it all becomes a |
21 |
> giant nebula. I guess I just like the practical side of these issues, to get |
22 |
> folks hooked on hardware. |
23 |
|
24 |
Yes, knowing at least one language is key |
25 |
|
26 |
> |
27 |
> |
28 |
> How a serial port (rs_232) works and the putting ppp over that is very |
29 |
> keen for teaching networking. ymmv. You can also use a protocol analyzer to |
30 |
> see some cool things. Many codes are published and looking at how a |
31 |
> microprocessor handles basic packets is very stimulating and encouraging. |
32 |
> Too bad most kids now days do not get to work on embedded hardware and build |
33 |
> up an executive or state machine and send/recieve data over interfaces. |
34 |
> Granted I worked in the world where assembler was |
35 |
> king (embedded) and assembler folks learning C and tcp/ip were easily amazed |
36 |
> and happy to migrate from assembler to C. |
37 |
|
38 |
I think the critical thing is to have a good grasp of what the |
39 |
technology you use is built on. |
40 |
|
41 |
C is a thin wrapper around assembly so to master C you should know cpu |
42 |
instructions, logic and at lest something about hardware. I don't |
43 |
believe it's possible or desirable to completely abstract something like |
44 |
C away from those things and still use it well. It's C, not the ISO 7 |
45 |
layer model |
46 |
|
47 |
> |
48 |
> As Joost pointed out, I guess it really depends on the background of |
49 |
> the student. Being a hardware guy, I guess my focus is tainted.... |
50 |
|
51 |
I'm a hardware and electronics guy too. I spent hours in college |
52 |
building circuits with breadboards, 74xx TTL chips and bits of wire |
53 |
before they'd let me move onto the next thing |
54 |
|
55 |
> |
56 |
> So, fair enough, but how long (exactly what are the basics) do you |
57 |
> read before you go to the lab and play? Labs are always more fun |
58 |
> than classrooms, lectures and stuffy old farts.............(gotcha!) ? |
59 |
|
60 |
The raspberry pi was specifically built to get back to those old days, |
61 |
the main designers were from the BBC micro era. |
62 |
|
63 |
Which I think is a wonderful idea. |
64 |
|
65 |
> |
66 |
> |
67 |
> cheers, |
68 |
> James |
69 |
> |
70 |
> |
71 |
> |
72 |
> |
73 |
> |
74 |
> |
75 |
|
76 |
|
77 |
-- |
78 |
Alan McKinnon |
79 |
alan.mckinnon@×××××.com |