TL;DR
Projects are ok. Content is good. Instruction is lacking. Very beta quality.
Lectures/Instruction
Dr. Konte
While Dr. Konte is no doubt experienced and knowledgable in her field, there is no way to know that, since the only time you'll see her is the videos of the class, which are few. That is to say, not every "slide" or section of the class has a corresponding video and to my knowledge she is completely absent otherwise. (There could have been office hours with her and I missed them, but I never did see her there, nor slack, nor Piazza.)
Instead, there is a text section for the slides with generally a reference to the relevant section of the book (Computer Networking: A Top-Down Approach, Kurose and Ross, 7th ed). My advice to anyone taking this course is to scroll down to that at the end of the slide and read those sections and avoid the slides and videos completely.
The slides are transcriptions of the videos (where they exist) which are basically Dr. Konte reading that section of the book. The diagrams in the slides are also direct copies from the book. I wonder what sort of "ethics" investigations would be levied against me if I turned in such blatant copying.
Dr. Konte's accent is not much of a barrier, but she appears to be very nervous in front of a camera, leading to a bit of monotone. As a monotone speaker myself I sympathize, but some practice here would go a long way.
Overall, we got no benefit from Dr. Konte. Surely she was hired for some expertise in the field, and/or she wanted to actually teach and give us the benefit of that? We saw none.
TAs
I felt the TA staff was very good. Responsive on slack, open to criticism on exams, plenty of office hours, willing to go in whatever direction the discussions wanted to go. One criticism I had is they spent way, WAY too much time telling us how hard exam questions are to come up with. Ok, we get it, it's hard, but none of us paying for this service really cares that much about how difficult the thing is we pay you to do.
Content
The book is great. I do have a high level background in networking but the book goes into a lot more detail and explanation of things I'd only heard about and knew the acronyms for. For what I do a lot of that detail will probably never be used by me (sort of like calculus), but at least I know more than I did and I know where to look to find out more if I need to.
I will probably be reading more chapters in the book than the class covered, just because it's interesting, well written, and useful.
As I mentioned, I can only say good things about the content of the book because the class/lecture content was basically nothing more than that.
Projects
There were 7; I'm told there are fewer in the Summer. 5 were programming involved, 2 were "run this - describe what you see" type. I enjoyed them overall, but there were a few issues that I'll describe below in a bit more detail.
In general, I feel that projects should be something that mimics the types of things one would be doing in a real job, or to illustrate a point (like re-inventing something to see how its made). The projects BY AND LARGE did this.
Tactically, they're all python, but not complex python so no great study of the language is required.
Exams
I was very neutral to disappointed on the (3) exams. I'm not sure if it was the second language issue, or that this semester was the "beta" version of the class content and instructor or what, but there seemed to be way too many questions that were overly vague. We got a non-trivial amount of points back on all 3 because of bad questions, and at least on exam 3 not even for vagueness; one was just absolutely graded wrong. Mistakes happen, but after all the anguish displayed about how hard exams are to make, it doesn't seem like enough review time was given to any of them.
Tactically, there were 3 (none of them cumulative), all fewer than 30 questions. I feel this isn't nearly enough for a class of this scope. Either more exams, or more questions. Most of the time taken on the exam was trying to parse what they were asking given the possible answers, which is testing neither knowledge or understanding of the content of the class.
For example, exam 3 had 20 questions, 2 of which were on CBR vs VBR; not networking. I found this to have almost shockingly missed the point of the section; 10% of an entire exam on non-networking content. Entire papers and sections we studied were completely missed.
Misc
There were a number of miscellaneous issues I'd like to go over here.
Infrastructure
This is perhaps the most egregious downside of this class, although I fear it is more of a university-wide issue. The infrastructure of the class with respect to the projects is ... godawful. The VM used some bizarrely curated version of Ubuntu that was ~6 years old with a window manager setup that I'm sure catered to someone, sometime, but is not quite like anything anyone would install. Just use a stock image with the apps/libs pre-installed required for the projects! We really don't need your special snowflake window manager setup and background.
In the VM, we used "mininet" to do a variety of software defined networking tasks. Mininet is brittle and very twitchy, so you never know if the issues you're having are your own code, or the infrastructure.
Mininet is based on python 2.7, a version which was released 11 years ago, and completely end-of-lifed I believe either before the semester started, or very nearly so. END-OF-LIFEd. Not even security updates. For a class that is at least part of the Cybersecurity degree. For a University with the reputation of Ga Tech, it strains credulity that we're stuck with this tech. I get that it's not new-shiny-sexy to keep students up to date, but gruntwork still needs to be done.
The quality of the project documentation and provided code was... average, for a beginning python developer. The code quality was not great; at least one had mixed spaces and tabs, there were numerous typos and misspellings, code commented out that was presumably meant to be deleted, but just overlooked which caused a lot of questions on slack. Overall, not something that would be anywhere near "production quality", which I feel is necessary as this is a product for which you have paying customers.
"gotcha"
Like other classes in this program, the projects seem to be TA written. The quality, format, and overall "feel" of every project is wildly different. But one thing they all have in common is an almost religious fervor adding some magic nugget "gotcha" to keep people from cheating by using previous semester's student's work. I get it, cheating is bad, and copying code is easy, but so much work is devoted to stopping this that not a lot of work is put into actually making a project that teaches something useful.
In one project they tried to 'simplify' an algorithm by making "-99" be an end state; if you got to -99 for this thing, you could consider it done. That sounds fine, but for 2 bad side-effects:
- -99 doesn't occur in real life. No one in this class will ever use the special code they wrote to handle this case, ever again. It's throwaway nonsense.
- Almost amusingly, 99% of the issues about this project discussed in slack where around this artificial and never-before-nor-again seen constraint.
So what this means is that instead of learning about the algorithm, we spent inordinate time on this constraint that we'll never see again. Horrible idea and I hope no student ever sees it again.
A better choice would have been to split the project into 2 pieces; 1 piece doesn't use a network topography that requires this constraint. This would teach how the algorithm works. The part 2 would be to see how to handle the very real life issue that the -99 was meant to address, but IN THE WAY IT'S ACTUALLY HANDLED. It isn't that hard, no more difficult than what we were asked to do, and might actually prepare someone for life outside academia.
Lecture Release
The lectures were released on a weekly schedule. This means you couldn't study ahead. Not only that, they were released late too many times (at least one week as late as Wednesday).
I don't know if they weren't ready on time (in which case, why was the class provided at all?) or some weird power play by the staff, or what, but it was very irritating, and frankly not what we paid for.
I understand this happened during the height of the COVID-19 pandemic, but at least once the TA's said the late releases were due to Dr. Konte being the SOLE ENTITY that could click the button release a module, and she was busy trying to get things organized/ready/??? for the on-campus students. So I see where we stand.
The online program just feels more and more like a money-grab; push out videos, ride that train as long as possible and maximize the revenue flow.