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. 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. 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.... 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!) ? cheers, James