Training the next generation:

Hi !
I'm teaching networking this year at CUNY Hunter College here in Manhattan. I would like your input as industry members what skills would have value to you in a new graduate computer science major (the students are seniors).
Fall course is "Telecomputing"; the syllabus I created for the course uses Tannenbaum's _Computer Networks_ and tries to cover a range of things. Course project will likely be design and implement a bridge, possibly including source-route and certainly including spanning tree. Early on, coverage of WAN include project with PCM and such.
A syllabus is posted at http://harmony.hudes.org/Telecomputing.html
Students will have a broad base in a variety of networking topics. Focus on Ethernet in the LAN and PPP and ATM in the WAN.

Spring is a "special topics" course. I've some flexibility here. I'm weighing two alternatives, and want some feedback.
Of all possible things, the acting chair and I narrowed to two possible courses:
1. A course in TCP/IP. Use Comer, _Internetworking with TCP/IP_ and his syllabus from Purdue as a starting point.
No time in this course for any physical layer or data link stuff beyond a cursory overview of Ethernet as we move at high speed to the network layer and IP forwarding. Comer's graduate course has students build a router but this is probably too much for undergraduates. Instead an OSPF implementation, including all the options (especially NSSA) . A cursory introduction to sockets programming with the course focus on routing algorithms (i.e. RIP, OSPF, and BGP4).
Can this one course (my fall course hasn't sufficient registration to make the 2 semester sequence in networking we'd hoped; maybe next year).

2. Network application programming. Java clients, Perl and Apache server side (or perhaps Java servlets). Hunter students know C++ fairly well by their senior year; Java is an easy transition. The entire class would divide into teams with assignments that comprise various parts of the client and server portions. The project would be a turn-based simulation game (I used to play these and have a number of appropriate games with play-by-mail options, game rule design and/or game theory is not part of the course). While this won't teach them to be router engineers -- or developers, it should have some industry relevance.

Most Hunter graduates stay in the Greater NYC metropolitan area. Given this, which of these options is better for the industry? who is in shorter supply?

Prompt feedback greatly appreciated. Registrar is asking for the course description ASAP or sooner.

Thanks!
Dana Hudes
CUNY Hunter Computer Science
former ISP

I am teching the simular course for the MIPT students here in Russia, and
we choose to teach a few _overview_ courses. I myself (with my collegues)
was developing and teaching _the basics of IP routing_ course, with the
two main ideas:

- (1) to cover all oportunities the network engeneers have to desing
moder networks. IT include:
- TCP/IP basics
- LAN routing protocols, such as OSPF, RIP and EGRP; and I'v tried to
built the topics from the two parts, for example - (1a. OSPF, view for
the beginners /plain OSPF based network, very simple, no areas, stubs etc
etc - and it's highly recommended for all middle-size corporate networks
- with a very simple configuration: router OSPF 1;network 0.0.0.0
255.255.255.255 area 0.0.0.0;
1b. Why OSPF is not really so simple - areas, complex ropology, etc etc -
some minimum, not more.
- special LAN protocols (very important) - HSRP, ICMP redirect, router
discovery, Cisco Discovery Protocol;
- Internet routing - basics - why there is BGP, what is it, how it is
used by the multihome customers; how is it used by the ISP (special topic
- the routing in the ISP back-bone - IGP + BGP 2 level routing schema -
the basics.
- VLAN networks - very important topics to know - include FDDI/802.10,
ISL (!, don't forget), 802.1q, LANE (terrible!) as the trunk protocols,
explain how the routers and switches interconnect (with the
sub-interfaces etc etc), why 802.1q or ISL need some other hardware (more
frame size);
- Multicast (the basics only);
- ATM etc - the basics.

I think (as the head of NOC) the network engeneer should know:
- modern networking - very well, including some vendor-based standards
such as CISCO HDLC, ISL VLAN, some FORE and BAY's protocols;
- network troubleshooting - to have some labs;
- programming - the basics of C, C++ (not so important for the
programming but very important for the education), PERL (!), Visual Basic
and script programming on Windows. Network engeneers do not develop
usially huge and java-based systems but they must be able to write
quickly a simple CGI script or modify existing one;
- HP OV and other SNMP-based (terrible, but the only existing) monitoring
systems, just as RMON basics.

What's _basics_? It mean don't detailed knowing of the exact commands,
config files, etc, but knowing of the main ideas the authors realised in
the protocol or the system - what for is (HSRP), where do we use it
(HSRP), can it work on VLAN-ed network or not, etc etc...

And - the _troubleshooting labs_ as well - the 99% of the students could
not found any complex failure (for example - the loss of syncronisation
in the ATL LS-1010-based network caused a lot of interfaces fail down -
the mister Sherlok Holms could guess the reason withouth ever knowingv
the world _router_, but the students could not found the reason at all).

Alexei Roudnev, the head of NOC, RELCOM network, Moscow, Russia
/and the author of the _Basics of the IP routing_ course for the MIPT
institure in Moscow/.