Hi Sir,
I was going through the expServer. It looks very nice compared to the old network lab which was just a set of unstructured assignments. It's very structured and clean, and it's really nice to see the students write a multi-module project with automated tests, coding conventions, (a logger!!) and so on. I feel these kinds of labs set students up well for the industry. I wish I was starting B.Tech now, than in 2014 :p
Some comments on expServer as I skimmed through the roadmap.
1. In Phase 0 Overview, The intro gives a picture that "the computers in huge data centers are different". But are they?
That is true in some sense - for example a datacenter as a whole is supposed to be durable, designed for single node failures, horizontally scalable etc. But at the same time, if you focus on an individual node - each node is also not very different from the server that the students will be implementing? Wouldn't they also use TCP/IP, take HTTP requests from clients and process them the same way etc? We are taking nginx as a design reference, which is what is heavily used in this space.
2. There is a really nice testing utility pre-made for the students. Would it have been feasible to get the students to write their own simple tests in C? The lab will need to give a framework within which students can easily write tests. This will introduce students to self testing (close to unit testing), which is highly valued in the industry.
But I understand that this will increase the scope and might not be feasible, so can C module level test be pre-written, which the students can just keep enabling as they progress through the roadmap? It will be an interesting experiment to see if such a test suite could be crowd-developed and maintained by the student community once a framework is in place. This might make sense only if it eases the student experience - for example, if you find that students break existing functionality frequently while making new changes, and UTs can help catch that early.
By the time I read up till stage 9 - I started appreciating that it goes much beyond the networks that were taught to our batch. :) Curious to know if students will be able to complete this in a single semester 3/4 credits lab course, or what do you have in mind?
Regards,
Navaneeth