CS-6250 - Computer Networks

Search for a Course:

    CN
    Toggle to Select Spcific Semesters

    Reviews


    Semester:

    8th/9th class taken with Applied Crypto (AI4R, HPCA, IIS, GIOS, SAD, iHPC, AI,)


    Semester:

    The computer networks course has been a great course. I came from working in the general field, but did not have all of the fundamentals before the course. The breadth of course, and the exposure to cutting edge research in the field, has been very good in getting to understand the field and where it is going. Some of the course material including SDN, Audio/Video performance would have taken a lot of work to understand without the course.

    The teaching staff including the professor were very helpful in the course. The assignments are fairly straightforward if you spend time beforehand to understand the material. The assignments helps the material stick with you. If you spend sufficient time on the assignments, read through discussion threads and try out extra test scenarios, it should be possible to get full points on it. I did not do the extra credit assignment, but it seems to be an extension of the BGP measurements project.

    The mechanism of having weekly quiz and two exams were good in reinforcing the material. I really wanted to learn the material, and this structure helped me. If you go through the material, it should be possible to score well on quiz and exams as well.

    The workload of the course is not high, and if motivated, can be paired with a similar difficulty course, without undue stress.

    Overall a very well done course, if you are interested in the material


    Semester:

    It’s a good class to take in addition to something tougher. You could learn some new algos and refresh your basics of computer networks. Only thing that bothered me was that there’s a lot of reading involved in the lectures and not enough of video material. However lessons itself are structured well and keep you engaged with quizzes. Didn’t had any issues with assignments especially first two where I was done in one evening. Usually I started on Mon evening with lesson and then started with assignment, most of the time I was done with the assignment by Wed-Thur spending 3-4 hrs every night. TA’s are pretty supportive on ed and available to get some help. Last assignment was a little weird and in 2 tasks of it we’ve been asked to do pretty much the same thing with a minor change which made it feel a little unrefined. Exams were pretty straightforward , as long as you keep up with lectures and watch professors office hours prior to taking the exam - you should be good to go.


    Semester:

    I have a background in computer science and I took this course to refresh some of my CN concepts. This is an easy course and a great one to pair with a medium/hard course. The projects are fun and you get enough time for each on them. I am not sure what changed from past semesters, but I felt the project organization and instructions were pretty straight forward. It took me couple of hours to understand the project requirements/go over concepts and a few more to code. The lectures covered interesting concepts but yes as mentioned before it involved more reading which as times I did not enjoy. Exams are also great and easy if you get a good grasp of concepts, and the quizzes are really helpful for that. Although, I did feel some of the questions were poorly worded and created some ambiguity. Overall its an easy course and you can get an A with good efforts in the projects and exams.


    Semester:

    If you are unfamiliar with networking, or if you want an easy course, this is the one to take.

    Otherwise, you might not get too much out of this course. Though one way to get more out of the course, if you are already familiar with the basics, is to read lots of the suggested papers - some of them are pretty interesting and go far beyond the lectures / quizzes / projects.


    Semester:

    I’ll start by saying: there’s a reason that this is the most reviewed course on OMSCentral. Third course in the program for me, almost 2 years of professional SWE experience, and a limited foundational educational background in CS. I had zero networking experience or knowledge prior to this course, but am walking out of it thinking that I could at least hold a semi-intelligent conversation with a networking/cloud engineer now. And honestly in reflection, I thoroughly enjoyed it along the way.

    The TA’s were absolutely incredible, particularly Erick. He basically saved the BGP Measurements project by putting in a lot of effort into an autograding script and being so responsive on Slack and Ed. Reviews from last semester made this project seem like a bit of a dumpster fire, but I think that it ended up being my favorite of the five projects. It was purely code based this semester and the script made it easy to verify results.

    The first two projects are very straightforward graph traversal type algorithmic problems that should be easy with a little Python knowledge. The last three projects, however, get a bit trickier. Instructions are long and confusing at first glance, but it’s primarily due to just having to explain how things like Mininet work and describing what they wanted. I thought the last three projects were wonderful once you understood what they were asking you to do– perfect mix of mildly challenging, extremely educational, and pretty fun in my opinion.

    Weekly quizzes are open note and have a 30 minute window to complete them. Thankfully more than enough time to control-F through the blocks of text in the lesson to find what you’re looking for most of the time. I found the tests to be trickier extrapolations of these quizzes and more edge case type questions, but overall, quite reasonable. The lecture content is long and networking is not as sexy of a topic as something like machine learning is but you really don’t need to dive into it much to do well.

    TL;DR: if you don’t have a lot of networking experience but want to learn more (at least at the basic level), take the course. You won’t regret it.


    Semester:

    Very easy class. I didn’t try at all and I got an A. The projects are fun.

    The bad parts: the quizzes/exams are annoying. They test you on the readings and there is A LOT of reading to get through. If you’re smart, you can get by using context clues and a vague understanding of the material, but you’ll need to ace the projects to get an A if you don’t do the readings. You won’t remember even 1% of what you read because there’s just so much information.

    The TA’s are fantastic. The discussion board is VERY VERY helpful.

    Not much else to say. The class was enjoyable.


    Semester:

    My 6th course into the OMSCS. The the worst one so far. Instead of saying this is a CS course, it’s more like English reading course. Instead of watching videos, you read a lot of long and dry texts. Next time maybe give the students Wikipedia links, at least the Wikipedia pages have nice pictures and better layout.

    Quizzes, midterm and final are basically testing how well you memorizing the details in those long and dry texts. The assignments are not hard once you figure out what you are expected to to.


    Semester:

    This is a great class, especially if you are interested in networks. I’ve been working professionally as a Sysadmin, SRE, and now a cloud architect and I still got a lot out of this class. I know there are complaints about this class, especially with some confusion about the final project in the past, but I will tell you that all of the projects this semester went smoothly.

    I thought Prof Konte’s lectures were great and the TAs are quick to answer questions in EdStem and Slack. I didn’t really have to interact with any of them, but as someone who would lurk for responses from time to time, it was easy to find info that answered my questions.

    The workload is fair, It revolves around a weekly quiz and projects with a couple of exams mixed in. You will see some people complain about the material being dry, but I didn’t find that to be true at all. There is a lot of supplemental white papers in this class, and I read through most of them as I went. If you approach this as an academic exploration of the history and architecture of computer networks, and not some udemy bootcamp on networks, you’ll be much happier in this class.

    I made an A in this class, and I can share my strategy for doing so.

    Projects are 66% of your grade. I made 100% on all of the other projects. None of them were particularly difficult, but there were conceptual challenges that you do have to solve. You have to put in the time to get these right, but they are all very manageable. I felt the projects complimented the material well and I have a much better understanding of SDN and BGP because of it.

    • All projects have either an autograder or a tool to check your work, use them.
    • Start on the projects early.
    • Read and reread the work expected of you before writing any code (seriously, this is important, don’t just start coding, you will get tangled up and frustrated… but this goes for all proper engineering)
    • I would typically scaffold out what I thought about doing in comments before writing any real code.
    • review the checker tool source code and the solution files for context. this helps a lot in sorting out what is expected.
    • Write your code in a way that its easy to test your hypothesis as you go. A lot of these projects are about exploring concepts or analyzing data streams. If you poorly structure your code or get too fancy with abstraction you will be sad. be practical. hack the planet.

    I put a light amount of effort into quizes. They are open book, but with a 30 minute cap. There are fantastic student built notes for the class, use them. I averaged an 86% on the quizes, but it really doesn’t matter. I plowed through them and spent as little time thinking about them as possible. Put your effort into the projects.

    I made an 83% on exam 1 and a 93.5% on exam 2. I put in the same level of effort on both, which was that I read through my notes (and the student notes) and I reviewed the quizes. I guess I just had a better day on exam 2. Exam 2 is not cumulative, which is nice. Exams are not open book and they use HonorLock. C’est La Vie.

    There is a bonus that is worth 3%, but they only grade it if you are on the cusp of another letter grade. I can’t comment on the bonus, I didn’t do it.

    I found out my final project grade after taking the final exam, but I felt pretty confident about scoring as well as I did on the others.

    I’d recommend this class for anyone who wants to know more about how the architecture of the internet works. It does a good job of breaking down the evolution and design choices made along the way and the projects reflect that as well. I’d take this class again and I think it’s worthwhile for anyone in the program who wants a deeper understanding of how networks work.


    Semester:

    The first half of the class was really good! The projects were interesting as well as the material. I got somewhat bored of the material in the second half of the class.


    Semester:

    Honestly, this class is not that hard but its so hard to stay engaged. The professor (Konte) doesn’t give 2 s**s about this class, or so it appears. There are no lectures videos everything is just a wall of notes. Quizzes can have a *gotcha answer in there. The content is dry and TA’s don’t know what they’re doing sometimes. Syllabus says last submitted assignment will be picked after deadline, but gradescope lets you pick the one you want to submit, but this does not apply for assignments that have to be submitted on canvas. Some quizzes get extended by 2-3 weeks but there’s only a 1 day extension for some assignments? Some assignments have clearly marked out criteria to get grades (autograder) that you can use but others don’t have that, so you’re left guessing about your grade. There’s not explanation added for this. Projects (1 is not graded) 2 and 3 were real easy. But SDN was such a pain to deal with, the actual project is not that hard, and the sheer amount of material given to you in order to complete the project just overwhelms you. The intention is to help you, but it honestly had the opposite effect for me (and some others as well admittedly.) BGP Hijacking was not that hard.

    I will update this back when I finish the final project. I’m a cloud engineer and honestly 2-3 weeks of messing around on AWS, youtube and udemy can teach you more practical networking than this excuse of a class.

    I would not recommend this to anyone who wants to learn practical networking, or get a decent grade. Its easy but not organized well.


    Semester:

    I actually appreciated this course for what it was- a survey introduction to network concepts. I understand abstractions pretty well, and get irritated by tedium, so it was nice to have some of the details obfuscated and removed from the lectures/projects. I’m not a network engineer and I don’t intend to get into that sort of work- but I come across the concepts often enough as a Systems Engineer (in HW R&D) where I feel knowing the concepts is worthwhile.

    The projects started more difficult, but ended more confusing. Towards the end I think there were some heavy modifications to semesters previous, and the details had not yet been fully worked out. Nonetheless, it wasn’t that bad and I was able to finish the projects pretty comfortably without headache.

    Lectures are fairly simple, and quizzes are easy. There’s the odd question or 2 that feel tricky and difficult, but for the most part the answers correspond directly to the notes provided. I didn’t find the videos helpful (skipped them), since they were essentially read word for word from the lectures anyway. For me, I had ongoing notes based on the study guide questions where I’d rephrase the instructor notes for my own understanding. This strategy got me high 90s on the exams (which are really similar to the quizzes) and a 96% for the class (an A)


    Semester:

    I have a few years of experience in software development and solid understanding of basic networking. This is my 5th course in the program. My overall impression is that this is a low quality course (compared to others in OMSCS) that is only worth it if you need an easy A (and it was an easy A for me).

    Positives:

    • I found some modules to be interesting (like SDN).
    • Exams are easy.

    Neutral:

    • It’s not a challenging course.
    • Assignments (except the last one) had a very detailed documentation and even videos.
    • Weekly quizzes are based on lectures. I found them to be relatively easy. Sometimes you can even guess the right answer based on the context.

    Negatives:

    • I don’t think I learned a lot in this course, although it definitely wasn’t completely worthless. Just not what I would expect from a graduate course.
    • Course material presentation is horrible. Lectures are literally just a wall of text.
    • Lecture materials need proofreading. English is not my first language, but some of the mistakes are very noticeable and that is definitely not the quality I expected from Georgia Tech.
    • I felt like people were asking too many simple programming questions on Ed - about debugging, using python structures, etc. I also completely agree with the review from “11/21/2021” that starts with “Having taken classes”… Take a look at the post that they quoted. Reading all the threads on Ed, I got an impression that some people expect to have all the test cases available to them upfront. What would be the point of that? You need to learn to analyze your results, not just run the test cases blindly. So I didn’t feel like there were many interesting discussions happening on Ed.

    Honestly, I don’t think that this was worth the money. I wish some of the topics were covered better. I have mistakenly assumed that since this is a graduate level course I’ll definitely learn something from it, but to me it seemed more like an introduction to networking. Well, going forward, I’ll read these reviews more carefully.


    Semester:

    Let me just start of with the most recent impression… the last project sucks. Just sucks. It’s the worst thing ever. Period. The course was going really well up until that point… and the final project just sank it.

    Let’s start with the course material… if you took an undergrad CN course like I did, this is pretty much a refresher on that with a few more interesting details sprinkled on top. As far as I understand, pretty much all CN courses everywhere on the planet follow the same Kurose & Ross textbook, so if you’ve read and understood that textbook, congratulations, you passed this course.

    There are some more advanced topics covered that are seemingly from the professor’s exact field of interest, like the security and event measurement stuff, which was kind of neat to learn about. Also, the lectures get a way more enthusiastic tone at that point in the course, which is a nice contrast to the bland text and the even blander professor’s voice reading that text, which is a kind of an overarching theme for the rest of the course.

    Oh yeah, the lectures are pretty crappy and poorly made. Only like 30% of the segments have actual video, the rest is just a wall of text with a few very non-illustrative pictures. And the videos are also accompanied by a wall of text, and the professor simply reads that wall of text very slowly. To be honest, while I was a bit put off by all that at first, I later started to appreciate the fact that I could just skip all the videos, skim over the wall of text and get pretty much all the required knowledge.

    The projects are nice and simple, each one is a short Python-based thingamajig that implements some concept from the lectures without requiring too much work. No autograder, though… But the TAs seem to be very lenient about grading the projects

    Except the last project. Holy mother of crappy projects, that was something to behold. What was so bad about it? Well… are you sitting down? Yes? Ok, here we go: The TAs CHANGED THE PROJECT INSTRUCTIONS AND REQUIREMENTS HALFWAY INTO THE PROJECT PERIOD. Also, while the TAs and the professor were pretty helpful during the rest of the course, they simply screwed over every student who didn’t procrastinate on the project, wrote a half-assed apology, refused to extend the deadline, and went quiet.

    The last project was also the only one that required interaction with a slightly poorly-documented API, making it a bit more of a hassle than the rest of the projects. But… forcing the students to do the project twice just because the TAs had a change of mind halfway through? WTF?

    The exams were mostly a collection of the in-lecture quizzes, which covered the topics presented quite well. Some of the exam questions were literally the same as on the quizzes, some were the same question but with different numbers or an inverted answer just to test if you’re paying attention, and there was a small number of unique questions that weren’t too bad. The exam results are also instantly available, so that’s good.

    Overall, this course didn’t stress me out too much (except the last project), and it was a nice refresher on a topic I already knew something about. There are certainly aspects that could be improved, like the lectures, but overall it’s a decent course. Except for the final project, that is. It really pissed me (and everyone else) off. For this reason I’m rating it Neutral instead of Liked, since I can’t bring myself to say I “liked” anything about the last project or the TAs that handled the last project.


    Semester:

    This was about an easy course as you’ll probably get in this program. The material is somewhat interesting & if you have any experience with internet infrastructure or have built any cloud software, you’ll breeze through this.

    The assignments were easy though instructions were sometimes convoluted. The exams were easy as well.


    Semester:

    Requirements: You need not require too much of prior preparation for this course specific to networking, however a bit of Python knowledge is recommended. If you are used to programming in the past, you can pick up the projects quickly. Understanding on Python APIs, data structures will be an advantage for some of the projects.

    My background and Takeaway: This is my first OMSCS course. Though I had studied Networking in my Under Graduation, it’s been more than 10 years. So, this course refreshed my knowledge on Networking. I had 8 years of programming experience in Mainframe and did a Python course before joining OMSCS. I am glad that I took this easy course as my first to make me feel less stressful and to get comfortable with the student environment and applications. On weeks without assignment deadline, I spent about 8 hours and during difficult projects I spent about 3 to 5 days.

    Lectures and Exams/Quizzes: Lectures are pretty straight forward and had also additional optional resources to gain in depth knowledge on the subject. There are 2 proctored exams. If you thoroughly go through the course contents and the weekly quizzes, you can crack them. The weekly quizzes were initially proctored (first 2), then changed to open book which reduced the stress for the students.

    Assignments: There were totally 7 projects including optional and extra credits. The instructions and the expectations were very clear for the assignments (exception BGPM). If you follow the EdStem posts during the projects, you can finish them easily. The respective TAs were active in Ed and conducted chat sessions to help you clarify things. Going through the documents and the walkthrough videos linked in the project requirements helps you with better understanding and to complete the projects on time.

    Optional Simulating Networks project and the first 2 projects to implement Spanning Tree Protocol and Distance Vector algorithms were easy. To be frank, I did start working on them only the last 2 days before the deadline. Make sure to test your code against student provided test cases to fix any unexpected results.

    The project SDN Firewall requires you to implement several firewall rules using POX. Please start working on this project very early as you might have a lot of clarifications to be made on the requirements. I started working on this project one week after it was opened and had to put extra efforts to understand the use of Python APIs and the use of MAC/IPv4 addresses/ports. The project TA Jeffrey had wonderful knowledge on the subject and was extremely helpful. Though I thoroughly tested the code, there were some surprises on the auto grader and got a few failed test cases. Wish I had started early on this one.

    Here comes the difficult of all, the BGP Measurements (BGPM) project. There were several tasks to be completed to plot graphs on the routing information collected. If you are new to Python, you will certainly learn the best usage of data structures and APIs. You will have to start this project as soon as it opens up. We could never complete this in a weekend. This is because initially the project asked us to use Jupyter Notebook, then we were asked to code without it. The requirements were not that clear as they were for the previous projects. There were no walkthrough videos. The project TAs also could not help much with the requirements. The lecturer Dr.Konte had to jump in to clarify the Ed posts by students. A lot of chaos on Ed as the understanding kept changing after lecturer’s clarifications. Make sure you thoroughly go through the documents and the Ed posts to finish this project. Luckily this helped me complete this project just before the deadline.

    Extra credits project IWEEC requires you to take some famous internet incidents around the world, collect related data and plot a graph. If you understand the requirements and the usage of data, you can find a knack.

    For Fall, we had an extra assignment BGP Hijacking which was to simulate a hijacking scenario and it was relatively easy compared to SDN and BGPM.

    For future students: You can easily secure an ‘A’ if you satisfy the requirements and start on the difficult projects as soon as they are opened. This course can be combined with another course during Spring or Fall. Will be a stress-free course for Summer as well.

    All the Best!


    Semester:

    I come from a non-CS STEM background, and taught myself programming with Python. If you’re someone that wants to learn about how the internet works, and don’t have a formal background/education in networking, then this course is good to learn that information. While background in networking is recommended, I didn’t need it to understand or succeed in the course.

    Majority of the work comes from the class projects and exams. Class Projects were well-written and TAs provided support in a timely manner. The exception to this being BGP Measurements project which involved using an API to analyze BGP data and develop key insights from. I suspect it is in the prototyping phase, as the project lacked the same support and transparency as the other projects.

    Exams were essentially rote memorization of the material presented in lecture slides/canvas modules. If you review these and the weekly quizzes, you should be fine.


    Semester:

    Background: This is my first semester in OMSCS and I took this at the same time as another course. I have a BS in a (non-CS) STEM field and am not currently working in a capacity of or related to a SWE. However, I have used Python and several other programming languages extensively for the past several years for coursework, research, jobs/internships, and personal projects, so I consider myself to possess at least an intermediate proficiency with Python. I took this course because I want to become a Data Engineer and believe that having formal education regarding Computer Networks is essential for achieving that outcome. With that being said, I both knew nothing about Computer Networks and did not attempt to study any of the “prerequisite” material before the semester started.

    Lectures: The content that this course attempts to cover is vast in its scope but ultimately successful in exposing students to many fundamental networking topics/concepts. The lessons provide a mixture of high-level and low-level details for each topic, as well as resources at the bottom of each page for you to read more about ‘x’ topic. Each lesson primarily consists of walls of text that students must navigate through with the occasional supplemental video thrown in here and there. I do not understand how some students flew through the weekly lectures, as I found them to be fairly dense. I am a slow reader at baseline, but I had taken ~150 pages of notes in a word document by the end of the course. Despite knowing that most other students are way faster readers than I am, I believe that most students take the lectures less seriously because of both the open-book nature of the weekly quizzes and the reputation that this class has for being “easy.”

    I have two primary gripes with the lectures. Firstly, I found the lecture videos worthless because they exclusively consisted of Dr. Konte reading an adjoining wall of text located just under the video player verbatim. However, my bigger issue was that the written lecture content was consistently riddled with syntactical and grammatical errors, respectively. These errors crippled the flow of certain content sections and made an already dry, abstract topic even more arduous to comprehend. A simple fix would be to have one of the TAs throw each wall of text into Grammarly to correct such errors.

    As an aside, this class has an optional textbook that is meant to supplement the lecture content. I did not feel the need to read it, but other students have mentioned that it does a better job of covering some of the lecture content. If you find yourself unhappy with the lectures, this might be an effective alternative, but know that I did not find it mandatory to read anything more than the lecture notes to do well on the quizzes/exams, which I discuss below.

    Quizzes: There were weekly quizzes that started out as closed-book at the beginning of the semester, but Dr. Konte reverted to open-book quizzes starting with Quiz #3 to reduce student stress levels. I believe that going back to an open-book policy was fair because many of the quiz questions tend to ask about extremely low-level details rather than gauging general understanding regarding a topic. My quiz grades were consistently >90% both before and after the policy change, only missing questions occasionally due to some ambiguous wording or the rare question genuinely being tricky.

    Exams: This class only has a Midterm and Final, the latter not being cumulative. I believe that most people found the Midterm more difficult than the Final, but the average score for both hovered around the mid-80s. I scored >90% on each exam and felt that the questions asked were overall quite fair. The questions on each exam definitely took their cues from the study guide, but I would argue that the Midterm strayed from said guide a bit more. In any case, the study guide (given to you on the first day of the course) will serve you extremely well as a foundation for studying for exams in this class.

    Projects (Overview): This semester consisted of five required projects and two optional projects, one of which was an (ungraded) warmup while the other was for extra credit. We were given 2 weeks to complete each project, which was reasonable. The projects cumulatively account for a vast majority of your grade, so it is imperative that you pretty much ace each of these if you are trying to secure an A. I got 100% on each of them.

    Project #0 (Mininet): A warmup that requires you to recreate several network topologies using Mininet. This project is optional and ungraded, but it takes no more than a couple of hours to do and provides a fine introduction to Mininet. I found that this warmup was helpful for at least one project later in the course because it gave me some Mininet exposure, so I would recommend doing it.

    Project #1 (Spanning Tree Protocol): A project that requires you to implement the Spanning Tree Protocol (STP) from (relative) scratch. This project took me about 40 hours to finish, which apparently is well above the norm (i.e., you will likely finish this project faster than I did). This project had an excellent walkthrough that made it very clear what you had to do to implement the algorithm. However, I found that the STP portion of the lecture content was way more helpful in showing me how to derive a working implementation. I would say to use both of these resources in tandem and the student test suite to verify the accuracy of your implementation. I honestly felt like I accomplished something of note by the end of this project, despite the handholding in the form of the walkthrough video/test suite.

    Project #2 (Distance Vector): A project that requires you to implement the Distance Vector (DV) Routing Protocol from (relative) scratch. This project also had an excellent walkthrough that made it transparent what you had to do to implement the algorithm. This project is overwhelmingly similar to the first project, which makes this one much easier and less rewarding by extension. As proof of this, this project took me roughly 20 hours to complete fully (i.e., half of the time that it took me to complete the STP project). I honestly think that the respective STP and DV projects should be combined into one project given their similarity, allowing for the creation of another project that can be used to reinforce course content. Perhaps a project focusing on implementing Dijkstra’s Algorithm?

    Project #3 (SDN): A project that requires you to build a firewall using POX and then implement a bunch of firewall rules. After figuring out what we were being asked for, this project took me about 10 hours to complete. The problem with the project has nothing to do with the actual project and everything to do with both the convoluted assignment description and POX’s poor API documentation. Reworking the assignment description by chopping out redundant/unnecessary content (i.e., most of the description’s appendix) is essential here so that what students derive from this experience is focused on seeing how an OpenFlow controller works in action. Quite a few students “left” the Slack channel for this class by the time the due date rolled around. Therefore, one can hypothesize that a non-negligible number of students were unable to complete this project on time in part due to the convoluted project description and thus had to drop the class. However, a saving grace for this assignment was the project TA, Jeffrey. I have never seen a TA as responsive and ready to help out students at the drop of a hat as this guy. He was always on EdStem, even into the early AMs, and was keen on trying to alleviate ambiguities as he was able to. Give that man a medal.

    Project #4 (BGP Hijacking): A project that requires you to implement a BGP prefix hijacking scenario. This project took me about 10 hours to complete, and a vast majority of that time was spent fighting with LucidCharts to make a diagram. It really just requires you to recreate a network topology from a paper, modify adjoining configuration files, and implement the topology you created in code. This project had a walkthrough that was very effective and effectively answered virtually all student questions in advance. In my opinion, this was the easiest project in the class, yet also my favorite. I found that doing the optional Mininet warmup (i.e., Project #0) helped me understand what was going on here since this project relies heavily on Mininet as a dependency. The TA for this project, Erick, was also a rockstar.

    Project #5 (BGP Measurements): A project that requires you to extract data contained within rib/update files to compute descriptive statistics and/or generate data visualizations. This project took me about 45 hours to finish. The Jupyter Notebook requirement was dropped for this semester because everyone kept complaining about it during previous semesters. Despite being able to use an IDE of one’s own choice, the hardest part about this project is knowing what the autograder is expecting the output of each function call to look like. This ambiguity was in part due to the ambiguous descriptions in the project documentation, but even more so because the project TAs were virtually non-existent. At least 100 unique questions went unanswered on EdStem this semester. Dr. Konte stepped in at the zeroth hour to answer several of the outstanding EdStem questions, but students should not have to wait until a couple of days before a project is due to get answers to some questions asked at least a week earlier. Frankly, the TA team should be ashamed about how they handled this project.

    The actual coding required to implement the project requirements is not bad at all, but mandates competency with Python data structures and the pybgpstream/matplotlib libraries. I strongly recommend that those who are unfamiliar with any of these areas to study up on them before the class even starts to reduce the effort needed to complete this project. A surprising number of students were straight-up begging for extensions for this project, which was embarrassing and made all students in this class look particularly low-quality. You will be able to complete this project competently, or at least not have to beg Dr. Konte for an extension, if you get comfortable with the areas that I listed at the beginning of this paragraph.

    Of note, this project did not involve any test suite made available to students as was done for the first few projects. This contributed to the anxiety experienced by many of the students, but one of the TAs mentioned that this project will have a Gradescope runner available as early as next semester (i.e., Spring 2022). If that happens, I think that future students will have a much easier time with this project. However, if it does not happen, be ready to rely on asking questions through Slack and sharing graphs on EdStem to validate your results.

    Extra Credit (Internet Wide Events): A project that is essentially a much easier version of the BGP Measurements project. Research an event that involved some sort of cyberattack, use pybgpstream to pull relevant routing data from that event, and create a data visualization using the pulled data. Honestly, this project was interesting, only took several hours, and was an easy way to snag some extra credit points (although I am not sure that I will need it). Of note, this project only gets graded if you have a grade “on the border” between two letter grades.

    Professor: Dr. Konte was virtually non-existent for this class, sans several EdStem posts she made over the course of the semester. However, she hosted office hours or posted review videos before each exam and consistently had something valuable to say when she was present. I would like to encourage Dr. Konte to try and have more of a presence in the class.

    Conclusion: I am coming out of this course with a great deal of knowledge regarding Computer Networks and fully expect to receive an A, so part of me is glad that I took this course. Yes, the class has its pain points. However, addressing the problems related to lectures, the SDN/BGP Measurements projects, and Dr. Konte’s presence in the class would go a long way in improving this class’s quality. I believe that Dr. Konte cares about this class and will continue to work on improving it in the future.

    As an aside, I almost felt like I was doing something morally wrong by taking this class because of its reputation for being relatively “easy.” While I guess that this class will attract people who want an “easier” A, I think that this class is valuable and worth your time (even though I did not like it enough to “like” it, per se). One does not need to take 10 classes on par with the difficulty of ML/RL/DL, GA, Compilers, etc. to obtain a quality education, and thus others would be naïve to think that only the “weakest” in OMSCS would opt to take this course.


    Semester:

    For background, this was my 6th course in OMSCS. I come from a STEM background (EE) and I have a STEM job (CS/IT).

    Now that I am done with the course, I kind of have mixed feelings about it. There were moments in the course where I really enjoyed the content, the projects and then there were some where I was really frustrated as well. Overall, I felt that the course progressively got worse as the semester went on. This includes the lecture notes. Last few lectures felt more like a bunch of random copy paste statements bunched together (sometimes even as is from Wikipedia!). They can certainly do with improvement. There were repetitions, grammatical mistakes and references to things that weren’t even explained at all.

    Same for the projects, the ones earlier in the semester were pretty good in terms of instructions and latter ones clearly need more iterations.

    For context, I worked as a technical engineer for a SDN startup right after my bachelors, so I found all the projects to be easy, except the last one which wasn’t really difficult but felt like it due to vague instructions. The instructors actually changed the project two days after announcing it. It was very frustrating to start over but in hindsight, I feel that jupyter notebooks would have made things worse so I am glad that they took that part out!

    I disliked the SDN project the most. I finished it in around 4 hours or so but the controller we were working with had many known bugs in it.

    I do not have a lot more to add about the other projects. My fellow classmates have summarized it pretty well in their earlier reviews.

    One thing to add, I took network science last semester and disliked the ‘notes’ format because I felt everything was summarized too much. In this course, I did not mind it as much (probably because I had the relevant context + background). Meaning, you may find yourself reading the book or finding other resources from time to time if you are not familiar with networks and want to understand the material well.

    The instructor was sporadically active (one office hour plus a few videos + answering concerns/questions about last project). TA team held office hours regularly but were not very responsive on EdStem in my experience (again, something that got worse as the semester rolled on). I asked around 12 questions during the semester (a few about lecture content and a few about project clarification), only got two responses. Classmates were awesome! Slack channel was lively and everyone helped each other both on Slack and EdStem without violating the academic integrity guidelines.

    PS: my time spent is higher than normal because I really like taking in depth notes (ended up with over 200 pages at the end of the semester!)


    Semester:

    Background

    This was my first course in OMSCS, coming from a non-CS undergrad (STEM degree). I had no exposure to Networks prior to taking this course, so I did learn some things. The only thing I am still waiting on is grade for the 5th project BGPM, so final grade still up in the air. I ultimately expect an A in the course, but you never know with that project.

    Lectures

    The lectures are as dry as they come, albeit you will learn something from them. I skipped the videos (not that many) since it was more helpful to just read the text. Some weeks are densely packed with information and it can be overwhelming. Just understand the general concepts and you should be fine.

    Quizzes (10% of grade)

    Open book and (usually) straight out of the lecture notes. The weekly quizzes are pretty easy to handle, but some of the questioning is vague and a little misleading. I ended up with around 93-94% of the quiz points as there are always a few questions here and there that can trip you up.

    Exams (Midterm 12%, Final 12%)

    Exams are just an extension of the quizzes based on the same lecture notes. Final is not cumulative, but there is still plenty of dense information to cover preparing for these exams. Use the weekly quizzes as main source of studying for the exams.

    Projects (66% of grade)

    P1 Spanning Tree Protocol

    This was actually the only project I lost points on (pending BGPM grades). It is a relatively straightforward and algorithm based problem. I vastly under-estimated the robustness of my code on this and it cost me. It was a wake up call to get my butt in gear for the remaining projects. I DIDN’T USE THE TEST SUITE - PLEASE USE THE STUDENT TEST SUITE TO TEST YOUR SOLUTION!

    P2 Distance Vector

    Very similar to P1 in terms of scope and type of solution needed. I found this one to be easier than P1. I do believe I was a little more prepared for this one, and was more thorough reading through the documentation and watching the tutorial video.

    P3 SDN Firewall

    What is seemingly an easy assignment turned out to be much more of a headache. The TA describing the project said “the solution is really simple, don’t overthink it.” The difficulty however was sifting through the pages and pages of documentation, which often contained straight cut and paste copies of the OpenFlow API docs with a few added vague comments. The documentation felt a little cumbersome yet lazy. Once you “get it” though, the solution isn’t a ton of work and there is a good student test suite to compare against.

    P4 BGP Hijacking

    This was my favorite project and probably the one that took me the least amount of time. Very well written documentation, and the tutorial video is great. Fun solution to implement and see the results of.

    P5 BGP Measurements

    The big kahuna. A real dividing point in this class in terms of how students rate the overall course. This one was a lot of work (maybe 50 hours?), and many of the problems are a little open ended. I don’t mind the open ended nature, but was frustrated with the lack of simple clarifications that should be specified in the documentation. The TAs were pretty much nonexistent on EdStem during this project. Professor Konte stepped in and gave a few clarifying points which was much appreciated.

    This projected moved away from Jupyter Notebooks for this semester (albeit in a controversial manner 2 days after the first initial release). I believe this will help move the project in a better direction for future semesters. It really could be a great project, and requires the rigor one should expect out of a MS program from GaTech. I hope they update the documentation a little to clarify a few simple yet crucial items required for the project that SHOULD be clarified.

    Other Comments

    Other than the lack of presence during the BGPM project, the TAs were pretty good for this course. Shout out to Erick for his very timely responses on the Slack channel. Professor Konte does an OH session prior to each exam, but had to switch it up for the final since she was ill. Her responses on EdStem during BGPM really helped me.

    Conclusion

    A good course that certainly isn’t perfect. Lectures are dry and can be a lot to handle. If you’ve taken a networking course you may not get a ton out of this class, but worth it if you haven’t. Projects are the majority of the grade and are definitely the highlight of the course. Overall a good introduction into the OMSCS program.


    Semester:

    This was my 2nd course after SAD. I do not have a CS background and have intermediate level python and data science proficiency. I can understand the negative comments about this course which are mostly true (dry lectures, ambiguous last project etc.). However, I still liked the course very much as it did a solid job of giving me a thorough understanding of computer networks. As someone having absolutely zero background in this area I am thankful for making me interested in this field and I am now considering taking some network security related courses to gain expertise in this fascinating area.


    Semester:

    I learned what I wanted from this course but I didn’t really enjoy the experience.

    The course gives a decent grounding in what makes networks work, and why those design decisions were made. This includes internet architecture (layers), forwarding, routing, software-defined networking, security, and video/CDNs.

    The projects are enjoyable, but pretty easy. There’s no autograder for most, but it’s still possible to get 100% by just watching the video and following instructions. That was harder for BGPM because the instructions weren’t clear and were changed after it started.

    The lectures are as dry as the Sahara. There aren’t videos for most of them, so it’s just reading off the screen. It has the information you need, but it’s just not very engaging and it feels like a slog when there’s 20+ screens each week.

    I didn’t look at a single one of the readings and I’m still on course for an A on every assignment and exam so far. I don’t think that should be possible in a graduate level course.


    Semester:

    Unresponsive TAs for some projects (BGPM, which is the most time consuming one, you will spend more time on this one than the first 1-3 projects combined). Lecture notes have bad english (literally, i had to connect the dots half the time to know what they are referring to).

    In my opinion they need to make the projects harder like BGPM. Too much handholding for a grad level course on the first couple projects even though they arent worth much weight.

    I like the challenge but the class can definitely be improved. The best projects were the hard ones (which were the last 3) –you will definitely spend a lot of time on these if you dont know data structures, python APIs, and reading the 30 page documentation for one of the projects.


    Semester:

    I do not have a CS background and this is my first course in the program. Workload is not consistent and depends on if there is a project. Weeks where there are only modules there is minimal work.

    Grade weights: Quizzes total 10%, exams are 12% each, projects are 8%, 14%, 14%, 15%, 15% respectively.

    Modules/exams – it is pretty established that the lectures and notes can be a bit dry. I found the first half of the semester to be more interesting as the concepts were more tangible. I learned a good amount due to my non-CS background but it wasn’t that exciting. With open note quizzes, if you really just want to get through the week you could probably do all of the modules and weekly quiz in 1.5 hours or less. If you want to go through the material to take something away from the class it might take another 1-1.5 hours. Average grade on each quiz is very close to full marks. Quizzes are open note and take a lot of verbiage straight from the module. Exam 1 was not terrible but certainly a degree more difficult than the quizzes. Exam 2 is upcoming.

    Projects – there are 5 projects along with one optional/ungraded warmup project and one extra credit project. The warmup project is not worth mentioning, should only take 30 min or less. I don’t plan to do the extra credit. High-level overview of projects is projects 1, 2, and 4 have good documentation and are easy to follow. Project 3 had terrible documentation but once you figure it out it is incredibly easy. Project 5 had issues as people have discussed.

    Project 1 (Spanning Tree) and Project 2 (Distance Vector) deal with algorithms for bridges and routers, respectively. These were interesting projects, each took me about 10 hours but I am also slow and some people completed much faster. Student generated tests were provided to make sure the algorithms were working.

    Project 3 (SDN Firewall) set up a firewall to block/allow traffic. The worst part about this project was the documentation and understanding how to get started. I spent a lot of time trying to figure out what I needed to do, once I got started it took around 2-3 hours. People make it sound bad with the number of rules to write, in my opinion it goes very fast if you just implement the rules literally as they are laid out. If they say block x, then block x, if they say allow y, then allow y, don’t get creative. Overall not super interesting.

    Project 4 (BGP Hijacking) I actually enjoyed this project quite a bit. There are some tedious aspects to it, but I found it overall interesting. A paper is provided with a network topology, you basically recreate the topology where there is a malicious actor. Took me a bit of time due to user-errors in my implementation but once I realized my mistakes it was easy to fix.

    Project 5 (BGP Measurements) there were some issues specific to this semester that likely won’t be an issue in the future. The project was changed after it was released, we lost 2 days and they gave us 2 extra days. I feel bad for those who started early and had to restart. There was also a lot of ambiguity. This was by far the hardest project of the semester, many people put in massive hours due to new clarifications, thankfully I didn’t have that issue but still put in probably 30-40 hours total. I feel compelled to say that while there were issues with this project, it wasn’t the end of the world that some people made it out to be, and it was still manageable. The one thing that I didn’t like about this project is there was no testing framework so it was somewhat of a blind submission and hoping it works. The project concept was to read in files and process various information, such as how many unique IP prefixes are advertised.

    As someone who does not have a CS background, I still say this class was incredibly easy. One difficult project and one project with poor documentation, but other than that it was smooth sailing all semester. Average on exam was I believe a high B, average on quizzes are typically in the 90ish percent range, and on the four projects that have been graded so far, at worst 75% of the class got 100%. I put the rating as neutral as the modules were dry and I was expecting a greater challenge from the projects. I’ll update when the remaining grades are released.


    Semester:

    I had good experience with this course


    Semester:

    Having taken classes including AOS, IHPC, HPCA, DC, ESO, this class is trivial and definitely an easy A, relatively speaking.

    I rated the class Neutral overall because the content was only mildly interesting, but certainly not challenging or thought-provoking. Lesson modules took about an hour each week to complete. Projects were sporadic, so I spent 0 hours for most weeks, and maybe 5-6 hours in the weeks they were due, so I averaged to about an extra 2 hours/week.

    I agree with other commenters about project 5 (BGPM) being disorganized - the course staff could have done a lot better. But at the same time, this need not frighten you unless you have zero experience in any non-class setting, where oftentimes goals or tasks are not 100% specified for you. I also think it’s important to understand the type, quality, and expectations of students who enroll in this course (and thus how they will perceive the course quality), given that it has a reputation for being one of the easiest classes in the OMS program.

    For example, I found the following post (anonymous, taken verbatim from EdStem) to be representative of many students’ experiences, expectations, and quality of posts on EdStem (which to be fair, means there’s a significant degree of selection bias towards the students who post a lot):

    Hey, all I should say that we are suppose to have a wonderful semester. But this last homework brings too many issues. I do not know whether it is just I that have that feeling. I did not learn what should I implement but I learned how graph, how to remove errors, how to change different timestamp based on quite inconsistent instructions, how to solve solve data structure such as dictionary in dictionary(I personally do not know why. It is insufficient. Won’t be able to use in further question solving). This homework is quite break my thanksgiving. No test case! Specific input and output, which make us no zoom to walk. Guess that If you could not figure out the task1 or you make something wrong in task1, then I think you guys know what will happen to your task1B,C. Task2,3,4. I saw that one of our folks decided to give up this hw. But it is 15 points. You have to make sure that you won’t lose any point in exam1 and 2 to pass this course but get a B. I personally came here to learn what I want to learn. I did not see those debugging or understanding meaningful much to me. I was happy to be part of this course. But now I am so disappointed about this arrangement. I hope my voice could get TA or our professor attention. Before you make any decisions, here are hundreds and thousands of student will be effected. For all of the students who are struggling. You are not alone. Points/grades won’t be everything. It still is Three days to the deadline. I wish you all the best. Enjoy your weekend and Thanksgiving.

    For background, tasks 1, 2, 3, and 4 are loosely related but not dependent on each other. There are only dependencies across parts of the same task.

    Like, yeah, if you don’t know or want to learn how to debug, how to use nested dictionaries, or how to use basic and very standard python graphing libraries like matplotlib, then you won’t like the last project. But these are so basic that I question your readiness or intentions for enrolling in OMSCS in the first place. There is no tricky programming whatsoever in this class.

    If you expect to be coddled through each project, then you won’t like the last project. If the idea of being told to submit a graph of your results without being told exactly how that graph should look frightens you, then you won’t like the last project. If you don’t know what a CDF is and can’t learn about it from a Google search, then you won’t like the last project.

    If you’ve had any real-world experience whatsoever (where you’ve relied on your own good judgement to make sound decisions in situations where something isn’t perfectly specified for you), you’ll do just fine in the last project and in the class.


    Semester:

    My background is an entry level SWE with minimal CS academic experience (I do have some other STEM degree). If you are Non-CS, then be prepared to spend a lot of time in this class. This class is easy if you have intermediate python experience and reading through APIs.

    First two projects were algorithm intensive and werent that bad. Project in the middle were alright but time consuming (SDN takes up a lot of time and very tedious).

    For this semester, last project BGP Measurements was a mess. This is probably the worst project I have ever experienced in OMSCS. Be prepared to spend a lot of time. They changed the TAs this semester so disregard the good TA comments from past semesters.

    TAs very unresponsive, project documentation is lacking, oh and they revised the project several business days after releasing it –after they emphasized starting projects early. Unclear requirements met with no testing suite. Most TAs are unresponsive. The only TAs responsive is the head TA (you know who), the SDN firewall TA (bless this guy), and BGPH TA. Even the TAs for BGPM don’t even know what they are doing for the requirements. The professor had to chime in the BGPM posts to help out clarify some things –that’s how bad the last project is. This is probably the worst project I have ever experienced in OMSCS.

    Also the lectures are bad –just slides and endless amount of dry content. They definitely changed this class for Fall 2021. Dont recommend. Only good thing is that the professor cares and tries her best when it is needed but overall dont look like the CN team dont care. Just delivery of content/project and TAs should improve.


    Semester:

    Computer networks CS6250 is my first course in OMSCS. I took it in Fall 2021, and I am finishing up my last assignment in this course, 1 quiz and 1 exam left, so I believe it is a good time to share some of my experiences.

    A little bit of my background, I am a software engineer with 3+ years of experience, studied Computer networks from an Electrical Engineering perspective before, but never took the CS one. Not a super expert in Python, but I definitely did not face much difficulties with a bit of help from Google.

    To summarize it, I will recommend it as a first course in this program or a second class paired with a more difficult one. The course contents are decent, and the first 2 projects are good, but the last 3 projects are not that ideal.

    The course content is decent, starting with somewhat a review of undergraduate level CN topics such as TCP, UDP, 7-layer model and slowly transits into routing including interdomain algorithms and BGP for interdomain routing. Some of the newer topics in CN covered at the end such as SDN, Video and CDN. Many people do not like content being delivered like a self-reading and the lecture video is actually reading the script for you, but I found it okay, asI do not watch the lecture video at all.

    The projects account for 66% of the total marks and they are more like running simulations than developing actual products. The first 2 projects in my opinion are quite interesting and rewarding as they ask you to develop spanning tree and distance vector algorithms. The walk through videos for these 2 projects are also good.

    However, starting from project 3, it goes downhill. Project 3, is named as SDN firewall, but in fact you just need to read the problem description and translate that into a bunch of rules in a config file, and write a piece of very uninteresting code to parse those rules. It is more related to IT than CS in my opinion. It is very time consuming as you endup typing up 60-70 rules in a config file, and yes you may make typos and it took some time to debug. The auto testing only comes in the second week, so I manually tested it and that takes a lot of manual work.

    Project 4 is named as BGP hijacking, which again is not difficult but a lot of work. You are given a simple network topology in a starting code and you need to come up with a new topology according to a paper. You need to carefully assign IP addresses and draw a topology diagram properly so that you can translate the topology into a bunch of config files, yes config files again! After that you need to carefully modify the starting code to make it work with the new topology, which consists of no more than finding and replacing some strings.

    Project 5 BGP measurement is in fact a data processing project, where you are given some data files and you need to read the data, plot some graphs and calculate some statistics, of course all related to BPG. Some of the questions’ descriptions are misleading, so that some classmates actually are wasting time figuring out something useless. This is the only time I tried to post something in ED and TAs are not responsive. I heard from a student from the previous semester that this project takes 30-40 hours to finish, but it only takes me 6 hours as they improved the project a little bit with more precise requirements. In my opinion data processing, visualization skills are very different from software engineering skills for developing apps or systems, and could involve a ton of topics that this class should not and cannot cover such as Hadoop, Spark, Mapreduce etc. Therefore, this project should really not be here.

    Although I have spent more ink describing the non-ideal part of this course, I still feel I learned something in the end, and the topics covered here may help me in the future. So I will still recommend this course but at the same time point out that the last 3 projects are probably not that rewarding.


    Semester:

    This course is poor in my opinion. My review is in two parts, content, followed by coursework.

    First, most of the content is poorly written, inconcise, duplicated across slides, and even conflicting across slides. Most explanations are bloated and poorly worded making them hard to follow and understand, I spent significant amounts of time just re-reading slides again and again because the grammar and wording was so poor.

    The structure of the content is also all over the place, now this might just be my learning style, but I generally prefer some kind of overview, followed by a deep dive into the main concepts, maybe some caveats, followed by a wrap up. That’s not what this course does. The structure is random, the slides lead you down a path, throwing vaguely worded concepts at you left and right until you’re completely lost and unsure how everything fits together. Without having a structure to hang everything off, it makes it very hard to learn.

    The coursework isn’t much better, because they use an autograder, the submitted files have to be very exact. I understand why they use the autograder (too many to mark manually) - but as a result almost all the courseworks involve 80% of your time learning exactly how to format your answers to match the rubric, and only 20% on understanding the actual course content. The coursework descriptions have pages and pages of detail on exactly what steps need to be followed to get the result. I have become an expert at figuring out how to output the answers they need based on what the questions/rubric specify, but I don’t think I’ve learned anything at all about networking from these courseworks.

    This was my 7th course in the OMSCS, all of them vary in quality and style but they’ve all been good in various ways, but this one was mostly a waste of time for me.

    —- Update

    Despite not liking the course at all, I did the extra credit project and absolutely loved it. The project asked us to pick an internet “event” of our choice and perform some analysis on the BGP advertisements associated with it. I picked the facebook BGP outage from October and spent time investigating it and analysing the pattern of BGP announcements/withdrawals. I learned more from this extra credit project on BGP than either of the two official BGP projects. If only more projects were more open ended like this one.


    Semester:

    This course was OK, although I can’t say it will be one of the more memorable ones when I complete the program. It served as a good summer course because it was manageable with the compressed schedule. I wish the lectures/text were a bit better, but it’s easy enough to supplement it by reading the textbook chapters that were recommended. I was surprised by the amount of griping about the assignments. The first two are fairly easy if you are an Intermediate Python programmer (that’s where I’d rate myself). The last two took more time. The 3rd one (SDN Firewall) had pages and pages of material, but once you finally figure out what they are asking for (I’m going to do you a big favor and tell you here. First, parse a text file and convert it to OpenFlow fields, and secondly, write and test some Firewall rules), it’s not so bad. However, the error messages provided by OpenFlow suck and can be misleading, and you might take a while to figure out your bugs due to this. The BGP project is fine if you have used Python notebooks. If not, you’ll have a bit of a learning curve and using the VM means your performance is going to be annoyingly slow. You might be better off installing everything natively on your computer and then just checking it on the VM once done. I was surprised at the number of people complaining about this project. It really wasn’t that difficult. If they ask you to give the top 5 ASes by some metric, and you find there are 10, not 5, then fine, give them the top 10. Don’t whine about unclear instructions. These people aren’t going to make it in courses like ML, where everything is vague.


    Semester:

    TL;DR: Interesting course; great TAs; don’t let a non-CS background scare you off but make sure you are good with Python or willing to spend extra time learning it in more depth; as with any class, start the projects early; challenging but rewarding projects.

    It’s important to note that I don’t have a traditional CS background, and before this class had not spent a ton of time in Python. For context, I did not major in CS or math in undergrad; I have ~7 years of IT experience in mostly technical roles; I’ve spent plenty of time in Node.js via a coding bootcamp. So there was a bit of a learning curve when it came to Python, which accounts for why I marked this as a hard course and accounts for extra time spent researching data structures in Python. But I’m really glad I took this course, it was super interesting (although a bit dry content at times) and provided great perspective on networking. I loved that there was an intro module or two to make sure you were up to speed with things like TCP and UDP, I knew the concepts pretty well but it was a great formal intro for someone like me who doesn’t have a traditional CS background. The SDN modules and project were super interesting too. After a good grind, I was really happy to come out with an A in the course. If you don’t have a traditional CS background or haven’t worked with Python much, I would highly recommend brushing up there first, more than just an intro level. Get some work in with different data structures and such - dicts, sets, tuples, etc. I wouldn’t let that (not having a traditional CS background) scare you off entirely if you’re willing to spend a little bit of extra time focusing on Python (which I think was well worth it, and combined with an interesting course and great TAs, makes this course great).

    Projects: For Summer 2021 we had 4 projects as mentioned in some previous reviews.

    Spanning Tree (P1) and Distance Vector (P2) - Easy to Medium. Great video walkthroughs for each to help you understand what you need to do.

    SDN Firewall (P3) - Medium. Definitely start this one early, the API used is a bit funky but the TAs did a great job providing extra documentation and explaining aspects that were used in the project. I didn’t leave myself enough time on this one, managed to scramble for a decent grade but definitely start it when it comes out to make sure you understand the API. Once you do that it’s really not too difficult.

    BGP Measurements (P4) - Hard. This one was a real grind. As other reviews said, the environment makes it tough. But the TAs were all over EdStem to clarify things. At the end of the day though, this project feels so good to get completed. After scrambling on SDN, I started this one the day it came out and I was alright. It was still a lot of work even starting the first day because it’s not easy to setup and get started. But looking back on this one, it was a great grind and a great way to close out the course.

    Tests: Both tests were pretty straightforward. I spent a several hours reading through the study guide (student created, essentially just all the course modules in one place) a couple of times and going over the quizzes and made a 95 on the final. The test questions are all from the course content which is great. If you read the modules you will be good.

    Quizzes: Quizzes were not open note - at least for Summer. You’ll want to make sure you actually soak in the modules before taking them and they aren’t so bad. I came to appreciate the fact that quizzes they essentially forced you to study for the exams throughout the semester. The quizzes are also similar to the exams.


    Semester:

    As someone without a traditional CS background, I thought this course was a useful, if dry, introduction to networking. The key technical skill is being able to work with sets and dictionaries in Python. The lecture material is entirely text-based, and quizzes and exams are straight out of the lecture material. Reading the source material is recommended but not required as the lectures are paraphrased from the source material. Starting with this semester, quizzes are closed-book. You’re good to take the quiz after reading the lecture material. I took about 2 hours to prep for each exam.

    Summer semester has 4 projects: Spanning Tree Protocol, Distance Vector, SDN, and BGP Measurements. The first two projects are very well-documented. It took a bit to get my head around the SDN project, but I was able to work through it thanks to the annotated documentation provided by the instruction team.

    BGPM still needs significant refinement. The requirements are unclear, the API has minimal documentation, and there’s no official testing provided to verify that your implementation is correct. The Jupyter notebook environment is also unstable. I spent as much time on BGPM as I spent on projects 1-3 combined. Luckily grading seems to be fairly lenient. As long as you put in a good-faith effort, you should receive high marks on this project.

    Ultimately, this is a good summer course, and would also work well as a 2nd course during spring/fall semesters. It’s also a good 1st course if you’re new to the program.


    Semester:

    For me, I don’t think this is as easy as people here mentioned, but I think this is very depend on my background. I do have a Math/Stat background and found myself using Python for many years, all the concepts in this course are really new to me and sometimes I have to google a lot try to better understand them. The programming assignment 1 - 3 are not very hard. However assignment 4 is very ambiguous and you may find yourself spend a lot of time try to understand what they are looking for..


    Semester:

    The course needs some programming background in python. The summer semester I took has 4 projects and they have very elaborate videos/instructions on how to approach the projects. Out of the 4 projects, only the final two projects need VM. The final two projects(SDN/BGP Measurements) use APIs/Libraries very specific to networking, hence it may take some time to figure them out. Ensure you read the documentation and the external links provided in the documentation to make your life easier. However, the class is pretty active on slack and you will find most of the answers there. It seems more than 80% receive A in this class as the grading is pretty lenient too. I had some panic moments due to a lack of auto grader though. There are quizzes after each class (12 classes, 10 quizzes) and two exams(mid and final, not cumulative). The workload varies. The first two projects took about 10-12 hours including reading instructions, watching videos, debugging submitting. The SDN project took about 7-8 hours. The BGP project took some time to wrap my head around it. This is not complex but there are things you have to figure out about the API/graphs/plotting etc and the time spent could be around 25-30 hours. Quizzes and exams are memory-based. You can spend about an hour on each quiz and 7-8 hours total for both exams. So about 80 hours is a realistic number of hours you will spend on this course. It’s a good summer class or a to pair up with another class. Good luck.


    Semester:

    I loved my first class at OMSCS (HCI) and hated this one, my second. I coasted and finished with a very easy and high A, but I was disappointed in the quality and doubt I’m going to retain very much.

    I find a lot of topics naturally interesting, and I came in knowing very little about computer networks. And when I would read the companion reference textbook, I’d feel some of that interest again. But the actual course? Nope. The video quality is poor and the transcripts/readings have errors of every kind: typos, grammatical errors, terms used before they’re defined, redundancy, failure to give proper context or motivation, and many more. The quizzes are similar. Some of the problems with the course are easily fixable, and some probably require a course overhaul, and I don’t know which is more disappointing.

    The instructional staff did add a bunch of non-evaluative practice quizzes through the material this semester, so it is a good sign that they are making improvements.

    The projects are the best part (my opinion is that they should basically convert them into problem sets so something can be due every week), but still not great. As mentioned in other reviews, some of the assignments have a ton of avoidable ambiguity; hopefully this will be corrected in future semesters.

    If you are good at reading comprehension, multiple choice tests, and Python, this represents a low-effort easy-A course. If you are hoping to learn things more easily via OMSCS than you could from checking out a library textbook, I’d look elsewhere.


    Semester:

    This class was very easy and doable in the summer. There were some frustrating parts, but overall I think that the knowledge gained is very useful.

    Pros

    • The class is text based and works very well with text-based flash cards such as Anki. This might be a negative for most though, depending on how you prefer information given to you.
    • They take a very pragmatic approach to networking that I found to be immensely helpful to me as a software engineer.
    • Projects 1-3 took less than 1 hour to complete and test.
    • Modules were fairly condensed, following a paper or the lecture book, and usually took less than an hour each week to get through.
    • Module quizzes are very similar to weekly and midterm/final exams.
    • Very easy, required less than 10 hours for each week (aside from the BGP measurements project). I received near 100s on both midterm and final and had a ~99 in the class going into the final.

    Cons

    • Almost no video content to speak of. This was fine for me personally, as the instructors accent is very thick. I would almost never watch the lectures, instead using the content transcript provided to make notes. This worked very well for me, but I could see many students taking issue with this.
    • Project 3 was incredibly boring and tedious, requiring you to build 50 firewall rules.
    • Project 4 (BGP Measurements) was a nightmare because of its ambiguity. Many questions were asked, and few received responses. The problem was that students started duplicating questions and the instructors quickly became overwhelmed. By the end of the project there were hundreds of missing responses.
    • Start BGP measurements early. I am highly proficient in Python and this one took the entire week for me to complete. Of course, the ambiguity of the questions were such that I had to do several times the work since I wasn’t sure what they wanted.
    • No automatic grader for submitted code, but testing harness provided by TAs is still very good.

    Steps to succeed

    • Use the study guide provided to make an Anki deck for each module. The study guide questions are almost always answered in lecture content and are definitely used to guide exam questions. For the quizzes and tests, you should know these questions very well.
    • The extra credit is worth a whopping 3% of your grade. If you find yourself in a precarious situation, be sure to do it. Once I figured out how to get the data they wanted, it was a breeze. Total time for the EC was 3-5 hours. Also, they do not say you cannot use examples provided in the lecture, so do yourself a favor a stick to one of those.
    • Each project has a testing harness the TAs will share with you. Make sure you fully test your code out with the variety of testing sources provided by the instructors.
    • Be wary of the BGP measurements project. This will be challenging as the questions are highly ambiguous and it requires a great deal of somewhat complicated Python code. This one took me a great deal of time and I am highly proficient in Python.
    • If you find yourself confused by the lecture content, the book is available as a PDF online. I found it useful to skim through sections that were being taught for additional information where necessary.
    • Office hours are not useful.
    • The TAs are in the slack channel, be sure to join, but be careful of what you share.


    Semester:

    I am from CS background and found it as straightforward course. I took it in summer, so the schedule was a little condensed. But it didn’t feel like much painful, giving it a “medium” difficulty though. Only the second last week was much condensed because the last lesson’s quiz (most lengthy among others), and project (most complex than others) and extra credit (most unusual than the entire course) were due altogether. Otherwise, it was nicely paced.

    TAs and Professor are fine and helpful.

    The course had 10 Quizzes corresponding to 10 Lessons (10%), and 2 Exams, 12% each. Both are fine as long as you follow along with lessons. Had an extra credit task (3%). Most importantly had 5 projects (66%): 1. Simulating Networks using Mininet (optional) [Least time consuming 5 Hrs] 2. Spanning Tree Protocal (18%) 3. Distance Vector Routing (18%) 4. Software Defined Networking (12%) 5. BGP measurement (18%) [Most time consuming 25hrs]

    I bought 6th edition of Kuross and Ross book “Computer Networks”. In lessons, the 6th edition is referenced mostly. And on some placed the 7th edition is referenced especially in the topics of “Software Defined Networking” and “Applications”. I referenced the book for the first half of the course and it was helpful.

    I also tried to get familiar with Mininet before the start of the course. Doesn’t really need it. You can pick it up in the course, not heavily get used.

    Videos are not much helpful. The written content in lessons is sufficient.

    Overall, a nice course. I liked it. Might be possible to double up in spring/fall terms. But make sure to start on the projects and Extra credit task ASAP (especially the last one BGPm).


    Semester:

    Good class to take if you need to chill for a semester. However, if you have no interest in computer networking, you might find this course a bit dry. The assignments aren’t hard, assuming you know some Python, but studying for the quizzes and exams will be a bit rough (as in mentally) because, if you have no interest in the subject matter, it will just be pure memorization followed by instantly forgetting the material. But again, this is a good one if you need to focus on work for a while or just need to (mostly) tune out for a semester, but still want to make progress toward graduating. From what I gathered, those who enjoy this subject found the course to be really good, it just wasn’t for me. That said, it’s very well run and organized, which makes it a smooth ride even if you’re someone that will probably never think about networking again. Bottom line, it’s a great course - but if networking isn’t your thing, don’t expect to be too excited by the material.


    Semester:

    This was a great compliment to my undergrad networks course, as it covered more practical, real-world issues in networking, whereas my undergrad course had a more academic tone. I particularly liked coverage of security issues, defense tactics, and software-defined networking.

    Pros

    1. A good summer course. It’s not difficult but still provides a wealth of knowledge while requiring steady attention.
    2. Lectures - some complain about them, but I think they set a nice standard, b/c they’re text-based. I think you’ll find they save a lot of time on note-taking. In part b/c they’re already a great starting point (just copy them into a document and revise as needed), and b/c they lack small inconveniences of video lectures - accents or bad handwriting, slow videos, continually pausing or skipping back to capture correct wording, taking screenshots, etc.
    3. This course flows cohesively. Meaning, lecture material directly carries over into quizzes, assignments, and exams; there aren’t many surprises or tangents. A less cohesive course might be one like KBAI (before its recent revisions), where the Raven’s course project had little to do with lectures and maybe left classmates feeling ill prepared for it; it felt like a separation from the rest of the course. This course doesn’t have that - everything stays bound to lecture material throughout the course, which also means lectures do a great job of setting you up for success.
    4. Course projects are mostly well done. The first 2 provide exemplary handoff and run-through videos. The 3rd project (SDN) is a bit more cumbersome, but the 4th one (BGP Measurements), wasn’t so good. I mention its issues below.

    Cons

    The last project had 2 glaring quality issues:

    1. its requirements were poorly worded and questionable in some places. They rightfully frustrated or concerned a number of students. It’s as if the assignment wasn’t worked through or reviewed by instructional peers prior to releasing to hundreds of students. By comparison, the TA that administered the first 2 projects exercised more care over the requirements and hand-off process to students. Prior semester students voiced similar complaints about this project, so it’s unfortunate if the assignment isn’t being improved from one semester to the next.
    2. The Jupyter Notebook environment was a cumbersome distraction (and requirement); it should be dropped. Instructors should find a way to administer this assignment w/out requiring it be a Jupyter Notebook.

    Conclusion

    I found this course rewarding, and generally a pleasant educational experience. The text-based lectures are convenient and easy to consume, and the course stays true to material presented in them.

    This course’s primary quality issue is the final project. Making its requirements more explicit, w/example data to better depict what a task is asking for or how to handle edge cases, would would make the course so much better.


    Semester:

    Don’t listen to all the easy reviews here. Its shows that the workload is less than software analysis and design which is untrue. It was the opposite for me. If you take the course with the expectation that its easy you’ll be wasting money if you are withdrawing from it.

    Some say they have a non-cs background and its easy, you’ll still end up spending a lot of time on it. TA’s put some effort on ed, yes, but some questions will go unanswered. On slack you’ll find groups of people only helping each other, finishing assignments early and some will be left out. This is why they say its easy.

    If you’re the one left out, your grade will be impacted. Even if you start early, if you don’t understand all the requirements, you’ll spend lots of time on the assignments.


    Semester:

    Overall I thought the course was just OK. I found it overall easy with a pretty low time commitment, good summer class or to pair with something else. If you want to brush up on networking or are just looking for a down semester, I’d recommend it.

    The weekly lectures were fine, if not a little dry, but that’s not unexpected. There are weekly closed book quizzes to go along with the lectures that I was not a big fan of. The questions often seemed difficult to answer by just using what was presented in the lectures, pulling from the ‘optional’ textbook which I did not opt to purchase, and sometimes just contradicting what was said in lectures. I usually got somewhere between a 70-90% (the quizzes are 10% of overall grade so each one isn’t too important, but overall they add up).

    The exams were also fine, exam 2 is upcoming, but exam 1 seemed more fair to me than the quizzes. Exams are worth 12% each.

    The projects were the best part overall, worth 66% total. The first 3 projects I found interesting and helpful towards understanding the course content, each one took me about 4 hours. Don’t underestimate them though, I did get cocky on project 2 and didn’t bother running the student test suites, which cost me a big chunk of the grade. The 4th I won’t harp on as its already been done. I did find it interesting, but I can’t argue that it needs some polishing. It took me probably 10-15 hours total, most of which I did not enjoy. I think there are also 2 other projects in fall/spring.

    There is also an extra credit project worth 3% of the overall grade, can’t speak to it as I didn’t bother with it.


    Semester:

    I took this course without any computer network background. I took IOS without any background in OS last semester either. I found this one much easier than even IOS. Such observation could be biased because I took IOS and got some programming experience. But even if I took these two the opposite order, this one should still be easier than IOS.


    Semester:

    Lectures and quizzes (10%)

    12 chapters in total, each with a follow-up quiz, quizzes are close-book using proctortrack with around 15 questions each, most of them are single-choice questions. Room scan not required. For some part of the lectures there are no videos and only transcripts are provided. I don’t find the lectures hard to follow in general, but for the first few weeks I recommend reading the K&R text book to bring yourself up to speed.

    Projects (66%)

    In summer semester there are 4 projects in total: spanning tree, distance vector, SDN firewall and BGP measurements, plus one warmup (no credit) and one extra credit (3% of total). All of them uses python. No gradescope for this class, so you have to implement your own tests to assure the robustness of the code before TAs grade it, luckily there are student-provided test scripts for the first 3 projects. None of the first 3 projects took me more than a day thanks to those tests.

    However this is not the case for the final project, which is basically a data analytics assignment to process bgpstream caches and plot graphs on jupyter notebook. There isn’t much coding involved but I consider this project to be time consuming due to following reasons:

    1. Instructions are too short and poorly worded, starting from part3 you need to either look up the detailed explanations on explicit RTBH events posted on Ed or attend office hours to figure out what exactly are they asking you to do.

    2. Class-provided virtual environment is needed, depending on the hardware and efficiency of your implementation, the notebook kernel might crash while running, at least it happened to me several times, and was a gigantic waste of time. Allocate more resources to the VM might help, but I ended up installing all dependencies and run the program on the host machine.

    Exams (24%)

    One mid-term and one final exam, close-book using proctortrack and requires room scan. The questions are not too different from the quizzes, and you have sufficient time to finish them.

    Conclusion

    Writing this review after the final project. I don’t have previous CS background and consider this course to be beginner friendly, would rate it very easy without the final project, hopefully they can rewrite the instructions for the final project and make some of them less ambiguous. Recommend it as a first class (if you don’t get into 6300 or 7646) or a summer class to pair with another.


    Semester:

    I come from a non-CS (B.S. Biology), non-SWE background and found this course to be relatively useful. The content itself was not super captivating, but it helped to form a foundation and understanding of just how the internet works. Overall, great intro course to how networks work in general, and it’s a good jumping off point to dive into topics more deeply on my own.

    For the summer term, there were 4 projects (66% total worth), 10 quizzes (10% total worth, average 1 quiz a week), 2 exams (each worth 12%), and 1 extra credit assignment worth 3%.

    There were a lot of complaints for the last two projects this term due to poor documentation, language in the learning modules that can be polished up, overall workload required, and time-constraints. That said, I found the projects relatively straightforward even from a non-CS background who doesn’t even work in the software industry. Across the board at GA Tech, you’re expected to already know how to program and if not, be able to pick up a given language to complete the assignment. Many of the negative reviews and experiences stemmed from students unable to figure out how to troubleshoot, understand data structures, or dig deeper. There are some grammatical errors in the Canvas modules, sure. But the references to each of the publications are listed right at the bottom of the page. It doesn’t hurt to click on a link and read a second source if you’re confused. It’s possible to score highly on all quizzes just by going off the info on the modules and not having to read elsewhere. They are sufficient to understand the concept. Refer to the publications if you want to dig deeper and solidify your understanding.

    The first two assignments, Spanning Tree and Distance Vector, were very straightforward and easy enough to figure out with all the resources available and test suites posted by students and TAs. I spent roughly 10 hours on each in total. The second to last, SDN Firewall, took a bit more thought up front, but once you figure it out, it’s relatively straightforward to implement and test. The last project took the most time due to the number of questions to address and amount of programming involved. I spent closer to 20 hours for this one just to get my answers right and feel confident in my work. Again, doable if you dig deep in the documentation, search EdStem, and know how to troubleshoot. Dictionaries and sets are your friends, print() statements for debugging, and help() function are what I used to understand more of the underlying object structure.

    Don’t listen to all the negative reviews here. This is a masters program, so some effort will be required. If you get stuck or complain because you don’t have a nice 50 minute YouTube video to walk you through the assignment, the pseudo-algorithm to implement, and 10 different case examples and test suites, then you’ll have a bad time… Also, if you procrastinate on the assignments, then that’s on you.


    Semester:

    Projects - Course was easy up until the final project, which took more code and more time to program than the other 3 projects combined. For that alone it made the course difficult. If you are new to python and don’t know your way around OOP and the basic data structures python offers (especially dictionaries), I would not recommend this course.

    Quizzes - Quizzes suck, they require explicit memorization of course content (which is usually expected to some degree), but also require you to infer some tricky/ambiguous language.

    Exams - Still haven’t taken the final yet, but the first exam was “OK”, nothing brutal but my only gripe is that if you didn’t understand a concept, you may miss several questions as they typically built upon each other. I would recommend that they make each question a completely independent concept from one another if possible.

    What I mean by that is they would ask a question like: (1). If A, then B and another just opposite logic: (2) If B, then A.

    if you got them wrong, then you missed two questions for not understanding/memorizing one concept.

    Overall - I would take again, it wasn’t insanely difficult, easy B and semi-difficult A, but then again I knew python prior to taking this course…. Also buckle up for the BGP Measurements project its LONG and the requirements as laid out in the project handout .pdf are completely ambiguous. I think the whole teaching staff completely dropped the ball on the BGP Measurements project, it needs to be refined so that any ambiguity is removed.


    Semester:

    Don’t consider the reviews by people saying “pretty chill”, etc. Its not easy. There are people struggling to finish the assignments and the ones finishing the course early might be very familiar with programming. Currently 108 new threads on ed for the final assignment alone. This is the most that I’ve seen for this course. Shows that its indeed difficult and requires a lot of effort.


    Semester:

    Pretty chill course. Assignments don’t require thinking but rather can be done by just brainlessly implement whatever the document says. A1 took me a few hours, A2 took me 1 day. A3 was a bit tricky and took me 3 days. A4 I finished within 2 days while working as a full time software engineer. So far 100% on projects. Very straightforward and easy.

    Pretty straightforward exams and quizzes, but unfortunately the material was not interesting to me. Glad I didn’t go down the network engineer path. I wish I paired this course with a more challenging one.


    Semester:

    I took this class because a lot of reviews indicated it was easy. This class is NOT easy by any stretch of the imagination. I’ll be lucky if I get a C. The instructions for the projects are not straightforward at all and require an insane amount of prior knowledge in the subject. Project 3 for this summer required working knowledge of the OpenFlow API and the project documentation was convoluted and had no logical flow. Overall, I do not recommend taking this class unless you are already well versed in computer networks and python.


    Semester:

    I agree with the previous review. This course is not easy by any means. Currently struggling with 4th project and the documentation supplied is very poor for the time duration provided. In 2 weeks they expect you to understand the manual implementation with a minimal guidance as possible. The ones I see finishing the project fast are those who previously used a similar software at work in a company like Cisco. I mean, I came here to learn, not to do things with basic directions and figure everything out by myself in 2 weeks. Worst part is that your grades are affected thereby making the time and money invested a complete waste.


    Semester:

    I do not usually write a review but I just have to leave one for this class, for the sake of the future generation who wants to take this class. So here goes my first review ever on OMSCentral.

    Let’s start from the positive thing first. The only thing I like from this class is probably the TAs. They are mostly there on EdStem and they are responsive as well. They recorded very helpful videos on YouTube that helped us to understand the assignments better. However, the cons do outweigh the pros in this class.

    First of all, the module contents are poorly written. I’m not even an English major (nor minor), but for Pete’s sake someone needs to re-read and edit the modules so students can easily understand the materials. The punctuation, the precise grammar, and just the basic things you’d need to understand the materials are simply non-existent. You’d probably fare better reading Kurose book on your own and/or google the topics yourself to better understand the subjects (and when you do that, it makes you wonder why you’d even pay for this class in the first place).

    Secondly, assignments are probably (or should I say most definitely) not for a Python newbie, so you may want to brush that skill very well before joining the class. And when I say very well, I mean very, very well, otherwise you’ll end up spending all weeknights and weekends cranking out your code for the assignments. There is no Gradescope nor any autograder, so nobody checks your code before you submit it. You can only check it with test cases/topologies. Also, the assignment is due every two weeks.

    In addition to the biweekly assignment frenzy, there are also weekly quizzes. Logically speaking, it is called weekly quiz because there supposed to be just 1 quiz per week, however, on the July 4th long-weekend they just had to make us do not 1, but 2 weekly quizzes in one week. Yes, you read that right. I had to cancel my long weekend plan the minute I noticed this. And as a cherry on top, everything (quizzes, exams) is closed-book and almost 100% rote. It really is just too much for a short summer class.

    TL;DR - if you’re a Python wizard and have a photographic memory, then this class might be for you, otherwise, take it from me and do yourself a favor: skip this one and find another class worthy of your precious time (and your hard-earned money).


    Semester:

    I’m unsure why people are saying this class is easy. Its not easy if you’re new to programming and unsure how different pieces of the files are linked to each other. You also have to implement the logic based on what is taught which is not easy by any means. Later chapters for quiz material is not easy to digest and its difficult to manage theses quizzes and projects on a short summer timeframe.

    I have updated my review to dislike just cause of the documentation for project4. The time duration and ambiguous documentation for the requirements makes debugging simple programs difficult.


    Semester:

    This is one of the worst classes that I’ve taken in the program. Why did I pay for this semester to just read text? Where are the lessons? The best lessons come from youtube videos made by a TA to go over the projects. This is clearly someone else who just took over the class and it shows.


    Semester:

    Overall, a good survey course on networking that goes a bit deeper than a typical undergrad networking course. You will work on interesting projects that are not very difficult, but still manage to enforce some of the concepts that are touched on in the class. The course organization is top notch. Grades were typically back to students within a week, which is impressive considering how many students are enrolled at a given time.

    The course lectures are mostly text based, with some video lessons sprinkled throughout. The videos consist mostly of reading the text that is currently on the page, so you can mostly skip watching them. Some of the earlier videos that walk through spanning tree protocol or distance vector may be helpful for your projects, but I stopped watching them after the midterm entirely. There is interesting content in the lectures, although the delivery is not the best.

    The weekly quizzes will keep you on track as far as reading is concerned. They are open notes, open internet, and most questions are straight out of the reading. There will be a couple each week that require a little more thought.

    One of the best parts of the class were the projects. Although they are on the easier side of projects in OMSCS, they still do a great job of testing your understanding of networking algorithms. The second (Spanning Tree) and third (Distance Vector) are probably the most difficult, but some test cases are provided so you can perform a sanity check. In the semester I was enrolled, students worked together to build test suites that did a good job of validating your implementation. Hopefully the TAs held on to those projects and will distribute to later semesters. The last project (BGP Metrics) was the only one that was not much fun. It was the first semester that it was released and will likely go through some iterations.

    Exams are straightforward. The TAs provide a study guide that you can work through in order to prepare. I recommend answering the questions on the study guide and running through it before you take the exam.

    The teaching staff is very involved and does quite a lot to make sure that students can be successful in the course. Piazza posts would typically have an instructor answer within an hour, and usually less time than that.

    This class is a great candidate for a summer course, or to pair with another course.


    Semester:

    This helped me get a more concrete picture of how the Internet works, and the projects were interesting.

    The projects are straightforward, but can still be time-consuming; the course may not seem easy at all if you procrastinate.


    Semester:

    Background: BS and MS in Mechanical Engineering, work as a Data Engineer and have been working in IT for 5 years.

    This was my second class. I went in primarily to complete the foundational requirements thinking that this would be an easy class but the learning that I was able to get and the gaps in my understanding I was able to fill was so much that I am more confident on networking basics now. From what I understand this class covers the next level of Networking taught at undergrad levels. I never took any undergrad networking course so wasn’t sure if I would be able to comprehend the content but the topics covered are not difficult even if you don’t have an undergrad exposure to networking.

    Pros:

    1. The weekly tests(open book) make you go through the content every week even if its just .7% percent of the total grade it makes you learn the content at a week level which makes it easy for the mid and final exams
    2. The TAs make the learning so much more easy. They have TA chat sessions pretty much 4 days any given week. The timing is spread out and its not all in 7 pm EST but TA chats are useful.
    3. The Youtube videos that Head TAs put out at the beginning of the project makes the whole project solving experience so much easier. All projects use Python. Added to that the Slack chats are also very helpful. James Lohse the Head TA was so prompt and had a quick turnaround that getting info on projects was never a problem.
    4. The topics are well formed. I totally loved the Border Gateway Protocol (BGP) and Software Defined Networking (SDN) chapters as this is practical , usable knowledge. Some of the concepts I learnt in this course helped me to connect the dots in my day job.
    5. They give out an exam guide with summarized questions which are useful in gauging exam preparedness. Exams are not difficult and will mostly mimic the weekly quizzes.
    6. The papers that are linked with course modules are also super informative. One of them is on how Youtube does its content distribution

    Cons:

    1. Some of the module content reading can get boring. I had to supplement reading modules with watching some youtube videos/Lynda.com videos to get a better understanding of topics.
    2. Some projects can take inordinate amount of time to solve. I remember working on the SDN project for close to 2 weeks which is the total duration given for project submission. The project was not even that complex but required reading through API documents and some of the project description wording was unclear, the TA chats were super helpful but for what the final version ended out to the amount of time it took was just inordinate.

    This course was more like an EDX.com style course as in the most content is in the reading modules than in the videos. If you are someone who is from non CS background then you need to enroll in this course. If not for the 10 courses for graduation then maybe as an extra 11th course.


    Semester:

    The Blue Jeans meetings and the piazza posts make this class one of the best. Highly interactive class where TAs and Prof. Konte constantly participate in discussions on Piazza and office hours. Definitely recommend for anyone who has some idea of coding and networking as a first course.


    Semester:

    This was my first class, and I enjoyed it ! I had little to no Computer Networks background, I work as a Software Developer (C/C++), but my undergrad was a BA in Information Science. I have little experience in advanced Algorithms and this got me on the second project. Even having absolutely bombed the second project, better managing my time and giving myself more room to actually work through the projects early gave me success in the class.

    Simulating Networks - Insanely easy. Spanning Tree Protocol - Tests your algorithms, make sure you apply yourself and follow the walkthrough. You should be able to figure it out if you start early ! Distance Vector - Follows in difficulty from project 2, slightly easier since it’s a similar concept. Tests your algorithms, follow the walkthrough. SDN Firewall - Easy, spend a lot of time with the documentation before starting and the implementation is a piece of cake. BGP Hijacking - Easy, fun but not in a challenging/rewarding way. BGP Measurements - Caught me off guard, difficult given the environment it’s in, the first semester for this project so hopefully improvements will be made. Challenging in a rewarding way, requires a lot of thought.

    The extra credit was a simpler version of BGP Measurements, it was a lot of fun to work with the same environment/setup after getting to know it a little bit and was more rewarding because I already had a clue of the direction to go in. But it won’t make a huge difference in your grade and it’s probably time better spent focusing on the exam.

    I’d say the course is an awesome first class and I learned so much, great for learning python (I had not touched it before), and good exposure to various concepts. Professor Konte is also a great resource and provides a lot of great information alongside awesome TAs.


    Semester:

    Background: BS in Actuarial Science, self-taught Python, no experience/coursework taken related to Networking.

    Grade Breakdown: 70% Projects (6 in total) 20% Exams (2 exams – closed book) 10% Quizzes (12 in total and they are open-book) 3% Extra Credit Textbook is optional.

    Quizzes are easy. You can read lectures and then take the quiz right after. You can even google if you can’t find a clear answer from the lectures. For the exams, the profs/TAs provided a study guide to prepare, so between reviewing that and the quizzes, you should be able to pass the exams. Bonus, the professor also held a session for exam review. The projects are done in Python.

    The projects are: Project 1: Simulating Networks (Easy) Project 2: Spanning Tree Protocol (Difficult – requires some thinking) Project 3: Distance Vector (Medium) Project 4: SDN Firewall (Slightly Difficult – need an understanding of the OpenFlow API) Project 5: BGP Hijacking (Easy) Project 6: BGP Measurements (Difficult – new project; time-consuming)

    I was able to get full credit on all the projects and got a 96% for the class. It is important to start on the projects early and be active on Slack & Piazza. Sometimes fellow students and TA will drop some hints and ideas in Slack. Be sure to have a good understanding of Python.

    This was my second class. I would recommend it as a good first course to take. From what I have seen, the people that are saying that the class is difficult are mostly the Cybersecurity students (no offense). Overall, I enjoyed the class.


    Semester:

    I took this course with a minimum computer networks background. It is a nice course with good projects to complement the theory presented. The professor was active on Piazza and we had two almost 90 minute sessions before exams with her. The course content (albeit a little dry) is good and updated to reflect the current happenings. Their TA team was amazing, always available and willing to help (special shout out to James).

    I like the pace of this course. Every week, there was a quiz of the material read. The quizzes were fairly easy, asking questions from within the modules.

    We had 7 projects in the course. Most of them were fairly easy but a couple did take extra time. Personally, I found the BGPM and the Openflow projects hard. On the weeks when the projects were ongoing, the time required would go up to 12-15 hours/week.

    Overall, LOVED the course. The TA team had a great hand in this experience. Learnt a lot. Would definitely recommend.


    Semester:

    3rd course in OMSCS. Currently work as a professional SWE.

    I majored in math in undergrad, so I actually didn’t know much about networking before. Took this course to learn about networking in general, and because it was rated as an easy class and I wanted to chill.

    It was as easy as I expected it to be. If you know how to code and read, you’ll be fine.

    Class is broken up into 7 projects that total 70% of your grade, two honorlock-proctored exams at 10% of your grade each that cover the first and second half of the course content (aka, not cummulative), and a bunch of open book quizzes that total 10% of your grade.

    The projects can be really easy sometimes, and other times take a bit more thought, but are otherwise not very difficult. They do actually teach you something about networking algorithms and concepts to some extent, which is good. Allocating a day right before the project is due is generally sufficient. I received 100% on every project, so I think that is a pretty reasonable assumption. Projects are done in Python, generally on the course-provided VM.

    I studied for about 2 hours for the second exam, received an 80%, and about 5 hrs for the first exam, and received an 90%. Quizzes can be sort of easy sometimes (search and find solution), while other times require some thought, but still are centered around just making sure you did the reading - there is a quiz for every week there is a reading.

    Readings are not bad, and teach you a good amount about the networking topic at hand. I personally find networking a bit dry and boring, but also very useful and applicable in the real world. So, even though I didn’t read too much in depth, just enough to complete quizzes and exams, I still feel I got a better understanding of networking from it.

    Instructor is VERY active on Piazza - really nice! TAs are helpful on Piazza as well.

    I was attempted to rate it a neutral, however, because, to be frank, this course is not graduate-level intensity. But, overall, I Liked the class because it did exactly what I expected it to do - help me learn some networking that I didn’t know about before without being ridiculously hard.


    Semester:

    I had watched the original CN lectures on Udacity a few years ago just for my own education, but otherwise, I didn’t have any specific background in CN.

    The professor and TAs for this class were very responsive and helpful. Overall they were great and I thought this was a good class. The projects are pretty easy. The material could still use a little more proofreading (I believe it’s still in development) but I found the subject matter to be very interesting.

    A lot of people said the first 2 projects were harder but I finished both very quickly. I’d suggest the most straight-forward approach for the earlier projects. The TAs made video walkthroughs and I just followed those and basically completed the project by the time I finished the video. Oddly, I found the later projects to be harder, while the general consensus was that they were easier. So maybe I’m just a bit of an oddball. The projects make up most of your grade, so be sure to put the most effort into them. I thought they were pretty fun, but I generally enjoy programming.

    The quizzes are hard to get a 100 on consistently, but they don’t count for much, so as long as you get a 70+ on them, you will still be able to get an A very easily. (They were open book the semester I took this class, apparently they’re closed book now)

    The exams are not too hard either, as long as you review the lecture material, you will be fine. It’s really not that much material and the exams aren’t cumulative, so you can cram if you really need to (although I would never recommended procrastinating anything in omscs).

    It would be awesome if this class had an autograder, but the TAs have said that’s unlikely due to technical short comings with Gradescope (root issues). If they could make that available, this class would be perfect: you get to learn a lot (of interesting stuff imo) and also get an easy A. Even without an autograder, I think this is a pretty good class. Over 70% of the class got As, so the course could probably be a little harder, but as long as everyone’s learning, I don’t really see the problem.


    Semester:

    My CS background is a couple of years of iOS development in Swift. Prior to taking this course, I had no knowledge of computer networks at all except that my proxy at work was difficult to figure out. I also had a bit of experience with Python, but not much at all (I probably couldn’t write hello world without looking up the syntax).

    The course content overall was great. I learned a ton about the OSI model and terms of the field like TCP and UDP. Enough to be dangerous. I mostly followed along with the recommended textbook, which has similar content to the course lectures, but adds more information and has some additional practical problems.

    The course quizzes are relatively easy, but sometimes have tricky wording. I wouldn’t worry so much about the quizzes since they are a small portion of the grade.

    The projects were interesting, and definitely forced me to look up a lot about Python and how different data structures are implemented. It’s nothing out of the ordinary though, so if you have any experience with other programming languages, it should be OK. The projects were focused mainly on different kinds of routing algorithms.

    Overall I did learn a lot. I would recommend doing the extra problems in the textbook as well, as this can help solidify your knowledge. Personally, I would have also liked some more practical problems as part of the class content, like using Wireshark to sniff packets, writing our own protocols, etc. This kind of practical knowledge is what I think will be more helpful in my career. That being said, I have a good foundation now to go back and do further review on these concepts and put some more time into it.


    Semester:

    Pros : Project-driven learning. Covers broad theory as compared to just the L2-L7 stack details. Includes real-world examples. The required and optional reading material is an excellent source of relevant information.

    Cons: The video lectures can be improved to make the content more interactive (as opposed to just a repeat of the prose copied in each slide).


    Semester:

    I took this class to get an introduction to networking and as an easy class to pair with a difficult one.

    I think I got a lot more out from the course than I expected:

    • I gained exposure to python, never used it before; now I feel pretty comfortable with lists, sets, dictionaries, etc.!

    • I understand the basic networking concepts pretty well now and curious to learn more about SDN, OpenFlow, etc.

    • I liked to read rather than watch videos, and I was glad the class material was all available as text. Each week they introduced something new, and the open book quiz at the end of each chapter helps you gauge your understanding.

    • The projects were well organized and engaging, and at the end of the project, it all made sense!

    • Prof. Konte is excellent, her exam preparation office hours were beneficial, and she is active on the piazza.

    • TA’s for this class are pretty good. (the project introduction videos cover every minor detail, and the office hours are good to get any clarification)

    • My classmates who came up with the test suites, you guys are amazing! Also, people who clarified questions and also answer fellow student’s queries, Thank you!

    I got 70/70 in projects, 9/10 in the weekly class quiz, 7/10, and 9/10 in the exam.

    Hours Put (approximate):

    • each week, 2 – 4  hours to read through the course material, make notes, and attempt the quiz.

    • project hours were variable, but overall 5 – 10 hours depending on the project.

    • exam preparation was to review my notes and attend Prof. Konte’s exam preparation office hour!

    I feel I got a lot more from this class than the other challenging class I took this spring, considering I am getting the same grades in both classes, 95%!


    Semester:

    First course in the program, non cs undergrad. Overall good first course, learned some fundamentals of networking which are important. Thank the Lord I dealt with a few personal issues during the term but was still pulled off an A (barely).

    Pros:

    -Good first course

    -Great TA’s / Prof

    -Great material to know (if you don’t have a cs undergrad)

    Cons:

    -The project descriptions were way too long (need to be condensed)

    -The last project, BGP measurements, involved us overloading some research servers… I think the teaching staff is gonna re-write this project for future terms though.

    -I felt like the exam questions could have been a bit better… after grading, a bunch of them required revision (but this is more of a term specific thing so I don’t know the chances of it happening again).

    ***ALSO IF YOU HAVE AN M1 MAC, GET AN x86 COMPUTER ASAP BEFORE YOU START THIS COURSE. YOU WILL BE IN A WORLD OF HURT IF YOU DON’T.


    Semester:

    I really liked all projects in the course. The course projects were well designed to reflect what the course is trying to teach. Prof. Konte took every effort to help students understand the subject.


    Semester:

    The hardest part of this class is the lectures. There are very few videos and much of the written content is poorly worded. I had someone else read the lectures to me so the grammar would pass through another person’s brain and I could focus on the content rather than parsing the sentence. This was the biggest chore and made the class much more difficult than it needed to be.

    The quizzes, though open notes, were also difficult because of the confusing wording of some questions. The TA team and Prof Konte were very lenient with giving back credit and the quizzes didn’t heavily influence the final grade. The exams were much easier than the quizzes as the questions were more general and hit on the main points of each lecture series. Prof Konte’s office hours before each exam were incredibly helpful when refreshing. I hope she continues this in the future!

    Aside from the lectures, the projects were quick little things. The provided documentation and video walkthroughs basically handed you the solution. I could solve all of them in a few days and they required very few lines of code. I recorded the days spent on each project so you can view my work schedule. I did not record the hours spent, and some projects I did not begin right when released. There were sometimes errors in the code base since the TAs were updating to python3 and it was worth it to wait a few days for the working code. After having to update the first three projects, I purposely waited a few days to begin projects 4-6.

    Project 1: Simulating Networks Released 1/14 Completed 1/16

    Project 2: Spanning Tree Protocol Released 1/14 Completed 1/17

    Project 3: Distance Vector Released 2/5 Completed 2/9

    Project 4: SDN Firewall Released 2/27 Completed 3/9

    Project 5: BGP Hijacking Released 3/14 Completed 3/18

    Project 6: BGP Measurements Released 3/28 Completed 4/5

    There was also an extra credit project that I did not do.

    Overall, the course was incredibly manageable and did not require a lot of effort. It was also not very deep. If you’re looking for a little networking snack, this class will work for you. If you want to really get into networking, take something else. If the lectures were not so terrible, I might recommend this class. The projects were quite enjoyable.


    Semester:

    An okay class. The lectures are just north of useless (I did not watch any of the videos associated with them). Projects all very simple taking on the order of 3-5 hours. The one exception for me was the SDN firewall project which probably took me 8-10 hours, most of which was spent trying to understand what to do. I began by taking the class seriously (trying on the quizzes, reading all the optional papers, etc.) but quickly realized that was not worth the effort in terms of learning ROI, esp. given that I was in another better/more challenging course in the same semester.

    tldr; very easy class, good for pairing; you may learn a couple of things but I probably would not take again if given the option.


    Semester:

    Overall, this was a good class. It’s pretty relevant to current events and technologies, so it made me want to learn more. The final project was a bit frustrating because it took a long time to run/test a solution, but there was an extra credit project available that can help out your grade. I enjoyed working on the extra credit project more than the final project, so it’d be cool to see the extra credit project become the final one. All the other course work was straightforward and didn’t take too terribly long.


    Semester:

    Computer networks helped me understand some of the underlying technologies and bridged my gap in different components. I enjoyed learning how things got to the way it was.

    The only thing I didn’t like was some projects didn’t have tests especially the SDN project. Students needed to create tests and share their tests to fully understand what the assignment was asking for. We should not have to do that.

    I tend to put less effort on assignments that have unclear instructions and do not provide test cases as I feel like they were designed to waste my time. For example, SDN project requires manual testing for over 50 - 100 different situations that had vague instructions where you have to search the internet for all the possibilities of what multiple software components can do. Manual testing as in you have to spin up 4 terminals for each situation and activate the specific scenario and input the test command in the terminal. Can you imagine how long this will take? Does this really measure your knowledge of the material or is it grading how much time you have or how well you can write tests?

    This reminds me of a quiz I had (not in Georgia Tech) where the professor asked the students to review the entire documentation of MongoDB within 5 days and tested us on which functions are available in MongoDB and what were the parameters and output. Sorry for the rant, I really disliked the SDN assignment. Anyway, just focus on doing well in assignments that are well organized.


    Semester:

    If you come from a CS background and are competent in python, understand how networks work at a high level, and can follow directions, you should get an A in this class. There is no curve provided, but you should not need it if you fall into the category mentioned above.

    Projects are well organized; they are easy, yet provide learning opportunities, with the last one throwing a bit of a curve ball, but very doable. Each project took about 2-5 hours each, with the last one taking me about 10 total. Three of the projects even had a video walkthrough.

    The quizzes are dead easy as they are open world, 10-15 questions each, with an hour to complete (they take about 5-10 minutes).

    Tests are quite easy as well. I studied 30 minutes for the final and got an 84 on it, for a 97+ grade in the class, with no extra credit (there is a 3% extra credit opportunity).

    The TAs are amazingly helpful, though the head TA, James, will not be TA’ing the class any more after this semester, which is a big loss. The professor is present and answers questions on piazza, which is difficult to do given the plethora of questions asked by a class of 600+ students.

    The topics in the class are broad enough to give a good overview of graduate level networking topics, with enough depth here and there to make it worth your while. In short, take the class if you need an easy ride while still learning a good bit.


    Semester:

    This is a great introductory course for computer networks. Assignments are well planned, they have made extra efforts to create videos that explains projects. I want to give shout out to the TAs and Prof Konte for replying to all assignment related questions on piazaa and also maintaining separate threads for piazaa project discussions. They even conducted extra office hours before the exam to clear students doubts.


    Semester:

    It’s a great course about networks and learned a lot. There are 6 compulsory and 1 optional assignment total course score is 103 % and A grade for 90%. 2 assignments are in python, 1 used jupyter.

    Professor Maria, conducts exam office hours which are very useful. She covers all the quiz questions and concepts around these so students get a good revision.

    A plus point is that TA are very active on slack, specially James answer almost every question on slack and is available there most of the time.


    Semester:

    Pros:

    • Text versions of the lectures. I love reading so much more than watching videos.
    • Fair exams and quizzes.
    • Awesome TAs.
    • Prof. Konte is active on piazza and office hours.
    • Relatively easy projects that took me a single workday each at max. Easy, yet educative.

    Cons:

    • Lectures content feels a bit dry. I loved how GIOS gave some real-life analogies and used simpler language.


    Semester:

    Overall: CN was a well-structured course with engaging projects, fair exams, and decent modules/lectures. I never took a networks course in undergrad so the content here was entirely new but I can undoubtedly say I learned a lot and have gained more interest in related topics. I paired this with 6340 which was heavier, so it balanced out well.

    Projects: There were 6 projects over the duration of the course, each one given 2 weeks to complete. Personally, 2 weeks was plenty of time to complete the projects. The TA’s were active on Slack/Piazza and the office hours were always more helpful than not. HUGE thank you to the TA’s for this, they made the course more enjoyable and less stressful.

    For projects 1-5 I spent maybe 5-7 hours on each one. Project 6 was the most time consuming and took me about 15 hours to complete. Projects 2 and 3 were more algorithm focused (which I preferred as I’m more comfortable with algorithms than networks in general) and the rest were more network simulation focused.

    Quizzes: Open note and fair, used these to study for the exams.

    Lectures: Decent content but not really engaging. It would be nice to have more examples in the videos rather than just static diagrams with a voiceover. Other than this though, the information was helpful and thorough.

    Exams: Fair exams, multiple choice questions but closed note. Spent a few hours going over the study guide and quizzes.


    Semester:

    Projects, which make the bulk of the course, have self-explanatory instructions. The TA’s are reachable. If you can start your projects as soon as they’re released then you will have more than sufficient time to complete them. I took this course while doing my state OCS military training (meant I have to workout 2 hours a day for the week and attend a 4 day weekend of military training every month - cut a lot into my project completion time) at the same time, I joined a new team at work and had to learn C++ amongst other infrastructure. I also had to complete some freelancing projects. With much discipline and the help of the super understanding instructor and TAs, I pulled through.


    Semester:

    Perfect class to pair with GA. I felt like the projects were interesting and where I learned the most. The lectures are mainly text but if you copy the content into a notes app, you have great reference material for later on.

    The exam guides are great and if you go through and answer each question and then go back over the answers a couple times, then you should get fairly high exam marks.


    Semester:

    Overall Review: Easy and well organized course in general. For someone having basic programming skills, approximately 5-10 hours/week will be needed.

    Projects: The projects are easy and fun. Most of them took me 5 hours to complete. The only exception was the last project, due to the fact that it was launched in this semester and it was unripe.

    Quiz: The quiz answers are derived from the lectures. If you search the questions in the modules you will have no problem.

    Modules: Modules are not so interesting but the concepts are easily digestible.

    Exams: In the first exam, I followed the study guide and spent more than 20 hours in studying and I scored almost prefect. In the second exam, I just reviewed the quiz answers and spent less than 2 hours in studying, as I needed only 10% for A, and scored ~80%.

    Summary: Easy Course, Interesting Projects, “Boring” Modules


    Semester:

    It was a very well-organized course. Professor Konte and all TAs were really helpful throughout the course! Projects were difficult but doable and you get a sense of satisfaction after completing them successfully. I would recommend starting really early on the projects as they are difficult to understand at first and overall time-consuming. Lesson content for exams is very clear and I would suggest studying very well for the exams if you want to get an A.

    Please find below the detailed distribution of marks -

    Exam 1 10%

    Exam 2 10%

    Exam 3 0%

    Lesson Quizzes 10% (Total 12 quizzes)

    Projects 70% ( Total 6 projects )

    Internet-Wide Events Extra Credit 3% (Total 1 project)

    Syllabus Quiz 0%

    Total 103%

    Projects-

    1. Simulating Networks – Time spent – ~5 hours, Difficulty – 1/5

    2. Spanning Tree Protocol for Network Switches – Time spent – ~40 hours, Difficulty – 5/5

    3. Distance Vector Routing – Time spent – ~35 hours, Difficulty – 4/5

    4. SDN Firewall – Time spent – ~45 hours, Difficulty – 3/5

    5. BGP Hijacking – Time spent – ~20 hours, Difficulty – 2/5

    6. BGP Measurements – Time spent – ~25 hours, Difficulty – 3/5

    Lessons 1-12 (For Quizzes and Exam 1 & 2) – Time spent – ~50 hours, Difficulty – 2/5

    I would definitely recommend this course.


    Semester:

    This was my first semester in the program. I took this course along with CS6400. If you have a strong coding background, this course is not too difficult. There are weekly open notes/open everything quizzes which are not too difficult as long as you read closely. The projects are the bulk of the grade (70%) and you should have no trouble getting full credit for all projects as long as you either start early and/or read through piazza. The tests are also fine as long as you review your past quizzes/notes before taking it. This course was a great ease into the program. I’m not a huge fan of networks in general, but I still had no trouble getting through this course content. The staff are all very helpful and responsive on piazza. I didn’t have any concerns throughout the semester.


    Semester:

    Overall, I found the class to be very well organized. The lectures are relatively well done–they provide a lot of good information, and they have both video and text. I sometimes felt like they were a little disorganized, but overall they were good. I liked the projects in this class, as they were relatively straight forward and interesting. There were a few new projects that were introduced this semester, and sometimes they were a bit confusing to understand. The projects were definitely manageable, however, and it was pretty easy to get a good grade on them. Preparing for the exams was took time. You are expected to know all of the course content in detail, and they are closed note. I took a lot of time studying for them prior to taking them, but the actual exams were relatively straightforward. I found that the questions asked in the quizzes and tests could sometimes be confusing or worded weird, but they TA team and Professor Konte were open to feedback.

    The TAs and Professor Konte were really helpful. If you have questions, I recommend attending the office hours and/or the TA chats that were hosted. This class is very doable if you use the resources.


    Semester:

    My Background: I have a bachelor’s in Computer Science. I’m interested in topics like Operating Systems, Human-Computer Interaction, and High-Performance Computing.

    Reading the previous reviews, I was given the impression that this course would be easy, similar to Software Architecture and Design, and guess what?

    Course Summary: This was one of the most straightforward courses I’ve taken so far. Computer Networking introduces you to topics that focus on the Network Layer and up. It is assumed that you already know about protocols such as TCP and UDP since their introductions were very brief. Otherwise, the focus lies on how these protocols have evolved into making the network more efficient, ranging from looking at the Border Gateway Protocol to software-defined networks.

    If you find that you learn better from reading, you’ll get that from the lectures, as they are predominantly text. Also, suppose you found that courses like Graduate Introduction to Operating Systems worked too much with analogies and metaphors. In that case, these lectures will serve you well, as topics are presented in their raw state, technical jargon and all.

    The Quizzes: For each lecture, there is an accompanying quiz that must be done by the end of the week. These are open note/lectures, and worth roughly 10% of the grade total. Thus, no stress whatsoever.

    The Projects: There are five projects in this course. Each of them requires that you have basic knowledge of Python 3. All but the last project have informational slides, a detailed PDF walking through what’s expected, and an hour-long video summarizing the PDF with some examples. Despite being 70% of the grade, it was not stressful given all of the resources.

    It’s recommended that you know about data structures up to something like Hash Tables.

    The Exams: There was a midterm and a final. The final is not cumulative, only dealing with the last six topics of the course. If you review the quiz answers, you’ll do well enough. Total, both exams add up to 20% of the grade.

    Overall: 2/5. It seems the emphasis in this course was on the projects over general understanding from the lectures. This caters well to those who have the hands-on learning style, but given how easy the projects are, I’m not sure you’ll learn much other than which resources to read to get to the solution.

    Recommendations for the Teaching Staff:

    • Turn the text lectures into videos, with analogies to better relate with the technical jargon. If there’s interest in the subject of Computer Networks, this is the best way to show it, rather than just telling us. For example, how about describing how these protocols scale to the bigger picture of SDNs eventually by connecting these topics with the story of how a restaurant became a chain?
    • Given that there’s now a preferred qualifications section for incoming students, the resources for each project should be significantly reduced. What do you think about only providing the PDF? If the videos are still preferred, how about shrinking it from an hour to about 30 minutes tops, only going over the problem domain with some basic examples?
    • Add weekly surveys for students to give feedback on the course quality as a whole. For instance, ask whether the quizzes have helped in learning the material on some scale. Even better, how about having feedback for the weekly lecture, letting students list the pros and cons of how the material is presented, and what they would do to improve it?


    Semester:

    I learned a lot in this class. The class lectures are great! Plus, the 6 projects and one extra project are awesome! I feel each project helps me deeply understand the real network conditions. I think the projects are well designed. I appreciate the weekly office hours. I really enjoyed this class so far.


    Semester:

    I took this course, because this review site listed it as an easy course. Nope! Not, at all. This course was really hard for me, and I ended up dropping it, because I already had an F after the 2nd project. There were multiple days where I spent 10-12 hrs on a project and literally got nowhere. That’s even after being on the Slack channels, Piazza, everything. Some people call it beginner’s Python, and that may be, but if you don’t actually know Python well, forget it. I was told there was an even harder *new ‘sort of a data science project’ in the end. No, thanks. Seems very interesting and all, but the CN course kicked me square in the junk. Sounds like it got even harder. That was my fourth course, after taking CS6035/IIS, PUBP6725/Policies, and CS6238/SCS. Those were not easy for me, either, but this one was harder. I need to learn how to program. I’ve taken a *lot of programming courses, and I still don’t really know how to program. If you’re like me, I wouldn’t take this one. It’s for folks who already have a pretty solid programming background.


    Semester:

    This was my fourth course in the OMSCS program. My profession is in software development, and when asked, I will truthfully admit I hate dealing with networking. While this class didn’t make me fall in love with networking, it definitely taught me new things, refreshed my undergraduate knowledge, and was overall an enjoyable course. Within the class is a mixture of projects and exams, with opportunities for extra credit. The class is completely led by TA’s. Other than the lectures and one comment in Piazza, I never saw or heard from the Dr. Konte. Some of the projects were challenging and confusing, but all were worthwhile. The material for the exams comes directly from the lectures and a few readings we were given.

    Coursework

    • Project 1 (5%): This requires modifying files to simulate a network, mainly the connection type and speed between nodes.
    • Project 2 (15%): This required implementing a spanning tree protocol for nodes in a given network.
    • Project 3 (5%): This project focused on TCP Fast Open. It required running tests, analyzing the results, and submitting a paper on the findings.
    • Project 4 (15%): This project was very similar to Project 2; however, it focused on implementing the Bellman-Ford algorithm in regards to Distance Vector Routing.
    • Project 5 (5%): This project focused on TCP Reno, TCP CUBIC, resource contention, and traffic control to prevent buffer bloat. It required running some tests, and submitting both tests results and a paper answering some questions.
    • Project 6 (10%): This project focused on implementing a Software Defined Networking Firewall (SDN Firewall). It requires modifying files and creating a policy file to be used to test ports and routes.
    • Project 7 (15%): This project focused on BGP Hijacking Attacks.
    • Exam 1 (10%): This exam covered lessons 1-4.
    • Exam 2 (10%): This exam covered lessons 5-8.
    • Exam 3 (10%): This exam covered lessons 9-12.
    • Piazza Extra Credit (1%): This consisted of making a well-formed reply to 3 different discussion posts. As long as you put forth some effort (don’t reply with I agree or something similar) on all 3 posts, it was an easy 1 point added to your grade.
    • Project 7 Extra Credit (5%): This opportunity allows you to expand on Project 7. It involved designing and implementing a countermeasure to the BGP hijacking attack.
    • New Virtual Machine Extra Credit (1%): This may not exist in all classes. We were given an option to test a couple assignments against newly created VMs. The class mainly used VirtualBox, but this allowed us to test VMWare and Hyper-V VMs. The deliverable for this EC was just completing a survey on our findings with the VM of our choice.

    Take-Aways

    • Miscellaneous Stuff: Do the projects. Most of them are easy, fun, quick to complete, and straight-forward. They may not take long, but it gives you more time at the end of the week to relax or fix any mistakes. Read the lectures to better understand the material so you can apply that knowledge when answering test questions.
    • Textbook: There is no textbook for this course. The syllabus has an optional reference book listed (Computer Networking: A Top-Down Approach by Kurose & Ross, 978-0132856201). I didn’t use the book, but at the same time, a used copy off Amazon wasn’t very expensive.
    • Projects: The projects are fairly easy and straight-forward. They are a big portion of the grade for the course, and from my experience, doing well on the projects can definitely bring up your grade in the course (especially if you do not do well on the exams).
    • Exams: The exams are challenging. They involve a lot of application of knowledge. The material is pulled from the lectures and projects. Overall, I think the questions were fair, but also difficult at times. Dr. Konte and the TAs are open to discussion on grading questions. On one exam, ambiguities in some questions got me 10 points back.
    • Professor and TAs: To the best of my recollection, Dr. Konte never made an appearance in the course, and was driven completely by the TAs, who done an excellent job by the way. There were a couple of TAs that never appeared in Piazza or Office Hours, but I feel this happens in every class. I was afraid I was going to struggle quite a bit due to my dislike and unfamiliarity with networking, but the material was somewhat interesting and educational.
    • Overall Grade: I feel like I put an acceptable amount of time in this course for being deficient in networking. The workload allowed me to have a personal life, which is great in this program. I received 100s on all the projects. My exam grades were 70.45, 78.68, and 80, proving the exams requires some thought, studying, and application of knowledge. In the end, the extra credit help me finish with a 94.91 (A).

    TLDR

    In short, I feel this class is doable for those with limited networking skills, but may also be interesting for those who do have experience (maybe better for a condensed summer course). Most of the extra credit opportunities are easy. The projects are fairly easy and straight-forward. The exams can be challenging, being based mostly on the lectures and a little from the projects. Dr. Konte isn’t around, but the TAs are great.


    Semester:

    All of the reviews on the lectures are fairly accurate. You know what you’re getting. I still enjoyed the projects though. They’re not very difficult. Sometimes you’re fighting the code or really trying to understand the project description.

    The TAs really make this course though. Make sure to just go through the study guide for each exam. There’s no need to overdo it. And then finish all the projects.

    Note, the final extra credit project is a bit more challenging. So don’t put all your eggs on that basket.


    Semester:

    This is not a graduate level course and hurts the GT brand.

    • The lecture material is extremely bland and made me lose interest in Computer Networking as a future topic of study.
    • The teaching assistants were really great, responsive, and made the course run smoothly.
    • Some of the projects were fun/interesting, but not challenging if you have some Python and Linux experience. The project descriptions do too much hand holding and getting a working solution usually only took 1-3 hours.
    • The exams were simply rote memorization of lecture content, required very little critical thinking.


    Semester:

    This class felt really uneven, the first few weeks required a lot of focus and then the pace seemed to slow down for the remainder of the semester.

    The VM can be difficult to use/debug when things go wrong, it felt very brittle. Make sure you are comfortable with Linux (Ubuntu) and the command line. Also make sure to read up on Djikstra and Bellman-Ford algorithms as you will be implementing them in the assignments.

    The videos were really poorly done, I eventually stopped watching them and then would just use the study guides to pass the exams. The Professor was not around at all, the class was mostly run by the TAs.

    If you score high on all the projects, you can still pass with a high B / low A even if you do poorly on the exams.


    Semester:

    This was my first course in the program, and so I wasn’t sure what to expect. I thought the course had a great foundation with lots to build upon.

    The lectures need a lot of work. I found myself becoming easily confused by the lectures. I found myself going to the videos from the previous course material on Udacity, to better understand the lecture material in the current course. There was no official way to get more help on the lecture material other than posting questions on Piazza. No live help on the lecture material was available. I found that TAs were helpful in gaining understanding of the lecture material.

    In attending TA Chat sessions and watching videos regarding the projects, I managed to do quite well on the projects. The exams were difficult as they were completely based on the lectures.


    Semester:

    This is my 4th course. The first 3 courses are IOS, SDP and DVA and this course is the course which I like the least. Here are the reasons:

    1. Most projects are not challenging and the exams are checking your memorization instead of your understanding of the concepts.
    2. This course has some videos, but most of materials are only text-based which means you will have to read those materials.

    So if you want to learn something, this is not a right course to take because you will likely not learn anything from it. And if you just want to take a course with less workload, I still don’t recommend it because you will spend a ton of time to prepare for the exam. Overall, I think this course has a lot of opportunity to get better, but it was not a good experience for me. FYI, if you took CS61B and completed the homework for that course, you should feel this course projects pretty easy.


    Semester:

    Background: CS related bachelor, 8 years experience, currently senior developer.

    This is an easy course that covers a variety of network topics. I recommend it for getting a better overall understanding of computer networks.

    The TA team is great. The projects are easy, I completed all in under 5 hours. Some people reported spending as long as 20 hours on some assignments, so this will depend on how comfortable you are writing code.

    Exams somewhat rely on memorization, although they are quite fair. I would say if you simply go through the lecture material once, you should be able to score ~70%. A few hours of review prior to the exam should get you close to the 100%.

    Lecture videos are not worth spending time on. You will spend most of your time reading the lecture notes. The notes are fine, I think some of the reviews here are overly negative about them.

    Each project is released 2 weeks before the due date, so you can work ahead about 2 weeks.

    Next semerster should have a new VM which I hear is better.


    Semester:

    Background

    • Fall 2020
    • No prior exposure to computer networks
    • I’m solid with Python
    • First semester in OMSCS

    Content

    • I found the subject matter very interesting & good to know
    • If you’ve taken networks before, this probably won’t be that useful for you — was great for me though

    Lectures / Professor

    • Lectures are summarized versions of the book or academic papers: sometimes this means that some key aspects for understanding are lost, which really makes it hard to build a thorough understanding of the subject material
    • Videos are basically the professor reading the written summaries verbatim; no extra color
    • Some lectures almost feel out of order, e.g. they use a DNS concept earlier in the class but we don’t properly learn DNS until the last couple modules in the class
    • Worst aspect of the class

    TAs

    • Awesome TA team
    • Aja and James really keep the class together, very prompt and thorough
    • Do a good job being fair with regrade requests

    Projects

    • Overall, the projects are actually pretty good
    • Give a wide-ranging feel of the kind of code you need to understand networks. Other people probably found them easier than me.
    • Understanding some of the terminology / some of the demo/skeleton code that’s given eats up a lot of start-up time
    • Autograder is unforgiving, so don’t be a dummy like me for project 2 and not get every single test case perfectly — use all the test cases that are posted on Piazza. This was a learning moment for me.

    Exams

    • Need more questions — for the volume of content that’s covered, 20 - 25 questions is simply not enough to cover the meat & potatoes of it
    • Way too much of an impact on your grade from missing a couple of questions, which doesn’t make sense
    • Sometimes felt like it was testing trivia rather than core concepts
    • Use flashcards to study

    Workload

    • For me, was more than I had expected
    • You need to cover lectures, get the projects perfect, and study for exams
    • Adds up! Maybe 12-15 hours a week or so for me.

    Summary

    This is a decent class that covers interesting & applicable content. Most of the heavy lifting is done by the projects and a great TA team. The lectures are the worst aspect, and the professor is completely uninvolved with the class. I kept my expectations low going in, and ended up feeling pretty good about the overall experience.


    Semester:

    Computer Networks Fall 2020 Review

    Pros

    • Interesting course content - you walk away with a much finer sense of how the internet actually works, all the protocols and complexities involves. Topics such as firewalls, DNS, video streaming, routing algorithms are all covered.
    • Projects are pretty fun generally - writing python code to implement some networking functionality within a virtual network. Definitely need to be comfortable with Python and programming in general. Full-time engineers should have no issues with the projects. But it’s best to start early, especially on the last project.
    • TAs were responsive on Piazza and helpful with projects
    • Straightforward exams

    Cons

    • Professor was absent from the course - never seen or heard from her
    • The lectures were terrible - literally 2 minute videos of the professor reading verbatim from the lecture notes. Thankfully the lecture notes were also provided on the same page. After a few weeks I switched to just reading the notes and not watching the videos at all. The videos also have errors in them that are corrected in the notes. Overall a bad impression from the quality of the lectures.
    • Book was somewhat helpful but not entirely relevant. Also the course suggested getting the 7th edition but all the suggested reading references the 6th edition. Definitely rent the book if you get it, it does help a bit.

    This was my first course in the OMSCS program and I enjoyed it as a good introductory course to computer networks. Especially recommend for someone out of school for a few years and needs to get back into the rhythm of studying, taking exams, etc because this class will help you with that without killing you. Overall if they simply overhauled the lecture videos I would rate this Strongly Liked.


    Semester:

    Summary: I’d not recommend this course, but it may work for you if you’re particularly interested in the field or want either intro to Python work, or a light workload to ease yourself in.

    A dry course, easy, some light Python programming that was probably the best part, goods TAs, absent instructor. A super easy B, and an obtainable A (if you study for the exams).

    Both my interest and existing experience were moderate.

    Assignments: 70% projects, 30% exams. (7 projects, 3 exams). Small amount of extra credit available.

    Projects: The projects are actually pretty good, but largely from an algorithms point of view. The ones that were actually network reports were pretty shallow, especially if you already have some network experience.

    The course VM was not good, but they are looking at creating a new one. They sourced feedback on them from students as extra credit. Not much, but a good idea to engage user feedback.

    Lectures: The lectures are just not good. Networking is already quite dry. It could’ve at least been dressed up with some enthusiasm, images, real world examples, etc. As it is now, it’s mostly just a video of the instructor as she reads flatly from the slides.

    Some of the content was wrong in the slides. This was sometimes noted in the transcripts below, not always, but is quite frustrating. I understand mistakes like this can happen, but these should be fixed. Most of the errors were small, but I noted a few.

    Exams: Exams were rote memorization. 25-30 multiple choice. Not terribly hard, but I find I don’t do great on these exams. Median scores were low-to-high 80s.


    Semester:

    First off - the lectures are awful, as everyone else says. They’re just walls of texts that you need to memorize. But not really, since the exams are a bit of a joke too.

    There is a big opportunity missed in that the lectures don’t make you apply anything. It would be nice to force you to truly apply the knowledge - with review questions of in some other way.

    The projects were actually quite enjoyable. The programming aspects of them were super simple (as long as you know a little bit of python), but I found that they taught a lot. They provided structure and applied knowledge that the lectures lacked. The last project, regarding BGP hijacking, was the most interesting.

    The TAs are great in this course. They were very hands on, and provided literally ALL of the instruction. The instructor herself didn’t do anything at all, which is too bad since she seems quite accomplished and I feel like her experience would be valuable to learn from.

    Overall - I almost hate to say it but this course is worth taking for the projects and the TAs. I did learn quite a bit and while the slides were a drag, I think the projects were useful.


    Semester:

    — Background —

    • CS major at a t25 undergrad, graduated 2018.

    — Progression in Program —

    • Fall 2020 was classes 6,7.

    — Thoughts —

    • Overall, easy A. You are going to be bored out of your mind, but the assignments are easy.

    Pros

    • Easy coding assignments. 10 line changes, could do it in a day. If you’re not familiar with python, you might struggle.
    • Engagement on Piazza was good
    • Grade structure is 70% projects, 30% exams. Since projects are so easy, it’s not a surprise to get 95% of the 70% available points.
    • Extra credit

    Cons

    • The lectures are god awful. Like, absolutely god awful. I came into this course knowing that, but it didn’t prepare me for the truth. Imagine a high school, that has no experience teaching online, is suddenly forced to create content within a week for students because of the pandemic. That’s the level of effort they have put into these lectures. I have never seen a format that is so disengaging in my life. The lectures are just walls of texts, with a video in where the professor just reads it. THAT IS IT. After the first few lectures, I just waited until the inevitable student study guide.
    • Can’t work ahead.


    Semester:

    I have taken this class along with IIS as my first class in the program. My background is a BS in Physics and 5 YoE in tech.

    These are the pros and cons:

    Pros:

    • TAs create a healthy environment to discuss concepts and share content.
    • The content is somewhat relevant and good to know.
    • Projects are good to some extent. All of them are old projects created by Dr. Feamster who has left Gatech, and I feel they’re too similar to each other. There could have been projects, for example, on how to simulate a CDN or IXP, DNS loadbalancing, DDoS blackholing, or packet classification to name a few.

    Cons:

    • Lectures created by Dr. Maria Konte are garbage. They are just a bunch of notes taken from the textbooks. I cannot even call them proper lectures. There are some videos here and there, but after the first few you just stick with the notes because they suck less. I realize that after Dr. Feamster’s departure, some stuff had to be worked out impromptu. However, this has happened more than a year ago already. What was supposed to be temporary has become permanent and it’s garbage.
    • Dr Konte is nowhere to be found. A common occurrence in OMSCS where classes are run by TAs who are also students in the program.
    • Too easy. Exams are not challenging, projects are not challenging (exception to extra credit part of Project 7, where discussions about it were forbidden on Piazza). This is not a graduate-level course.
    • Too much handholding. TAs and other students will share everything openly on Piazza. Even unqualified students can easily get away with an A since every answer to every project is out there (again, except for P7 Extra Credit) and there’s so much extra credit available.

    James Lohse, the head TA, did a great job. He was active throughout the entire semester, both on the projects’ threads and replying to ad-hoc questions from students. He probably had 5x or more posts than all the other TAs combined. I feel he’s truly altruistic and I wouldn’t be able to be like him. After the first few stupid questions I would’ve given up being a TA and have taken another class instead.

    I don’t recommend this class.


    Semester:

    Background: My bachelors was in electrical engineering, and I have ~1 year of work experience. This was my first OMSCS course.

    Content: The course content was very broad, and not terribly in-depth. As someone with limited background knowledge, I’d say the first and last parts of the course had the most interesting modules (the different network layers, and then discussing different applications like video streaming). The middle part of the course (routing and SDN) was absurdly boring to me, and studying for exam 2 was pretty painful because of it. Overall, as someone with limited formal CS background, I’d say I learned some interesting and useful topics.

    Lectures: Pretty garbage, I never bothered watching the lecture videos (they’re the lecture text, read out verbatim). The projects don’t even really require you to have read the lectures, so I’d only read them all a few days before an exam. The suggested textbook is well written, though.

    Exams (30%): Each exam was 20-25 questions, multiple choice/true-false/select the answers format. They weren’t particularly difficult given the testing format, and if you don’t know the answer for a question you can probably make an educated guess and be fine. Given the large amount of material covered for the class, there’s no real targeted way to prepare for the exams other than reading all the lectures. The TAs provide a list of topics to study before each exam, but they’re so broad as to be useless.

    Projects (70%): I have a solid grasp of Python, and I thought the projects were pretty easy. Even if you don’t know Python, you’ll probably be fine (you don’t really need to know anything fancy for the projects). Projects 2 and 4 (the spanning tree and distance vector routing projects) were the most coding/algorithmically intensive of the bunch, but each one only took me a few hours to complete. For those two projects I recommend looking at Piazza for clear explanations of edge cases in the algorithm to implement, which makes the rest of the project really easy. I actually spent more time on the other projects, especially the ones which required a writeup. Projects 6 and 7 (the SDN firewall and BGP hijacking projects) were more tedious than anything else. Grading wasn’t strict for the writeup projects, and in general if your code passes the test cases that people provide on Piazza, you’ll get a 100% on each project.

    TAs: All the TAs (especially James) were very responsive on Piazza and Slack. I will say that, especially for project 7, the amount of secrecy that was enforced was kind of annoying. I personally didn’t really need help for projects, but it was bizarre seeing posts removed for “giving too much away” when they were discussing completely trivial or arbitrary parts of the project. Also for project 7, I have no idea why “determining which files to modify is part of the assignment” so “everyone needs to figure it out for themselves” (isn’t the focus of this course supposed to be about computer networks? This was just stupid, and felt like it was arbitrarily adding difficulty to the assignment)

    Time commitment: Most weeks I didn’t have to even think about this course. Whenever projects were released I’d get them done right away, and exams only took a night or two to study for. Since I was only reading the lectures before exams, that left a lot of free time. This would be a good course to take over the summer or pair up with another.

    Overall: Rather easy and laidback course, even with limited background knowledge.


    Semester:

    Lectures: 1/10. Most “lectures” are just text pages to read through or the instructor reading the same write-up from a script in a monotone voice. I would scan through them to get overarching themes, but normally read into the course book and reviewed the old videos on udacity.

    TAs: 10/10. Outstanding TA’s. Very responsive on Piazza and Slack.

    Projects: 7.5/10. The practical coding projects were a fun challenging assignments. The research paper assignments give step by step guidance on replicating the work, and do not feel challenging, especially for a graduate level course. You usually have a two week window to complete projects.

    Exams: 9/10. Straightforward, cut and dry questions. Most students collaborated on reviews before the exams. There is a week-long window per exam, and no other material or assignments during exam weeks, so it was fairly easy to review a lesson a day, then spend Friday/ Saturday reviewing everything or taking the test.

    Difficulty: 2/10. There were weeks when I literally didn’t have to touch the class. If you have a CS background, expect to spend 5-10 hours on a project. My undergrad CN course was honestly much more difficult. If you don’t have a CS background, spend some time with Python and OOP before class starts. I paired this class with AI4R/RAIT.


    Semester:

    =======Me=======
    ☐bachelor of arts
    ☐bachelor of engineering
    ✓master of engineering
    ☐bachelor of computer science
    ☐ I am 25 years old and have 50 years of programming experience

    =======Group Project=======
    ✓ None
    ☐Yes, choose your own teammates
    ☐ Yes, teammates are randomly selected by TA or professor

    =======Course stickiness=======
    ☐ Just to get B
    ✓ Answered some doubts
    ☐ Useful for interviews
    ☐ May be used in work
    ☐ Useful for life!!!

    =======Class experience=======
    ☐ Perfect! ! !
    ☐ Not bad!
    ✓ Ordinary
    ☐ Exercise your mental anti-strike ability
    ☐ Staring at the wall is better than taking this course

    =======Audience=======
    ☐ Just literate
    ✓ Have a certain programming foundation, have learned data structure with python
    ☐ Have a strong algorithm foundation

    =======Difficulty=======
    ☐ Do a little bit of a sudden explosion
    ☐ Relaxed and happy
    ✓ Use your brain
    ☐ Quick to learn, difficult to master
    ☐ Harder to get started and harder to master
    ☐ My mind will go down

    =======Configuration requirements=======
    ☐ Any computer that can play minesweeper can take this course
    ☐ Getting started configuration
    ✓ General configuration
    ☐ Advanced configuration
    ☐ Shenwei•Light of Taihu Lake

    =======Liver=======
    ☐ Protect the liver
    ☐ If you want to play tricks
    ☐ Liver and no liver do not affect taking B
    ✓ Slight liver before exam
    ☐ Liver in every level
    ☐ Liver pain
    ☐ Must be treated 24 hours a day

    ======= Average weekly investment time=======
    ☐ 0 hours
    ☐ Within 5 hours
    ✓Within 10 hours
    ☐ Didn’t I just get up?
    ☐ Fuck! Its daybreak!

    =======About self-study=======
    ☐ Yes, but not necessary
    ☐ Your only sand sculpture netizen
    ✓ WeChat course group is sufficient
    ☐ Go through piazza
    ☐ 24/7 in slack, piazza
    ☐ Ask questions in the office hour!!!

    ======= Overall course score =======
    ☐? -? Points (scores cannot be assessed temporarily)
    ☐ 0-30 points (junk, bad review)
    ☐ 40 points (completely fail)
    ☐ 50 points (the overall is not very harmonious, but it should not be a big problem to buy it as a joke)
    ☐ 60 points (barely passing)
    ✓ 70 points (good projects, class content is too boring)
    ☐ 80 points (very good from any point of view)
    ☐ 90 points (awesome!)
    ☐ 100-100+ points (completely exceed the predetermined level, no matter from which way it is a boutique)
    ☐ ∞ points (exclusive score for diehard licking dogs)

    =======Course improvement suggestions=======
    ☐Can be called the best
    ☐Good class in general
    ✓The content of the class is too broad and time-consuming, but there is no deep understanding
    ✓The teacher is just a PPT reader
    ☐Two minutes in class, ten thousand years of problem solving
    ☐This class is not for anyone

    =======Bug=======
    ☐ Almost none
    ✓ Few bugs, the teaching assistant provides super detailed methods to avoid bugs
    ☐ Some annoying bugs
    ☐ Ubisoft
    ☐ Simulated goat


    Semester:

    Lectures: 3/10. As many reviews say here they are poor. It is not that that the content itself is poor (its interesting), its the way it is presented - the lectures are not actually lectures, they are webpages of text! (with the odd video sprinkled in, which basically repeats the text provided)

    TAs: 9/10. They are excellent, provide lots of support, are attentive on Piazza. Very impressed.

    Projects: 8/10. The practical coding projects (implementing algorithms) are a lot of fun and I really enjoyed them. The written ones are a little drier (as to be expected), but still have practical elements and cover interesting topics.

    Exams: 8/10. Multiple choice, True/False etc. Not hugely difficult if you take some time to revise the content. TAs provide an exam guide to help you do this as well.

    Difficulty: 5/10. If you have any sort of programming background (even if only academic) and have done a networking course, you will be able to get through this without issue. If you have never looked at code before - you will likely find this a lot more challenging as the heavier weighted projects are coding based - look at Python, make sure you understand object oriented programming concepts, a basic knowledge in both areas will greatly simplify your understanding of the projects.

    If you know networking and programming (especially Python) to an undergraduate extent - this course will be straightforward and can be paired. If you have done no programming - I would recommend a Python/OOP course before you start as that will make things a lot smoother for you with the coding projects.

    Also a note - Mininet (the VM many complain about) - is not that bad if you pay attention to the instructions and information provided. It is old (Python 2.7!) and does need updating, but it does the job :-)


    Semester:

    I’m only halfway through the class.

    Pros are the TAs are very friendly and helpful!

    Cons are the lectures are maybe the worst thing I’ve seen. Most aren’t even videos. Just straight a page of words most of which have no real detail or explanations. For the pages with videos, its all almost verbatim from the page. Really disappointed in the lack of effort to make this course. I understand the course is going through a ‘revamp’ but the amount of rushed work and lack of attention to detail is truly sad for someone that was really excited about this course before coming into it.

    Whether or not I get an A or B to me is kind of irrelevant as I feel like the learning I’ll take away from this course is super minimal.


    Semester:

    Literally the undergraduate level computer networks course I took, and even simpler. Spent minimum effort and got an A. easy A and can be paired with another heavier course.


    Semester:

    Background:

    Software engineer with a CS background, minimal exposure to networking

    Motivation:

    1) To fulfill course requirements for Computing Systems specialization

    2) To address my knowledge gaps about networks

    Term: Summer 2020

    Final Grade: A

    Instructor: Unavailable.

    TAs: They are fantastic and very helpful.

    Lectures: Poor. No animation (what’s the point of the videos?). Lectures are a dry presentation. Not engaging at all. Considering the instructor’s accent, I’d suggest you print the transcripts and read them to prepare for the exams.

    Projects: Fun. They help you to understand network topology, spanning-tree protocol, network congestion and TCP Cubic in Linux, and BGP Hijacking. The only downside is the frustrating VM, which is a pain to set up for the first time.

    Take-Aways: A breath of knowledge about OSI Model, Congestion Control for TCP, Routing Algorithms and Protocols (BGP), Software-Defined-Networking (SDN), Internet Security (DDoS attacks, BGP Hijack Attacks), and Censorship (in China).

    This is not an “Advanced Networking” course. It is an Intro. You won’t find it challenging if you know a bit of Python to complete the given Projects.

    I liked the course, in particular, the content about SDN, Security, and Censorship was interesting (but not practical for a software engineer).

    Tips:

    Watch the office hours, or you won’t be able to answer the projects.

    You probably don’t need to watch the lectures to understand the material. Just print the transcripts, and memorize them for the exams.

    The summer version is shorter and covers less material and has fewer projects, which is unfortunate because the projects complement the material.


    Semester:

    This is by far the worst OMSCS course I’ve taken so far and the only one I regret taking after 9 courses.

    I already took a computer networks course during my undergrad, so in terms of difficulty this course is an easy A for anybody with the same background. However, the lectures are so unengaging and the material so dry that it becomes hard to keep up with it.

    As some reviewers mentioned, the lectures are in Canvas and there are two types: some that have videos and transcript text accompanying it and others that are just text:

    • The video-lectures are simply horrible. I get that the new videos are not recorded in the Udacity studios, but any random Youtube video about the topic uses teaching resources more effectively than these, where the professor simply reads in the most boring tone possible a text over a mostly static slide. There are no hands, no pointer, no arrows… so is very easy to get lost in what she is referring to. Another point is, why substituting the old ones by something that is clearly subpar quality? The new ones just make the old ones shine, and that’s quite serious taking into account that the old ones were already considered poor compared to other OMSCS classes.
    • The lectures where there’s just text don’t improve much. Lessons change topic from one page to another without a minimal introduction, the text is full of typos, erratas, and acronyms are not properly introduced… The formatting is also bad, where formulas or important topics are not even bolded and are just thrown in the middle of the sentence in plane text. Looks more like someone’s notes from a CN class than a real class material. Graphs and other resources are mostly copied directly from Kurose and other books (introducing some errors here and there).

    One blatant example of the errors mentioned and how little the professor cares about the class was in the lecture where TCP Cubic is discussed, in which the diagram in what the entire explanation is based on was mistaken. This caused misunderstandings in the students, but what is worse is that this had already been detected in the previous semester and it hasn’t been solved yet! The TAs explained that the professor was already aware and working on it, but really, 2 semesters for solving this? That was why OMSCS has been migrating to Canvas and Kaltura for, right?

    Regarding the projects, we had 5:

    • #1 Mininet
    • #2 Spanning Tree protocol
    • #3 Buffer bloat
    • #4 SDN
    • #5 BGP Hijacking

    I am not going to review them since many people already did. From my point of view, they were ok-ish. Projects 2 and 3 where the only ones corresponding to a graduate level course. 1, 4 and 5 in my opinion were not. All of them were based in a deprecated VM and Python 2.7. They are already showing its age and they need to be (properly) refreshed.

    I would recommend anybody considering this course to stay away from it until is really revamped.


    Semester:

    Decent course, great TAs and learn a bit about networks. Mininet is useless and the VM is a pain. I recommend this course but I didn’t like it as much as I thought I did. Tests are difficult. I give this a “Liked” rating since I got a B


    Semester:

    Interesting material if you wanna learn more about networks in general.


    Semester:

    One downside to this class is that Dr Konte does not hold office hours or participate in Piazza.

    The TA team for this class is great! Official office hours 1 day a week for project overview and questions that is recorded for later, plus non-official “chat” office hours 5 or six days a week for additional project questions and help. Most projects had a walkthrough provided to help with getting set up and started, and study guides for the exams.

    Exams are based only on the lesson content. The assigned papers are optional and can help give more understanding and background if you have time and want more depth.

    For summer, there were five projects that were not difficult, and could be completed in a weekend plus a couple of days.

    This class is not difficult or time consuming, and I learned a lot from the projects. A great class for summer or for when real life is busy.


    Semester:

    Overall

    Because I’d already learned some of the more basic stuff about the internet model and what the various packets look like, I really liked the focus of this course on the much higher level view of how the internet is put together.

    I also have a strong interest in security and so I really enjoyed that security was an ever-present topic in the course.

    Another bonus too was the early papers that we read about how to read papers. I think those are going to be useful in the rest of my time at GT.

    The other reviews are right that the lectures are pretty boring. I also stopped watching them after the first few.

    But I really liked this course and am glad I took it.

    Ideal audience for this course

    • already knows the mechanics of TCP, IP, AIMD, etc.
    • interested in security

    What I knew/did going in that was useful

    • Stanford undergrad online course in networks
    • decent Python along with 3 years being a Java web developer
    • decent Linux abilities from my current job in devops

    Some annoying things

    • The course VM is ancient and it seemed like it caused a lot of people problems getting set up. I had problems on the last project getting things to run at first, but it turned out it was somehow due to running the application out of a directory that was shared with my host os. That was something they told us not to do at the beginning.
    • The assignments are kind of hard to read. They feel like there’s been a lot of copy/paste and could basically use a rewrite from scratch.

    Pro tips

    • it’s easily possible to get an A by getting full credit on the assignments and getting 70-80% on the exams. I did read through all the lectures as they were assigned while taking notes, and then just reviewed my notes to answer the helpful study guide questions the TAs provided for a couple of hours before taking the tests.
    • the extra credit threads aren’t worth very much but the extra credit on the final homework is worth a lot. That’d be the place to try to get points back if you need it
    • if they haven’t changed the slide deck they use for what is Project 5 in the summer or Project 7 in the long semesters, the diagram doesn’t represent the starter code or anything in reality at all!! I probably added an 1 hour per week to my estimate just because of all the time I wasted trying to understand how that diagram could possibly relate to what was in the starter code.


    Semester:

    I didn’t learn much from this course. The lectures are so dry and if you cannot fall asleep due to stressful life, watch the videos or scripts. The assignments are very easy, you don’t need to watch lectures in order to finish them. Actually, you don’t need to understand too much about network to finish the assignments.

    I went to Udacity to look at the old lectures from time to time to help me understand some concepts.

    The study guide provided on piazza for the two exams are helpful. But the exams includes single choice (2-5 options), multiple choice, T/F, which is somewhat harder than just multiple choice. TAs are responsive and helpful, piazza is the place to learn, professor didn’t show up.

    This course is a good course pair with other harder courses. But don’t expect to learn alot from it.


    Semester:

    As mentioned in other reviews, the lecture material is pretty dry. If you want to listen to the professor read from a script in a monotone voice, then this is your class. It’s a bit upsetting since this course recently got a face lift. So I doubt the lectures will change much in the near future. Also, Professor Konte was completely absent. On a Piazza post about lecture material, a TA said they would leave the question for Professor Konte to answer. No answer. Crickets.

    The two good things about this course were that it was a light workload (some weeks, I genuinely forgot it was happening which is insane for a summer course) and that the TAs were pretty responsive. I like that they nipped duplicate and unreasonable questions on Piazza and slack. We had one person in particular who was extremely rude and just word vomited in slack and that was actively discouraged by TAs and students, which was nice. Also the grading TA (TAs?) was amazing. We were told that for P4, he checked your submission manually if it gets below an autograded 100. The average was high! The only complaint about TAs is that since it’s summer, there are fewer projects and there was a lot of confusion because instructions/file names for a normal fall/spring semester P7 project was not changed to P5 (which is what it is for the summer). It’d be nice if there was a little more attention to detail for the summer session since it’s different from the others.

    The projects were enjoyable and low maintenance but I honestly don’t think you need to watch the lectures to get them done. The first project is the easiest - they literally give you each command you have to run. The remaining ones were fun and took probably 5-10 hours for each of varying difficulty.

    The exam study guides were overall helpful but it’d be nice if they finished writing the exam before they posted it as it had some nonsensical questions. One thing I don’t get about this class is why exam grades aren’t immediately available. Not the exam feedback but just your numeric grade. The questions are all multiple choice/multiple answer so it’s a bit mind boggling that you don’t get your grades back right away. I get ProctorTrack flags violations and it takes a while to clear these flags but it’d be nice if you could at least have your numeric score.

    Overall, not a bad course but not really worth the time. If you do take it, I don’t think recommend it outside of the summer session as, I believe, there are more required lectures, projects, and another exam.


    Semester:

    There were 5 projects and were generally pretty easy. I enjoyed them. The lectures weren’t great. Professor Konte was completely missing. The TA’s were very responsive and run a tight ship. I wish things were graded faster. The study guides provided by the TA’s are very helpful. If you study based off of that, you should be able to do very well on the two exams. The three Piazza discussions you can do for extra credit should be worth more than 1% of your grade. Overall, I learned a lot and I’d say it left me with some motivation to learn more in this field.


    Semester:

    Coming into OMSCS the topic I had the most experience in was enterprise networks, so I mostly took this class to have an easy summer.

    I watched the old lecturers on Udacity and that helped me skim through the first ones of the new style without having to think much. The Udacity versions are much more engaging than the videos that have been recorded for this class. However, the new and old content diverge somewhere around the Software Defined Networking section.

    The Spanning Tree project was by far my favorite. Mininet is sort of useless though.


    Semester:

    This course has good TAs, but is very, very dry.

    The lectures are nothing short of terrible. Most of it isn’t even a lecture. If I had to guess, 70% of it is you reading paragraphs of text they give you in modules where normally you would have lectures with interesting material presented. This is a way that I struggle to learn. The assignments are boring and uninspired. All of the code you write you likely will never have to worry about or think about again unless you will specifically work in networking. The ideas will also be irrelevant unless you specifically work in networking.

    I am going to end the course with a B because I am having immense trouble studying for the exams. Not because the material is difficult, but because in order to study you have to do nothing but read the lectures (not videos or any sort of good presentation to learn) and this is simply not how I learn. This material is easily the worst that I have learned in my now 4th class in the OMSCS program. I have previously taken ML4T, AI4R, and Software Testing (I forget that courses actual name).

    I am going to walk away from this course having learned nothing. It’s a frustrating feeling.

    I would recommend this course if you want a course that doesn’t take much time out of your summer and you want to knock out one of your ten required courses.

    I would not recommend this course if you want to be inspired or learn something interesting.


    Semester:

    This is a SCAM!!!

    Use text as video lectures? Are you kidding me?! If so, even a layman can teach this course.

    This is a SCAM!!!


    Semester:

    We’re only about 3/4 through the course, but I feel that’s enough to give a (somewhat) comprehensive review of the course.

    Projects

    For the summer section of this course, there are a total of 5 projects–not including the extra credit project that is part of project #5.

    In these projects, we’ve conducted experiments with the Mininet virtual networking software and written Python implementations of network device functionality. In my opinion, the projects did a fine job of testing us on information we covered in the lessons and demanded we put forth an actual effort. For the projects that required some amount of programming, there are students that have shared test harnesses that helped validate that outputs are matching what’s expected. So as long as you follow instructions exactly as outlined and meet the rubric requirements, you should score well. Make sure you do, because projects are 70% of the overall grade.

    Lesson Content

    As others have mentioned, the “lectures” are mostly one of the following:

    1. the instructor reading a paraphrased excerpt of the text
    2. a paraphrased digest of content from the book or a research paper
    3. #1 and/or #2, but with pictures

    There were also a number of distracting typos, sentence fragments, and tiny (but crucial) bits of information omitted/missing; sometimes, students would mention this in Slack and find out the answer to their questions by directly referencing the book. However, it’s worth noting that our cohort is the second group to take this newer version of CS-6250. I understand, though, that the TAs and instructor are actively working to address these errors; because of this, I can forgive the current course quality (or lack thereof).

    Logistics

    Despite there being hundreds of students enrolled in this course, the TAs have been fairly quick to respond to any inquiries or grievances in Slack and Piazza. The head TA, in particular, is doing a kick-ass job of keeping on top of things. I don’t have much else to say here.

    Exams

    The exams are multiple choice and test your knowledge of the topics covered in readings. There aren’t really any GOTCHA questions… just some conceptual stuff that you should retain if you’ve done the reading. Partial credit is given for questions where more than one answer can be selected. I did not really study extensively for exam 1 and still scored an 83%. In retrospect, if I put in slightly more effort (flash cards, full re-read of my notes), I know I would’ve scored at least 95%. At the time of writing, we have not yet received exam 2. It will follow a similar format and cover the remaining lessons (i.e., not cumulative), though, so I’m not expecting any surprises. Each exam for the summer section is worth 15% of the total grade. Even if you do “OK” on the exams, you can still pass with an A.

    All-in-all, this course has been a pleasant experience. I’m taking this between working full-time and taking care of two toddlers in the evenings. I’ve committed 1~3 hours daily to read and take notes. Maybe an additional hour or two, within project time windows. The course is not extremely challenging, but it’s not totally easy either. I’d recommend it as a first class to “prime” yourself for OMSCS or if you happen to have an interest in some low-level concepts in computer networking.


    Semester:

    This is the first course I took in OMSCS. I don’t have too much CS background. The projects require python programming from scratch. You need to have at least some basic knowledge about computer network python programming. The course video is a little bit boring. One of the bad things is that me and some students feel can’t remember much about what we’ve learned from this course after we finished this course for some time. Maybe it is because the course content is a little bit dry. But the TAs are very nice and scores are not bad. Closed book exams are not too difficult if you revise the course ppt well, although some questions are tricky, usually B is not a problem. Overall, I feel it is a big encouragement to non-CS background students.


    Semester:

    As a network engineer myself, I think this course covers a broad array of modern topics very well. It targets algorithms, protocols and software that modern network infrastructures deploy today; 1” deep and 6’ wide. I come across these topics in my currently role frequently, and this course helped me understand the software aspects of the systems I manage. I don’t think this course is geared towards making you a network engineer; it is hard to be a competent network engineer without dozens, if not hundreds, of hours of exposure to BGP, OSPF and MPLS. This course is geared towards providing a skillset for software engineers who may work in the networking domain. For instance, FANG companies have hundreds of hybrid engineers who have a mixture of networking and software skillsets to support their global infrastructures. It’s worth noting that even if you’re an aspiring network engineer, the traditional network engineer, who is a hardcore BGP expert, is becoming obsolete (software skills are needed)

    As far as projects go, the spanning-tree project (project 2) was the hardest but also my favorite. I use to troubleshoot spanning-tree issues in the past, so I enjoyed building the algorithm from the ground up and seeing it operate instead. If you make it past this project, 12-16 hours in two weeks, it’s downhill from here. I thought the BGP section was too elementary and didn’t provide much exposure to the most critical protocol in networking. I also think the firewall lab (project 7 I think) should be changed. The assignment wasn’t difficult but it did take a lot of time. It was Mininet that was just a total pain. You’d have to reset your “device” each time you made a firewall policy change. This made it so difficult to do penetration testing. It’d be better to use a vendor VM than to have students hamstringed by Mininet (for this assignment). The professor did a great job of diluting the books into small chunks that we could grasp within a few minutes. If I was more curious about something, I would reference the book or whitepapers (which I did frequently). She deserves a lot of credit and her notes will make great references in the future. TCP is such a complex protocol but she did so well with it. Kudos to her!

    P.S. Being comfortable in Python or knowing OOP is a must.


    Semester:

    As others have said before, this is a decent class to take regardless of your interest in networking.

    My undergraduate degree in Computer Science did not have any computer networking course, so most of this was fairly new to me. Even without that experience, I was able to do well in the class. The content per exam is reasonable and I was able to study with flash cards starting a few days before. I received A’s on all exams.

    The assignments are a mix of coding projects and research. I ended up failing the first project because I hadn’t realized how differently the auto grader was than the test scenarios. The key to the programming projects is test with every example provided by students in Piazza and contribute your own test cases to the class. I was able to make all of the points up through the semester because of the amount of opportunities, both assignment count and extra credit. The only project I disliked was the last. It had an interesting premise, but there are issues with a SDN tool that was used called Mininet. There are a lot of false negatives due to the need for continuous reboot of both your Mininet network and the VM.

    If you do struggle, the TAs for this class were pretty good outside of the TA assigned to the last project. If you message the Instructors privately in Piazza, be sure to give at least a week of time. It took about 3-4 days for them to get back.

    All-in-all it was an okay class. I don’t necessarily feel any more skilled because of it, but it was a reasonable class. I was able to pair this with another class while I worked full time.


    Semester:

    Even if, like me, you don’t come to this course with a fundamental interest in computer networking, you will find some really engaging projects that make the concepts practical and fun to learn. In a typical Fall/Spring semester there are 7 projects that mostly run on two-week schedules, so be prepared to keep up your momentum throughout the semester. Some projects are more difficult than others, I had particular trouble with the last one (COVID-19 and family issues definitely had an impact there) but most can be completed in a few evenings during the week. In addition to the projects, there are 3 exams (multiple choice) that aren’t too difficult if you watch/read the provided lectures, and the TAs this semester were very reasonable about considering giving points to contested questions.

    The worst part by far were the lectures. No textbooks were required, but the Canvas lectures (new for this semester) comprised of both videos, text, and diagrams that cover a variety of concepts. They offer modern and thorough information on the subject, but are among the dullest of the 9 courses I’ve taken. The professor’s tone is quite monotone and it’s sometimes hard to understand how concepts are fitting together until you take notes in your own words and tie them together yourself.

    There are multiple opportunities to earn extra credit throughout the semester, but I neglected to take them up on the offer since I was busy with another course as well. This is definitely manageable as a 2nd course while working full-time, as long as the other course is of similar difficulty. If you keep up with the schedule and give each project a shot, you’ll do well in this course.


    Semester:

    A couple of the projects in this class were pretty tough. I really liked the material as it was pretty pertinent to my job. The TAs were excellent, although the professor had low visibility. The projects are in Python and you get to simulate computer networks using Mininet.


    Semester:

    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:

    1. -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.
    2. 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.


    Semester:

    While this class was somewhat interesting overall, and I did take away what I wanted from it - some Computer Networks basics - I wouldn’t recommend this course. My two main gripes with it are that the lectures were very poorly done and the course itself was too easy and shallow.

    As other reviewers noted, not all the lectures have videos, and when they did, it seemed like the professor was just reading straight off a piece of paper. Fortunately, for the video lectures, they had the text of the lecture below the video, so I typically just read that instead. Unfortunately though, I often found the lecure/texts confusing and unclear - it seemed like the professor was trying to summarize the textbook in a way that it’s easier to understand, but I just found it more confusing, as acronyms and concepts were mentioned without being introduced, and it seemed like the professor was trying to make these lectures as short as possible. I suggest just reading the textbook instead. It is rare that I can say a textbook is less dry than a lecture, and these lectures pale in comparison to something like the fantastic ML or RL lectures. Before the course, I had started watching the Udacity version of the Computer Networks lectures, and while the new lectures have a little more professional flair with some nice graphics, the old ones were much more engaging, so I’m not sure at all why they re-did them.

    My other issue is the class is just too easy. In one way, this is good, as I wanted to take an easier class this semester, but it really feels like an Undergrad class, and I would’ve preferred to learn a little bit more. Just do the projects, which are almost spoon-fed to you, as the instructions explain almost everything, make sure you at least somewhat understand the lectures, and you should get an A. There were 7 projects, and each one took me less than 5 hours, and lectures each week I’d estimate at being less than an hour, so the workload is very very light. Yes I wanted an easy class, but I would’ve preferred the topics to be more in depth.

    Also, since this was the first semester they were running the re-done course, there were mistakes here and there and some unclear parts of assignments and exams. Fortunately I’ll say the TAs and professor were good about doing regrades and fixing any issue.

    Take this course if you want an easy A and want to learn some computer networking basics.

    Don’t take this course if you want to learn as much as possible in this program and take classes that are a good value. If you want to learn Computer Networks, I feel like it would be more interesting and faster to just pick a random Coursera course or read the textbook (Computer Networking by Kurose and Ross).


    Semester:

    Enjoyed this course. Medium time and complexity, in my opinion. Before this I had little idea how Internet works - now I have a good picture of internal structure and modern trends. Projects were interesting and different (coding, experiment, papers), which was fun. They weren’t big but I found them somewhat challenging and involving. Very useful to read assigned papers and books because lectures were mostly based from them, so reading extra helped to learn the content and memorize it.


    Semester:

    I thoroughly enjoyed this class. The content was easy to digest, the TAs were helpful, and the projects were relevant and fun. I considered this course easy because the content was so well delivered and I already had a strong background in Python. You could easily pair this with another class.

    Overall the class was enjoyable and I walked away learning a ton about computer networks. For context, I’ve taken an undergraduate networking class but this class took it beyond just fundamentals.


    Semester:

    I know that this class has been reformatted quite a bit.

    I know most people probably enjoy video lectures, but I loved that all of the online lectures had readings as well. (So if you don’t like doing readings AS the lecture, you may want to think twice before you do this class.)

    I think this class really shines with the TAs. They are extremely friendly and responsive. They hold office hours every single week and go through all of the projects in EXTREME detail (to the point that you already have a pseudocode skeleton…)

    This dives into Computer Networks at a level that I don’t think most people care about, but if you’re really into networking and systems, this is an easy-ish class to take.


    Semester:

    The course is well organized but it is not somewhere where you will learn anything useful in networking unless you know next to nothing.


    Semester:

    I’m in this class now (Spring 2020), but know registration is going on and wanted to provide feedback on the re-vamped class.

    I’m taking this class with GIOS, and it’s the best decision I could have made. If you know Python, basic programming concepts like for loops, and know how to follow directions from the project PDFs, you’ll be good. It’s the perfect class to pair with a harder one, if you want to take 2 in one semester. (To be fair, my job gives me half the week to only work on school).

    Material: I’m not a die-hard networking fan, but the material discussed was interesting enough not to make me bored. I guess because there’s new material, not all modules have a video lecture and only have text and visualizations, which I didn’t mind at all.

    Projects: There are 7, and they seem to rotate between programming projects (all Python), and research/experimentation projects (no coding, just write a report). I probably spent less than 6 hours on each project (doing the last one now).

    Exams: There are 3, non-cumulative. I really like the timing of them. There’s not an overwhelming amount of material to study for each exam, which I find makes the subject matter stick better, since I’m not cramming my brain 3 months worth of lecture material.

    I’m horrible at studying (i.e., I just wing it most times) and I got a 65-75 on the last two tests (bonus if you have people in the class who argue why their answer is correct and the teacher agrees and gives the point; my grade on the first test bumped to a low B because of this). Even with my poor test scores, my final grade so far is in the high 90s because I’ve gotten full points on the projects so far. (Projects and tests are weighted the same (10%), but there are more projects than tests).

    Hope this helps someone make the decision to take this class. I’m enjoying it. Shout out to the Professor and TAs, who are active in Piazza!


    Semester:

    I took this course in Fall 2019.

    Tests were mostly based on the lecture videos.

    I found projects projects 2 & 3 and the Extra credit section on project 7 to be most time consuming. The time spent was actually not because there was a lot of coding to do but rather figuring out the approach to use to solve the problem. TA’s did a good job of providing guidance on the projects during the office hours. There are other posts that have described the projects + amount of time + the approx number of lines of code (if any )needed etc.

    Overall I enjoyed the class especially getting introduced to SDN (Software Defined Networking).

    Never heard a word from the professor.


    Semester:

    This was my first class in OMSCS. I really enjoyed the content. There are a couple projects towards the beginning that push you but the other projects are easier to work through in 1 or 2 sittings.


    Semester:

    This was a really good class. I learned a lot of networking basics…Routers, Switches, OSI Model and Levels, ports, tcp congestion, networking algorithms. All good stuff. I was surprised how much of networking is just a subset of algorithms - minimum spanning trees, bellman ford, etc..

    To do well in this course, it is all about the projects which are about 70% of the grade. A few of the projects are time consuming and kind of difficult, but very doable. For some labs, there are test classes that if your project passes the tests, you are probably going to pass the auto grader. The class does not seem to pull any tricky punches such as weird test questions or testing strange edge cases that you didn’t think to test. It is pretty above board and honest.

    You should be able to get a B on the exams just by watching the lectures and then reviewing your notes. A’s seem harder to come by for tests, but doing well on the projects will make up for it.

    There is extra credit, but felt like a bit of a hassle given amount of points available and the effort, but might be helpful in a pinch.

    Piazza was very helpful for clarifying confusion on the labs.

    Most of the difficulty of the labs surrounded reading a large python project and understanding what it was actually doing and what you needed to modify to get it working. Even though I did labs on Bellman-Ford and MST, it felt like most of the effort was understanding the project code and not so much the underlying algorithms.

    This is a good first year course and you will learn some key networking concepts you can take with you in your career.


    Semester:

    The course is easy, you can take it as a first course or you can take it with another hard course. The problem in this course is the course material. I didn’t benefit from the material except for some readings that were required by the instructor. The exams are easy if you understand the lectures and the readings. Most of the projects require 2-3 days of work and are not hard at all. Use piazza to verify your outputs before you submit. In the second project i suffered from a small bug that really affected my grade. But in general, i didn’t like the material of the course and i feel that i didn’t benefit much fromt the course


    Semester:

    This was a pretty simple course that teaches you everything that’s important in networking. If you never had a course on networking before, this is a must.


    Semester:

    Background of me: I am horrible at tests, but excel at projects. My test average is 74 and my project average is 96. I chose this class since I needed to bring my GPA up. Not thinking much of it, but I ended up learning much more about computer networks.

    The projects were intermediate difficulty. You could even say they were easy, but the part of understanding distributed programming takes skill. I consider myself an advanced-skill developer. I really enjoyed doing the projects, and it is where i learned the most.

    The tests were straight forward, not tricky wording like other courses do. If you watch the lectures and read the 20-page articles per section, you will do well enough, if not really well.

    The TAs were amazing, but they were not responsive when asking private questions.


    Semester:

    I didn’t think I would like this course very much going into it. I chose it since I figured I could double it with another course. I actually ended up finding a lot of the information very interesting, and the projects really drove the concepts home. There were an annoying amount research papers to go through to study for tests… I wasn’t a fun of that. Overall, if you don’t know much about computer networks going into this, you’ll come out with a much better understanding assuming you put in the work.


    Semester:

    This was my first class in the program and my first academic networking class. I believe this was a well-rounded course and good intro to the OMSCS program with a combination of coding assignments, paper readings, and ProctorTrack tests.

    Recommendations

    • Take this class if you’ve never taken a formal networking course.
    • To get the A, focus on acing the assignments; they will give you a huge buffer for the tricky tests.
    • Don’t worry about the details in the assigned papers: Abstract, Introduction, Results, & Conclusion is enough.
    • Ignore the EC assignments; they’re way harder & not worth the effort.

    Prerequisites

    Basic knowledge of Python syntax (string formatting, classes, lists, dictionaries) would be useful, but not necessary.

    I don’t think any networking knowledge is required to take the course; everything can be learned during the class with the (optional) textbook.

    Workload

    Workload is light. I spent ~2 hours per week taking notes on lectures. I spent ~5-10 hours on each of the course’s 7 two-week assignments. The big time sink for me was the research paper readings due to my lack of experience with formal papers.

    The course is front-loaded in assignment difficulty with two algorithm-based assignments, but back-loaded with papers (4 for the first and second tests, 8 for the third test).

    Lectures & Readings

    I enjoyed the lectures. Professor Feamster (no longer at GT) did a great job presenting the material with great illustrations.

    The readings were hit-or-miss. Some were interesting, like the Google TCP Fast-Open and the Jellyfish Data Center papers. Others seemed downright pointless, and many never showed up in an assignment or test.

    Assignments

    The assignments were mixed. Although they were generally interesting and relevant, the programming is all outdated Python 2.7 and some of the other technologies (Pyretic specifically) are also deprecated. The most challenging part was digesting the large instruction documents to understand exactly what was required.

    The median grade on all assignments was 100%.

    Tests

    The tests were tricky with means of 83%, 80%, and 76%. They were generally short (<30 questions) with the majority of questions as multi-choice, multi-answer type. For me, this type of question is frustrating because I frequently ended up flipping a coin on half-truths due to ambiguous wording.

    Grading

    • 70% assignments
    • 30% tests
    • 6% extra credit opportunity

    The assignments are relatively easy, while the tests and extra credit are relatively hard.


    Semester:

    This was a great first course in the program and a very easy “elective” to knock out.

    The lecture videos are important to watch, since most of your exam material will come from those. There are also assigned readings; early in the semester I would pore over these papers multiple times and fully absorb the information, but after the first (and especially second) exam I realized that only a cursory glance through each paper is enough to get what you need out of them.

    The projects are fairly interesting and cover a wide range of topics. Depending on your programming/algorithm skills a couple of the projects will take you either one/two hours to complete, or a few hours a night for a couple weeks (these projects involve graph-traversal algorithms used by routers and switches). The other projects consist mainly of using a network virtualization tool to emulate network topologies, firewalls, and administrator configurations.

    The material covered by the exams is interesting, but not particularly difficult. We went over traffic shaping, network security, large-scale networking (i.e. ISP’s connecting and communicating with one another), and other topics that are a “deeper dive” than an undergrad networking course would go. Some of the research papers were very interesting (such as Google’s “TCP Fast-Open” research) but many of them were so dry I had to make multiple attempts at staying interested.

    I took this course mainly because my undergrad Networking professor was more interested in telling stories about being a former cop than actually teaching, and so I wanted to strengthen my knowledge in this area. I was expecting a more rigorous, intense version of an undergrad course to fill the gaps in my knowledge, but this course is more of a continuation of a typical undergrad networking course than anything (i.e. you’re expected to already be familiar with the ins and outs of the OSI model, inner workings of TCP, etc.). As a software engineer at my day job, I do not think I will ever use 90% of what is taught in this course unless I pivot my career to becoming a network administrator, but the topics are nonetheless interesting.

    Overall, I would recommend this course if it’s your first semester in the program, if you need just one more easy elective to knock out, or if you want to double up with another light class and need something that won’t take much of your time and energy.


    Semester:

    Overview

    This course is well structured and not too demanding, which is helpful if you come in without an undergrad level background in networking. I spent a lot of time in the beginning of the course reading the recommended textbook to catch up and still had time to do all the assignments. I expected this class to be boring but surprisingly learned a lot, some of which was pretty interesting. It was definitely satisfying to learn more about how the internet works and get more familiar with HTTP status codes and things I had seen in passing.

    Course Content and Assignments

    Class is divided into 3 parts: basic networking, traffic engineering, and security. The first is basically a review of undergrad networking material while the latter parts go over research topics building on the basic concepts. Lectures cover the highlights of the conceptual material presented in the required research paper readings or the textbook for the basic networking concepts. Assignments focus on one or two specific aspects from the lectures and go more in depth. All assignments provide plenty of support in terms of provided skeleton code (Python), directions, and TA help so that you can easily complete the assignment within the 2 week time frame. If you are new to programming this course is still doable. Although the assignments are not that hard, spending time to build a concrete understanding of the problem and your intended solution before starting the code will save you from having to track down odd, extremely specific errors. I typically spent the first week watching lectures/reading papers, 2-3 days exploring the provided code and typing up my solution, 1 day coding, and 1 day debugging. Other people jumped on the code much earlier, but from the Piazza discussions some of them spent hours tracking down bugs, so decide where you want to spend your time.

    Assignment List

    1. Basic tasks with Mininet
    2. Programming a Spanning Tree Protocol Algorithm
    3. Programming a Distance-Vector Routing Algorithm
    4. Experimental evaluation of TCP Fast Open vs Standard TCP
    5. Experimental evaluation of buffer bloat and congestion control algorithms
    6. Programming a Software-Defined Network Firewall
    7. BGP Hijacking configuration and extra credit opportunity (5%, 3 weeks instead of 2)

    Tests

    Tests are multiple choice and use ProctorTrack. They are pretty straightforward and your biggest risk is overcomplicating the question. Tests comprise 30% of the total grade. There is up to 1% total extra credit if you participate in the three optional discussion threads which each involve an extra reading. With the 5% from project 7, you have up to 6% extra credit possible in the class.

    TL;DR

    Good class if you’re new to networking or programming. If you need to do a bit of catch-up on either there’s time during the course for it. Both basic and research topics in networking are covered. Projects and exams not too difficult, especially if you take the time to understand the concepts before jumping in to the solution. This class can teach beginners a fair amount without unnecessary pain.


    Semester:

    This reviewer is pursuing a Computing Systems specialization with no prior formal background CS.

    I had taken IOS in a previous semester. In hindsight, taking this class before IOS would have been better idea, because many of the basic networking concepts learned in this class would have saved me a lot headache in starting IOS.

    That being said, most of the lasting concepts I learned from this class were not directly from the lecture material, but from the paper readings and other background readings on this topic.

    The video lecture presentations could use some TLC.

    I found the projects to be mostly fun and well-designed, though I would have preferred to have had fewer projects and have each one be more in-depth.

    I did find myself doing relatively well in this class despite my lack of understanding in some of the course content. I can implement spanning tree algorithms ok, but this doesn’t equate to understanding how the transport layer truly works. I do wonder if there’s a way to improve the teaching of the material so that students HAD to understand these concepts to get a good grade. I would feel more satisfied by this course if this were the case.

    Finally, computer networking just feels like a very applied area in computer science. There’s very minimal math to speak of. Research results are quite empirical. This does detract from the learning experience, at least for me, even though these topics do seem very critical to understand.


    Semester:

    Good summer class. The projects can take some time.


    Semester:

    5 individual assignment, 2 exam for summer version. Python.

    This course assumes some basic knowledge in computer network.


    Semester:

    I came into this course with a good amount of working knowledge about networking, but I still learned a great deal. Some really good content around the architecture/mechanics of the Internet and enterprise networks (datacenters, virtualization/software-defined networking, etc.). Projects varied between writing code and writing papers, but each project was interesting and manageable with enough lead time. Exams were fairly straightforward as long as you’d covered all the lecture material (I didn’t find much use for the supplementary textbook, though Kurose & Ross is excellent anyway). Course staff was helpful and prompt; they did a great job answering questions promptly on Piazza, and I found office hours to be vital, especially for the projects.


    Semester:

    Between every lecture being only about 30-60 mins long and a 800-page textbook that is equally dry, I always choose the latter, as the lecture videos are insanely boring. I already watched them in 2x speed but I never made it past the first 15 mins without falling asleep and stop myself from thinking about how the lecturer never failed to pause every 3-word to finish a sentence (gotta give him some props for this level of consistency). If you ever have insomnia, the videos will cure it, I guarantee it.

    However, when I study for the tests or have to do assignments, I actually find the things being taught interesting, but like I said, the lecturer ruined it. Therefore, I wouldn’t recommend the class as the first course for newcomers, I’ve taken more exciting and challenging class, but this class can serve as a filler as you finish the whole degree.


    Semester:

    Project 2 and 3 which were in Python took the longest but I enjoyed the most. Make sure your code pass all the test cases that are provided by TA or classmates. I heard some people missed edge cases and got extremely low grades.

    You need to read the papers to ace the tests. I only skimmed through those papers that are needed for the assignments. So I only got average grades for all 3 tests . But i still got 100% for all the projects so I ended up with A.


    Semester:

    On on hand, I did learn something during this course. The material is actually quite interesting. It is just that the projects are mostly uninspiring and very tedious.


    Semester:

    Easy Class


    Semester:

    I liked the subject, It’s well written, but it’s no good if you don’t know at least the basics of the OSI model.


    Semester:

    This was my first course along with HCI, which paired OK together since this course was more front-loaded and HCI was more back-loaded in terms of workload. I was not a fan of the lectures by the previous professor who left Georgia Tech for Princeton a few years back (and now at UChicago). Something about the cadence of his speech made following the lectures harder than it should be, and the way the slides were presented was basically him just free drawing diagrams, which for a complicated diagram made it messy to view and necessitated a couple of rewatches (though I had his lectures usually on 1.5x speed to smooth out the cadence of the speech).

    The tests were drawn largely from the lectures (except for the 3rd and final test, which had more elements from the papers we had to read).

    The projects 2,3 and to a lesser extent project 7 were the big ones that required 2-3 days (for a total of 10-15 hours) to finish for me (not a professional SWE), and at the time, somewhat new to Python (just did a Codecademy course on Python).

    Ended up with over a 100% grade in the course, because of extra credit assignments or tasks. Should be a decent 1st course to take in OMSCS, but I heard Prof Konte was overhauling this course a bit since I took it.


    Semester:

    This is the first course I completed, and I think despite the fact Summer term is always challenging, someone truly focused can get an A. It’s an easy A without some preparation of course.

    I am happy to have taken this class because the TA’s were appreciative. When I worked 5 more hours for the final project, they commended me for having the best writeup in class for that project. I also got full points for extra credit.

    On my part, I still have a lot of shortcomings like not going through the Stanford Computer Networking course or reading any Computer Networking book. That would have helped me get through the course easily, and do well with the tests.

    I find the professor Maria Konte to be great. Read her papers. I don’t think have great expectations but it’s great we have someone like her who’s credible in this field of Networking & Security research.

    For those who want to learn more about Networking & feel like focusing on Computing Systems in general, read this thread:

    https://github.com/ossu/computer-science/issues/520


    Semester:

    Worst class to start my OMSCS experience off. Firstly there was some unnecessary drama with an obnoxious TA who got fired mid -course not surprisingly. The projects were poorly explained with some sample youtube videos that the TA tried to explain every week. The slack channels were filled with sycophants pandering to the TA while the students who needed help kept to themselves trying to salvage their semester. It almost seemed the course was being artificially loaded to ensure students dont give it an easy rating. I missed one assignment by submitting the wrong file (submitted a .pyc and it was fully my fault). However, there was no change of redemption for the rest of the semester and my grades were reflective of that one error. Regret taking this class and didn’t learn anything. The projects are all about tinkering with python to make some over-engineered scripts run. The scripts are modified to make grading easier and the piazza posts are filled with students unable to run the scripts or running into some random issues due to the script. On the positive side though, OMSCS experience after this class has been much better - I guess rock bottom does have its plus points.


    Semester:

    Overall I enjoyed the course and thought the topics were interesting. I learned a good bit and while I wouldn’t necessarily use the information I gained in real-world scenarios, I enjoyed everything. I don’t think the goal of a graduate course is to teach you tools to use on the job but rather more abstract topics.

    The course consisted of two tests (82%, 75%) which were fair, but the 2nd test covered a rather large amount of research paper information that was difficult to digest. The projects were mostly fair and interesting with the exception of the 2nd project, which was more difficult than necessary and was an all or nothing shot. If you wrote 99% of the algorithm correct but had even one character off, the auto-grader fails you on everything and you essentially lose all points for the project. Because of this I went from an A to a B just because I didn’t include a few else-if statements. The professor and TA’s need to re-evaluate how they grade this project and aware partial credit.

    Outside of that, I would recommend the course as interesting and somewhat challenging.


    Semester:

    CN is a great summer course!

    Lectures: The lectures were much shorter than the other courses I’ve taken (ESO, SAT, HPCA, IOS), and they weren’t always clear, but the material is very interesting for someone like me who has very little networking experience.

    Textbook: The recommended textbook (Computer Networking: A Top-Down Approach) is outstanding - very clear and easy to read, with great depth of material. It’s optional, but I learned a lot more from it than the lectures, so if you don’t have a networking background I highly recommend it. For example, it presents TCP details very clearly and methodically, whereas the lectures assumed you were familiar already, so it was somewhat scattered. I just rented it on Amazon for the semester for $30 - well worth it.

    Projects: For the summer term, we only had 5 projects. Typical semesters have 7 I think. If you know Python and read the directions, they were pretty simple. The longest one took maybe 5 hours.

    1. Network topology simulation
    2. Spanning tree protocol
    3. Buffer bloat experiment
    4. SDN firewall implementation
    5. BGP hijack attack

    Tests: Two tests, a midterm and a final. Final isn’t comprehensive, but covers a lot more material. All questions were true/false or multiple choice. The midterm was pretty easy, but the final was tougher (probably because I didn’t study as hard for it though). Definitely review the study questions and answers carefully, as they cover nearly everything on the test.

    Papers: 19 papers total, most were reasonably dry but decently interesting. A few were excellent:

    1. End to end argument
    2. Internet architecture and principles
    3. Bulletproof networks
    4. How secure are interdomain routing protocols
    5. Crossfire attack - this one sounds pretty scary.


    Semester:

    Good Beginner Course

    This course was my second in OMSCS. I watched lectures from Stanford Lagunita’s Computer Networking before taking this class, and it gave me a broad overview. The lectures were descent, but professor’s handwriting was a professor’s handwriting. This class presents Computer Networks at a higher level than packets, layers, etc. More about data centers, bgp, big networks.

    Projects 1-2-3 Used mininet and python to complete some different tasks. Each project was progressively more difficult, but nothing too overwhelming. Project 3 was probably the most difficult assignment in the course.

    Projects 4-5 These were more like lab experiments. Trying some different things, making observations. Reports were the deliverable.

    Project 6 - Software Defined Networking. Got to program a switch, using Python, to create a firewall. Straightforward.

    Project 7 - BGP Hijack - Very cool project, maybe the second most difficult to project 3.

    Overall I really enjoyed this class. Projects were fair. I never spent more than an average of 10 hours per week, though sometimes I would get into a project and work at it like crazy and get it done, then have a week to catch up on videos and reading. The exams were a bit challenging, but not impossible. Easy A if you do the work. TA’s are very engaged and helpful. Project documents are very organized.


    Semester:

    Great course! The class was mostly run by the TA’s, I don’t recall the professor ever appearing on Piazza or elsewhere. They did a great job of holding office hours, being responsive on Piazza and overall organization of the course.

    This isn’t an introductory networking course, rather it surveys a variety of topics being used in today’s internet and how they contribute to how the internet works as a whole. The last portion of the course goes into a few weaknesses that malicious parties use to mount a variety of attacks.

    There were 5 projects, all python, nothing particularly difficult but very much helped to reinforce the topics we were studying at the time. The two tests were through ProctorTrack and tested your knowledge of some of the finer details covered (I was not a fan of the tests).

    Overall, I loved the class! I learned a lot about how and why the internet works the way it does today and would recommend it to anyone! It is a great first course or could be paired easily with more difficult classes.


    Semester:

    Overall I liked this class. It was not as challenging as other courses I have taken, but the projects were good and supported learning. I knew very little about Computer Networks prior to the class and can now say I feel much more knowledgable. There are a bunch of papers assigned, some more interesting than others. The papers are not optional in that students are tested on the material. I suggest flashcards when preparing for the tests - there were a lot of terms and acronyms. For someone who doesn’t work in this area day-to-day I had trouble remembering what was what.

    Course videos are not the best quality and will hopefully be re-recorded soon.

    My biggest issue with the course is that the instructor was completely absent. She did not do a single office hours or any Piazza posts. The TA team was great, they certainly handled the class well, but it is always nice to hear from the professor directly from time to time. I hope this feedback is taken because I think Dr. Konte has a lot to offer her students!


    Semester:

    Absolutely useless course. Lectures are unintelligible, archaic, and uninspiring. Assignments don’t strengthen your theory or practice - rather, they test your patience in editing configurations and wading through opaque and poorly documented network libraries. You will spend more time trying to figure out the logistics of the course, then actually spending time on the course itself. Please avoid this class - it is an absolute disgrace in any computer science curriculum curriculum at any level, let alone Georgia Tech’s. You will emerge with no practical or theoretical network skills, but rather briefly knowing a few disparate random facts about networks that you will forget in a week. Does GT offer counseling for students who are traumatized by this course?


    Semester:

    My review might be biased here since I am only half way through (projects1-4, test 1, and project 5 and test 2 to come), But I just don’t see how things could improve later on.

    I am very disappointed with the material quality and project depth of this course. The videos are in terrible shape. They are unclear, and the voice of instructor is very unappealing and blank. 2 mins into the video is enough to put me into sleep. There are 5 projects in the summer class, but none of those projects have anything to do with the class video. Yes you can finish up all projects without watching the videos at all. The only reason you should watch the videos is that tests are based on them. Overall I think the course is poorly organized and should be re-made in the future.

    Pros: easy class, not much coding, and everything is in Python. Low stress on projects

    Cons: I don’t think I learn much from it. Plus a lot of study has to be done to get a good grade on tests


    Semester:

    Computer Networks was the first course I took as part of OMSCS since I’ve read here about its reputation of being one of the easier courses, but also because I worked on network protocols at the time as a software engineer. As a SE you don’t really have the larger picture, I knew very well how the data plane works and how you would program one, but I only had a superficial understanding of the protocols that ran on top (only learned enough to debug whatever I was working on) and BGP was a complete mystery to me.

    Despite the course being easy I learned a lot and I really enjoyed the course! To get the most out of it I would strongly recommend reading all the papers in detail, and not just scanning them to make sure you know enough for the exam. I found the paper selection to be by far the most valuable part of the course. They were all high quality papers and they all covered very interesting topics:

    • general Internet architectural principles (some of the best papers I have ever read and I work as an academic researcher now having left my SE job so I read plenty of those)
    • BGP overview - BGP is the most important protocol on the Internet so it’s worth paying attention
    • some TCP, queuing, and congestion control - I found these less exciting, but they were all good papers
    • SDN - SDN is a hot topic in research and industry right now and there is very little in terms of educational material so it’s really worthwhile to get as much out of this part of the course as you can
    • data center architecture - a fascinating topic for networking due to how different it is from a normal network
    • network security - it’s terrifying to see how easy it is to subvert the flow of Internet traffic

    I found most of the projects very interesting as well, though I didn’t like the report based ones which were pretty boring. A lot of people say projects 2 and 3 are really hard. They are if you don’t think about your code as you write it. The amount of code you write is extremely small so it’s worth thinking through every line that you write. If you carefully account for all edge cases, your code will breeze through all the test cases. As others have said - pay attention to Piazza and pick up all the different test cases people publish. The remaining projects are pretty easy. There is an extra credit component for project 7 that can give you an extra 5%, but it is fairly challenging (though that may depend how advanced you want your solution to be).

    A lot of people often complain that some of the projects don’t follow from the lectures which is a complaint I find incredibly frustrating. The projects are designed to teach you material that isn’t as easily presented in a lecture format. This makes the projects much more interesting as well.

    Overall I would strongly recommend this course!

    Pros:

    • interesting material
    • good selection of papers
    • the course is easy so you will have time to focus on the material
    • interesting projects

    Cons:

    • the write up based projects were pretty dull (but they were easy marks)


    Semester:

    Interesting course, I always liked network, the material is not hard.


    Semester:

    Relatively easy class with some prior knowledge. First few projects are the most difficult and the rest is much easier.


    Semester:

    Took this class because it was supposed to be easy, and it was, but it could not have been more boring. The class is basically run by the head TA, the prof is missing in action. The course has changed somewhat since the lectures were recorded about 6 years ago. The videos are not useful and there is no textbook to follow. The assignments can be very involved, but this was the only actual learning opportunity. The course really needs to be revamped and the assignments made more relevant.


    Semester:

    SPRING 2019 – Easy class and very interesting. Just make sure you get a really high grade on the first exam, because the last one averaged 75% and there is no curve.


    Semester:

    I liked the course. It is not an easy course and its difficulty is medium. It has 3 tests that are about theory and are multiple choice. The last 2 projects are difficult.


    Semester:

    Background:

    Mechanical engineering major undergraduate 2 years out so no formal CS education. Transitioned from Software Test Engineer to more Software Development during this phase of taking this course, full time job. Knowing a bit of Python helped a little on some of the homework. Courses taken so far were:

    • IOS Spring2018
    • SAD Summer2018
    • SAT & SDP Fall2018

    Classes taken concurrently with this class: CN & DB

    I would say by now I have gotten the hang of the program and how it works, so I knew my abilities and what I needed to do.

    Summary

    I had basically no prior networking experience, except doing TCP from GIOS. Decent class for introducing networking concepts but I could not utilize it to my potential because I had 2 other classes to worry about so I couldn’t fully grasp all the concepts. Lectures used a lot networking vocabulary that as a beginner, made it hard for me to understand esactly what was going on and what everything meant… Did bad on 2 of the exams, and slightly above average on 1 exam (73%, 65%, 52%), all full score on homework except 1 assignment which I got like 75% on, able to limp away with a B in this class.

    Pros

    • Homework was all Python, well guided
    • Lectures decent, but can be difficult for beginner
    • Subject supposedly very important/fundamental for software engineers

    Cons

    • 2nd and 3rd homework assignments can be pretty difficult
    • Can be confusing for someone that has had no networking experience

    Tips

    • Make sure to do enough testing on your homework assignments to make sure they are correct. I got burned by not taking into account one edge case (literally like 1 incorrect comparison) and costed me 25% of the assignment, which can be a huge impact to your grade.
    • If you spend time to really read papers and study concepts, you might get more of it than me because I only had so much time dedicated to this class (juggling 2 other classes with full time job)


    Semester:

    This is a pretty standard class. Not too difficult. 7 Projects with 3 tests. A good bit of extra credit was offered as well. It is not easy, but an A should not be too hard with honest work. I’ll go ahead and say a few of the projects were a bit boring. More or less you run an experiment setup from a paper and write a report. Some people may enjoy that though. You mostly learn an academic understanding of networks not many tools you could apply to a job. I think that is reasonable though as this is a grad program. I am neutral on it. Probably a good class to pair with a hard class.


    Semester:

    Overall, a decent class. As someone with no background in Computer Networks, I found this course to be a decent introduction to it. The projects were overall not too difficult and were all in python. My preferred language of choice is Java, but I didn’t find the python code for this class to be too demanding. I think the first two programming projects were considered the toughest and worth the most. One was the Spanning Tree Protocol and the other was Distance Vector Routing. If you’re stuck, make sure to attend office hours and check out the TAs’ introductions/explanations. They were pretty helpful. TA’s were also pretty responsive so that was pretty great. Some other reviewers already posted detailed info on each project, so I won’t really repeat it. The professor was non-existent and we only heard about her through the TA’s. She chimed in through the TA’s to remediate some problems with due dates at the beginning of the semester, and that was it.

    There were a lot of research paper assignments, and frankly, the readings were quite dry, apart from maybe a few. I can tell you I won’t miss those. Fortunately, it wasn’t entirely necessary to read them too closely since the TA’s actually put together amazing study questions for each test. The answer key to the study materials summarize the main points to each paper pretty well.

    The lectures do feel like they need a refresher since the professor who made them is no longer there. Plus, it kinda feels like the lectures do a lazy job explaining a lot of the concepts. I won’t miss watching them…

    The tests were straightforward. I fully admit that I’m not a fan of memorization type tests, which is what this class did. It was a lot of trying to determine between two answer choices with some minor differences in description, so it was either you remembered the exact wording or you don’t. I always did eh on these. Got mostly high-70’s on the test, but I was still able to get >90% in my overall grade since I did well on the projects.

    Also, they gave out 6% extra credit. You can earn up to 5% from trying some EC portion in the last project (Project #7), and 1% from participating in 3 discussion thread through the semester (that’s 1% from participating in 3 discussions in total—not 1% for each participation!)


    Semester:

    Was Actually Spring 2019 but theres no option for that yet. Overall only the firewall project and one of the first projects where difficult, the others where easy/medium if you kept up with lecture and piazza/slack.

    Definitely recommend doing the extra credit as it can help out by a half letter grade (6% of possible extra credt).


    Semester:

    Grading was traditional 90+ gets an A, 80-90 gets a B.

    7 projects. Each project should take about 5-15 hours for the average student. Most projects had you programming in python on top of a framework called mininet, though some had you do analysis without coding. A couple of the projects required an elementry understanding of shell scripting,

    The projects were fair, though not fun or interesting. More than once I lost hours either due to grammatical mistakes in the instructions or inconsistencies in the supplied code that requires you to go through the code with a fine toothed comb, most likely caused by the project being built on top of a demo for one of the frameworks. I didn’t find the projects useful as I did not learn much of anything doing them, rather they have you demonstrating or confirming aspects from the lectures or papers.

    Projects also felt disconnected from the original course vision. The first project is stated to make you comfortable using mininet. However the knowledge and skills gained from this project are not really used in the future projects. I did not feel like that first project was useful to me.

    Projects felt designed to be pass/fail. There was no “gotchas” in the grading, hidden test cases, or testing for extreme edge cases. If you followed the instructions and confirmed your code did what the instructions wanted you to do you’d get a 100 on the project.

    Exams were mostly fair. I did have a couple issues with questions on the exam that boiled to “X is a type of _____.” Where the answer to this question was one offhand sentence in a lecture. The other issue I had was I had a hard time with some of the true/false questions as they could feel like trick questions, things like giving the right description of an algorithm but not sure about one of the adjectives in the description. This felt unfair when you have the knowledge to describe the algorithm, what it does, how it does it, and what it’s weakness is, but cannot recall the specific wording used in the course.

    In the end there is good knowledge to have here. If you can average a high C in the exams (easily doable) and got full marks on all your projects, you’ll walk out with a good amount of knowledge gained and an A.


    Semester:

    Ok class, pretty easy material. I would not call this a graduate level class though.


    Semester:

    The class is very well run thanks to the amazing TAs. The projects are graded relatively quickly (~2 weeks after submission). The TA weekly office hours (Thursdays at 10 pm eastern) are very helpful especially at the beginning of the semester. The TAs also host several weekly chat at different hours through out the day. They are very responsive on piazza. So there is plenty of help available.

    I found the projects to be quite straight forward but at the same time a good learning experience. The amount of coding required is very little and it’s all in basic Python. If you know how to create functions, loops, sets, lists, tuples, and dictionaries in python 2.7 - you are all set coding wise. I recall one of the past reviewers mentioned that this class taught them how the internet works. I found that assessment to be very true.

    The exams were multiple choice/multiple answer or true/false and mostly based on remembering the high level details from the class lectures. There are ~20 research papers to read through out the semester and they are also part of the exam.

    To get an “A”, you need to make sure that you score 100% on the 7 projects and try to get the 6% extra credit that is available. This puts you at 76% and then you will only need to score 50% on exams to make an A.

    This class is in need of a refresh. The professor who created the lecture videos is no longer at Georgia Tech, so I felt a disconnect between the projects and the lectures. There should be more than one SDN project using Pyretic API/OpenFlow and Mininet as well as lectures and projects on cloud networking concepts. I also wish that the class had bonnie (auto-grader) for project 2, 3, and 6.

    Overall, I liked this class and I would highly recommend this as a first course. Additionally if you are very new to Python, this class will provide a very gentle introduction.


    Semester:

    This was a relatively low-stress class. TAs were good and responsive. There were generally ways to test your projects. The projects were fun and engaging. I liked the projects a lot more than just the lectures/tests/and readings. I felt as if I learned much more from these projects. Overall the course was well run though and would be good to pair with another course. There is no working ahead as projects are released on a set schedule but you are given enough time to do them. A little bit of extra credit is available as well. The course VM worked well too. Exams are multi-answer muti choice generally so it is a challenge to make sure you are figuring out all the correct answers and not just one but I think it is a good way of testing knowledge.


    Semester:

    Computer Networks

    Course #

    • Took this as my second class in the program.

    Estimated Workload

    • ~5-8 hours per assignment. Most assignments don’t involve much coding and most of the work is just reading the paper associated with the assignment and figuring out what needs to be done.
    • ~5-15 hours to study for the exams (watch the lectures and skim the papers). My estimate might be higher because I’m slow at reading papers. .

    Summary of Assignments

    1. Assignment 1: Quick VM Set up (~2-3 hours)
    2. Assignment 2: Spanning Tree Protocol. This involves some python coding but the algorithm is almost laid out in lecture notes /TA notes. Make sure to test using the zip files provided on Piazza. (~7-10 hours)
    3. Assignment 3: Distance Vector Routing. Python coding - TA explained the full algorithm in office hours - just need to implement it. (~5 hours)
    4. Assignment 4: TCP Fast Open. Mininet experiment based on a research paper. All instructions are given in the project write up, you just need to run commands in mininet, analyze the results, and write a report. (~8 hours including paper reading)
    5. Assignment 5: Congestion Control & Buffer Bloat. Mininet experiment based on research paper. All instructions are given in the project write up, you just need to run commands in mininet, analyze the results, and write a report. (~8 hours including paper reading)
    6. Assignment 6: SDN Firewall - implement a firewall using pyretic - very little programming involved (probably under 30 lines). Use the test suite provided by the TAs on Piazza to verify. (~5-7 hours)
    7. Assignment 7 + Extra Credit: BGP Hijacking - run a topology through bgp prefix hijacking. Very little programming (~10 lines), requires creating a diagram and changing 12 configuration files.

    General

    • The instructor is absent but the TAs are great!
    • Basic python coding is needed. Even if you don’t know python you will be able to figure out the assignments - the coding required is very basic.
    • Assignments are due almost every other week so if you finish the assignment when it’s released you’ll have at least 1 week free!
    • No prep work needed before the class. Many posts mention going through the Stanford networking course videos but this is really unnecessary. All the material you need for the assignments and exams is covered in the class. Don’t waste your time with prepping before the class.
    • Exams require watching lecture videos & reading papers - 3 exams, multiple choice questions. Usually just a weekend worth of studying needed before the exam. You have 1 week to take the test. Closed notes. Don’t read the full research paper for the exams - just get a high level understanding of the concepts. No questions related to experiment setup or related work for the papers.
    • Piazza is well structured and TAs are very responsive and helpful.
    • Assignment instructions are very detailed and useful and include all information needed to complete the assignment.
    • 80 points of Extra Credit available - 3 10 point discussion thread and one 50 point project with Assignment 7.
    • Lots of tests for coding related assignments are provided by other students and TAs.


    Semester:

    Most of the comments about this class by others is accurate. The professor does not interact. Hopefully she’s just shy and works diligently behind the scenes OR she gives her pay to the (good) TAs. A few of the TA’s were great – they encourage and give you reassurance without giving you the answer. Others couldn’t relate the ideas and/or didn’t do their homework. A lot of papers to read, some were technical and required a lot of research. The videos are hastily made and in need of care. I worked much longer than most people, at least longer than they say they do. This includes extra time studying, testing projects, reviewing Piazza and Slack, and researching. You can get by with less, especially if you have some background in networking applications. A couple of the projects, particularly 2, 3, 6, and 7, took some time to figure out. A bit challenging, but you are set up to succeed. I enjoyed the course and would recommend it. It’s not overly challenging, but you can get more out by putting more into it.


    Semester:

    I took this as my 1st course and it was good one to start with considering the timelapse since the last time I had attended a formal education. The workload was manageable and the tests were easy.


    Semester:

    I hope they’re still maintaining this site - I didn’t see Fall 2018 as an option, but that’s when I took this class. A good class with 3 or 4 projects and pretty straightforward tests. If I had taken this class first, I would have thought this program was very simple. I don’t think any project took more than a day (5- 8 hours), and no accompanying reports were required for the coding projects. A good intro class and mostly interesting. Had a high enough grade going into the final that I didn’t really study or read the last set of papers (and still did fine).


    Semester:

    Good course to take at the beginning of the program. Learned a lot.


    Semester:

    The assignments and exams are not too much related to the lecture video.


    Semester:

    I would say this course overall was somewhat worth taking. I had a pretty extensive background in networking prior to this exam having worked as a penetration tester and as a system administrator, but I wanted a bit more theory to balance out my practical experience. The course content was not very deep, but it did cover a lot concepts like buffer bloat, a few routing algorithm implementations, and some SDN that I felt was useful. There was the opportunity to get some extra credit in case you really messed up a project. I personally found the exams to be really hit or miss, and I consistently scored below average. I felt the questions were difficult to parse sometimes, and missing more than a few guaranteed a B or C on the exam (I believe this is accurate). I would STRONGLY recommend getting Project 2 and 3 to pass ALL TESTS. In Project 3 I placed a break` in the wrong spot and ended up only passing 8/9 tests. I thought I would do alright on this project, but ended up with a 40/150. This severely constrained my ability to earn an A, so I strongly recommend getting ALL TESTS to pass. Sounds obvious, right? Like all CS classes, you are better off knocking out all homework/projects as SOON as they are assigned. Failing to do this means you will not have the time to be able to ask the TAs for help. Nothing but my own fault for not doing this.


    Semester:

    It was alright


    Semester:

    The course is really more of a survey course with really simple projects which individually don’t take more than a night’s of work. Personally, I found the topic to be not super exciting but that is not helped by how the course was conducted both with what the projects entailed. In addition, there was a whole fiasco about the head TA Stacia who was very much on top of communicating to students who was let go in confusing circumstances. The whole situation was confusing for students as we weren’t sure how this affected us.


    Semester:

    Not a difficult course for me but I still enjoyed as it exposed me to aspects of networking I wasn’t aware of previously and went more in depth on some things I did know. Lots of research papers to read, so be aware if you are a slow reader like I am.


    Semester:

    This was my first OMSCS class. My undergrad was in CS but I hadn’t taken Networking before. I work as a software engineer- typically work 50+ hours a week. This class was initially interesting and I learned some really cool stuff. However, I attribute that to the nature of networking instead of the course, itself. Projects are really quite easy. Project 2 and 3 are the hardest and I finished them in one weekend day. The amount of extra credit given was ridiculous.. really easy A because of these opportunities. The exams were annoying. They didn’t test understanding- more just tricky questions. I would recommend it as a first course since it’s low time commitment and easy.


    Semester:

    Exams 3 proctored exams, all closed-notes. All multiple choice questions. Take notes and watch the lectures in advance so you can focus on the projects when they are released. TAs release exam review questions and solutions before each exam. Those were most helpful for studying.

    Readings Research papers were interesting. Liked it when TAs posted questions to guide the reading or projects.

    Projects 7 projects/labs. Most of the grade so do well on them. You can’t work ahead. Project specifications are clear. Lots of unnecessary, repeated questions about projects on Piazza. Read the project docs closely and watch any project videos the TAs share. These go a long way to help you understand what you have to do. I liked the 2nd and 3rd projects on writing distributed network algorithms; they were the most interesting projects with Python coding. The last three projects required more configuration and less coding.

    Homework None

    Instruction While the lecture videos are clear, the diagrams and text on the screen is generally messy. Could be better. TAs were helpful on Piazza. The professor was largely absent until midway through the course when the head TA (Stacia) was let go. Stacia was great, and the TAs always responded quickly. I didn’t experience VM problems but some students did.

    Pre-reqs None. Some introductory material on networks, TCP handshake, and Python coding will help.

    Overall I had little to no networking knowledge prior to this course so I learned a lot. I didn’t find the content super interesting, but it is useful. Good to know more about TCP/IP, distributed networking algorithms, congestion, traffic engineering, and software defined networking. It’s a good choice of a first course in the program. It was my 7th.


    Semester:

    This is a good choice for the first course with a lot of extra credits. I guess a majority of students in the class must have gotten B+ and above, if not A . Lectures are very superficial and I did not get any real knowledge about networks after completing this course. Also it is annoying that the lectures are not current/relevant with missing portions making it look like you’re watching a poorly edited movie.

    Earlier projects were a little bit interesting, like implementing distributed networking algorithms. TAs were supportive, but did not really encourage creativity. I noticed that some of my fellow classmates got rude answers for questioning assignment structure or when they tried to come up with alternate ideas for implementing. It would have helped if the assignments gave more information about the algorithms we were trying to implement, because they were totally tangential to lecture material.

    As others had noted, instructor was mostly absent, but she was the most helpful and the most respecting of students. She tried her best to clarify on doubts just before the exams and also helped us wade through tough papers.

    This is a class to get good grades(IMO), you just have to scramble a bit every two weeks to submit a project and exams were mostly easy. Right now, it is not a good class to learn about networking, but if the lectures and assignments are revamped(as the instructor kept promising), this course has potential to become a better one.


    Semester:

    Very interesting course, learned a lot. Some projects can be challenging, had to work more than 12 hours on some of them, the most challenging are in descending order Project 2 - Project 3 - Project 7 - Project 6. If you count the time required to finish the group projects and the time required to watch the udacity lectures and read the papers, is around 18 hours per week.

    I have never worked on Python before, but I had a strong networking background.

    The lectures were very interesting, the projects very fun but got some troubles to understand what I had to do on some of them losing some time, also we got some troubles with the virtual machines.

    My advice, plan every project ahead, understand what you need to do and make a plan to do it, dont jump into programming without being clear you can lose a lot of time if you do so. For the tests, study the lectures and papers in the week they were assigned, don’t wait to the end or you won’t be able to finish study on time.

    Overall I loved the course, but I don’t consider it an easy course (to pair with a harder course for example), however this is my first course and I don’t have anything to compare with.


    Semester:

    The easiest course I have taken in this program. Actually. the content itself is not very easy, but basically you don’t need to understand everything very well in order to get an A grade. Almost more than 10 extra points makes me no need to take the final in order to get A.


    Semester:

    Not sure where to start. The class itself focuses more on teaching you about computer networks in general rather than teaching you to work with them and doing projects in networking. 7 projects, of which 4 are python based, need little coding (maximum I coded was maybe 3-4 pages in total for the course but you must understand python and programming to know what you are doing). You will enjoy the class and if you are comfortable with python and know basics about networking you will learn new things and it will be an easy class for you. Tests are easy too. The overall structure of the class is very well laid out though some projects may require you to spend a weekend (20-30hrs) to make sure you get full grade for them. Since most projects are autograded, if you do well on them the class should bag you an easy B and little more effort should get you a very comfortable A.

    Now this semester the class had to go through some issues. Stacia Stokes (the head TA) was let go in the middle of the semester and it seemed like she was pretty much ticking all the right boxes as a head TA so nobody understood what happened. After that the class went a little numb for a while. Projects 2-3 had videos to help students complete the projects made by stacia which were super helpful but once she was let go, the videos for later projects made by some other TA were terrible. They were not clear and it may not be the TAs fault probably the course just had management issues so nobody knew what was going on. So the class definitely ran into problems mid semester.

    Once that happened in order to literally make up for they threw an additional 7% extra grade points. You literally had to do nothing but give feedback on the class VM to get 6% of the 7%. This meant almost everyone would get an A or a B since the official class already had a 5% extra graded portion for the last project. So 12% extra grade was just ridiculous and made the class too easy to get an A. The 7% will most likely not be there next semester cause it felt like a lame attempt to convince students not to badly rate the class anyway.

    All in all I would probably still suggest this class if you want to learn some interesting stuff about Computer Networks. The class may not be helpful for anything real world since it just briefly teaches all the concepts and doesn’t go deep into something but it should be an easy class for a semester if you dont want too much work load. Easy B. Little more effort and comfortable A.


    Semester:

    Relatively easy class and with extra credit I finished with over 100%. Disappointingly some of that extra credit was awarded to the whole class because the professor screwed up. Professor is also not present and the lectures are by someone no longer at Georgia Tech. You will be learning old stuff, but still very relevant given the underpinnings of TCP/IP haven’t changed that much in 30 years. Head TA, since removed in Fall 2018 I believe, I found to be a challenging personality. Some programming experience for a few of the projects will be extremely helpful. Most of the projects are done inside of a virtual machine, which generally worked well enough. Albeit it’s a network simulator that could sometimes be flakey producing inconsistent results.


    Semester:

    Stacia is hands down one of the best TAs, it was a shame that there was some drama in the middle of the semester which led to her stepping down or getting fired. The rest of the TAs were incompetent and always graded written work terribly, just scanning for keywords in the prompt when I clearly answered the question that doesn’t include copying the question word for word.

    I already came in knowing a some computer networks and security from work and IIS, but the whole topic is just a bore.


    Semester:

    I once got asked in an interview “How does Internet work?”, and I bombed it, so I really wanted to take this course to find out what I should have said. Overall, it’s a pretty good course, with regular, fairly simple projects, and I think now I might be able to do better in that interview.

    The semester was marred a little by the drama of head TA Stacia leaving abruptly, which was a big loss to the course. This meant that the first half (with Stacia) was very well organized, with a lot of guidance on the projects. The second half wasn’t as good, with more ‘configuration’ style projects, rather than real coding.

    Overall, it was a good first course that can easily be paired with any other course. But without Stacia, I’m not sure that students in 2019 will have as good an experience.


    Semester:

    Taken with Software Analysis and Test for my first semester at OMSCS. Some of the labs are fun, some seem to be more tedious. Overall, not a super hard course if you put the time in. Tests are not worth much so it’s really just doing well in the labs and decent enough on exams. Ended up with an A and didn’t do any extra credit.


    Semester:

    The course is nice as it is trying to cover several aspects of networking but on a high level. There are several extra credits opportunities were offered. There is almost assiy every two weeks which requires two days of work and three exams which requires alot of reading.


    Semester:

    Professor very helpful and manages the course very professionally. TAs are extremely efficient and helps the student community very well. As long as you are up to date with the lecture material and regularly doing the projects, you should be good. Do not fall behind because given the course load, it will be difficult to make yourself up to date quickly. Tests are difficult. Even though test questions are multiple choice, lecture materials need to be studied meticulously.


    Semester:

    I took this course because I was anticipating a very challenging Fall at work. As it turns out, work was very challenging and this course didn’t squeeze my time like other courses in this program do. Overall, the course content was informative, but not particularly interesting. Unlike other courses, the ideas in the lectures are not particularly thought provoking. The projects were a breeze (except for the last one - start that one as soon as you get it) and didn’t really teach much. I did manage to dramatically increase my knowledge of networking, but it was a informational type of knowledge; meaning, you won’t walk away from this class with any useful networking skills. I would only recommend this course if you are too busy to take a more demanding course; otherwise, go find something more interesting to study.


    Semester:

    Overall, I didn’t like this course. Most of content was really interesting, but the grading was pretty strict, the professor was nowhere to be seen, and the TAs weren’t very helpful. There are 7 projects and 3 tests total in this class. The tests aren’t bad as long as you study. Projects 2 and 3 were a bit tricky because they were easy to mess up on, but once you get past them the rest of the class is smooth sailing. As others have mentioned, halfway through the semester our head TA was randomly fired and the other TAs had to scramble to fill her spot. Honestly, I was a bit happy the head TA was gone because she was a bit mean and abrasive. For example, a lot of students had issues with the provided VM we were supposed to use for Project 1 (the file system kept randomly locking). Instead of being helpful and trying to resolve the issue, the head TA blamed us for the issue and refused to take us seriously when dozens of us posted on Piazza about our issues solely because they weren’t able to replicate the issue on their machine. I had a friend (very competent person who would have done well in this course) drop solely because of the VM issues during the first project and how unhelpful the TAs were. The course became so ridiculous with the TA drama that the professor stepped in (who hadn’t been seen in months) and showered us with extra credit assignments, which I didn’t mind. Overall this was a class with interesting content, but I don’t think I’d recommend it (especially not as a first course).


    Semester:

    I really liked this course, I had a beginner knowledge of networking and advanced knowledge of Python, which really set me up to learn what the course was about instead of scrambling to figure out the language or basic concepts like I am in most other classes due to my background. If I didn’t know Python, this would have been much more difficult for me. The projects are basically due every 2 weeks, all the test material is given at the beginning of the semester; the only thing you can’t work ahead on is the projects. The TAs are extremely responsive and attentive, which is a huge advantage as the professor is non-existent. Stacia was the head TA for the first half of the course, and like others said, she runs a tight ship and doesn’t take attitude from anyone (and seems to be overworked), but that worked with my personality style so I had no issues. Halfway through, she was replaced and the other TAs had to scramble to cover the workload Stacia previously covered. The other TAs did a great job carrying the course to completion and worked extremely hard. Most of the topics are interesting, the projects are really captivating IMO, but the readings are pretty boring. Overall, good class and wonderful TAs – the class would have been a disaster without them.


    Semester:

    The projects were fun and informative, but the tests were crappy multiple choice, multiple answer tests that I had trouble preparing adequately for. I aced all the assignments and projects and got a couple low scores on the tests and this ended up being the only B I have gotten in the program. It’s an easy class as far as workload.


    Semester:

    Coming from a non CS background, I found the course very interesting. It is definitely worth it if you are rusty in networking or have never taken an undergrad version of the course before. The head TA at the time was exceptionally helpful when it came to getting personalized attention. This was great for me, since this was my first OMSCS course. BTW the first project is hard. I recall one other one being time consuming and somewhat difficult. The rest are relatively easy. Overall, it was good!


    Semester:

    This class is overrated. Lectures are opaque and slides often covered with tons of unintelligible scribbles that make them impossible to study from. The assignments often didn’t line up with the content of the lectures either. Lack of autograder with instant feedback is a major downfall. Tests were okay but some questions felt very nitpicky. No contact with the professor who was supposed to host some kind of extra credit discussions but everyone just ended up getting it for free.


    Semester:

    I took this course in Spring 2015. Course has undergone substantial changes from then on. During the term I did it, the course was predominantly run by the TAs. The instructor that had created the course had just left GATech and new instructor was yet to engage completely.

    Assignments were well designed. Mininet is a cool tool to learn and simulate a bunch of things about the network locally on the laptop.

    I enjoyed this course back then


    Semester:

    This is class was pretty interesting and goes over how the internet works. This is something that is worth learning. You will read a lot of research papers which is a skill you will need to develop as well.

    The projects are sometimes based on the papers and need to be properly understood. Exams are somewhat rote learning and you either know it or you dont.


    Semester:

    Course was good. Great lectures, fair tests. START EARLY ON THE ASSIGNMENTS AND PLAN YOUR LOGIC BEFORE WRITING CODE!!! This will save you the 10 hours of confused debugging I saw a lot of students going through and will likely reduce the time to complete the difficult assignments from 10+ hours to no more than 2-3. The hardest assignments ultimately required no more than 50 lines of pretty straightforward code, so if it takes you 15 hours, it’s because you didn’t completely understand the requirements before starting to write code.


    Semester:

    First course I completed. I honestly liked this course. It’s very useful. This reflected on the fact that I did quite well with the last project. There were extra credit points granted.


    Semester:

    The lectures were fantastic. As others have mentioned, the assignments typically had a ramp-up period but were then not too bad. Tests were fair and used lenient multiple choice grading.


    Semester:

    solid course

    setting up the VM in the beginning mightbe tricky but after that it is pretty smooth sailing. the assignments were straightforward in python and the TA (Stacia) is an absolute star. :)


    Semester:

    This was a competently if unenthusiastically taught course though moderately interesting material. I’m glad I know how these things work now, but in retrospect, I don’t think I was the target audience. I took this to gear up for IIS, which I’d heard is the closest thing OMSCS has to a course on cryptography. Still, if the efficient delivery of packets gets you tickled, you’ll get to read a lot of interesting papers on exactly that in this course.


    Semester:

    Enjoyed the course and walked away with a much better understanding of the topics. The projects were interesting and engaging; as always, it is best to front load. I noticed many students who started late and had a predictably bad time.

    The course assumes an understanding of networking fundamentals, so recommend brushing up on that if you don’t have this background. The class refers a free online Stanford course that fits the bill, but best not to wait until the semester is underway to do so.

    Many research papers to read. TAs were helpful and responsive (one in particular), and overall this was a very well-run course. Only drawback was that the professor was almost entirely absent, with somewhat dated lectures coming from a professor who has been at another university for a few years now.


    Semester:

    This was an easy course. I took it as my second course and did not have to spend too much time on it. The projects and reading was interesting and I learned a lot.


    Semester:

    This course is a great course for new students or as part of a harder semester. The teaching is solid, the syllabus is clear, the projects are doable and the exams are fair.

    Most projects have a 5 hour period of confusion while one figures out what’s going on and then they become pretty doable.


    Semester:

    Great cohort - very active group; provided excellent tools to verify outcome of our projects. Projects are of low to moderate complexity, but interesting ones. Projects 2, 4 and 5 provided good opportunity to learn new concepts. Big shout out to TAs (esp. Stacia).


    Semester:

    The material in this class was very interesting. Head TA Stacia runs the class extremely well and is great about holding regular office hours and preparing review material. There was a substantial amount of reading in the second half of summer. Projects are in python.


    Semester:

    This was easy in the program for me but the course was very engaging. We wrote a lot of code to solve problems and read a lot of papers. I learned a lot and have a decent background in networking. The SDN aspects pushed me into understanding some cloud concepts that had eluded me earlier.


    Semester:

    I didn’t enjoy this class. I didn’t enjoy comp networking in undergrad either so this is just a subject I dislike, I guess. The material is very boring although some of the security stuff toward the end of the class was a little more interesting we didn’t do much with it though. The lectures are quite boring and I just tried to get through them as quickly as possible. Tests were proctored and not to bad to study for. There was a mid term and final.

    There were 5 project in this summer session. The first was using mininet and topology design. The second was more topology design, switches, routers, etc.. and required some basic python programming. The third was more of an experiment, run the tests and write about what you found. The fourth was about firewalls and required basic python. The fifth was about bgp and utilized mininet again. For the projects its important to note that the way you submit them to canvas was different for every project. Which I thought was very odd and cost you 15 points if you submitted it incorrectly. They said it was because of the grading scripts. I don’t know if that is supposed to be a gotcha or just poor design. Sometimes the file format you were supposed to submit were listed in a random piazza post by a student who had to ask about the format of the file submission. Just pay close attention to that and make sure you ask if its not clear in the directions.

    There was 80 points of extra credit as well.

    TA’s were active on piazza and tried to answer questions there. I don’t recall the instructor ever really interacting other than at the very last week.

    If I could go back to the beginning of the summer I would have chosen a different class. I don’t recommend it unless you’re gung-ho on comp networking.


    Semester:

    I think this class is easy. Python is enough for this class. The homework is some easy problems use mininet and a virtual machine. If you are new to OMSCS, I think this class is a good choice. you can learn a lot about computer networks, and the workload is just fine.


    Semester:

    Fairly boring lectures, very dry material. Projects were okay. Head TA has a horrible attitude and is clearly on a power trip. Never once heard from the actual professor.


    Semester:

    Honestly, wasn’t a huge fan of this class. Feel like the lectures were kind of shallow and didn’t really go very in depth on common algorithms and the like for networking. The assignments didn’t stimulate much learning either and one of them was simply updating config files, the time to complete ranged from 2 hours to 7 hours. Test 1 I thought was fairly good and required application of concepts we learned, think Test 2 missed the mark. Neither of them required more than 5 hours of studying.

    The TAs were alright and the head TA definitely ran a tight ship for better or worse. There was mention that they are upgrading the assignments for Fall 2018 so might be better then but at this point kinda disappointed I wasted a class on CN.


    Semester:

    Solid


    Semester:

    I personally chose this course because I was going to have a busy few months during this semester so I needed a course that was manageable given the time limitation. This course was well managed with great material, awesome TAs who were very responsive, and definitely gained a deeper knowledge of networking infrastructure. Recommended as a compliment to a harder and more time consuming course or if you want a stress free class to enjoy the summer!


    Semester:

    This is a good intro to the program, because the subject matter is so foundational / ubiquitous, and because the class is quite manageable and there are extra credit opportunities.

    The curriculum, as designed by the original Professor, was quite good, in my opinion. A nice variety of papers to read, and I found the lectures to be well designed / delivered, and quite cogent and lively. The tests were all single-answer / multiple-choice, and relatively straightforward, if you had boned up on the material. The projects were also quite manageable, given sufficient time; 2 and 3 were among the most challenging, but it’s pretty smooth sailing after that front-loaded difficulty.

    In the Spring 2018 iteration, the current Professor (Maria Konte) was more or less MIA until the latter third of the course, and even then they only made occasional, brief appearances. However, she was a very positive, clarifying presence whenever she did weigh in.

    There were a number of TA’s who were friendly and helpful, but from whom we heard little. A lot of that appeared to be due to the fact that the lead TA (Stacia Stokes) seemed not to be a big fan of delegation. Others have noted her propensity to run a tight ship, and that is true, but is not necessarily a positive if you don’t like your grad school experience to be akin to being the lowest ranking seaman in the Navy. She publicly castigated / punished students she apparently considered to be overly creative / curious, or insufficiently enamored of her top-down approach, on a number of occasions (as she seems to conflate them with the lazy or unmotivated as being “problem students”.) Left something of a bad taste in my mouth, but she did competently bring the enterprise to its prescribed destination, I suppose, so… ¯_(ツ)_/¯ Caveat discipuler.


    Semester:

    I really enjoyed this course and was exposed to a lot of new networking concepts, especially WAN and Internet related things. Dr. Konte wasn’t really involved, but the lectures and TAs made the class fun and educational.


    Semester:

    This was my first class in the program. I selected it because it looked like one of the easier courses in the OMSCS program, and I wanted to start off with an easy course my first semester back in college.

    My assessment was correct. This is the easiest course I’ve taken so far by a considerable margin. A little too easy.

    The best part of this course was the interesting papers that we were assigned to read each week.

    Lectures were okay. They covered a lot of ground, which was nice but often did so in a superficial manner. Exams also covered a lot of ground, but superficially.

    For the most part, the assignments were poorly put together and most of the “challenge” in them was working around the parts that were broken or poorly specified. There was one exception. Project 2 was actually pretty interesting, and a reasonable challenge. I got my hopes up after it, thinking that it was representative of what was to come, but sadly, the assignment quality went down from there.

    The professor left the TAs to fend for themselves for the most part. I think she posted in Piazza a handful of times the entire semester. From what I could tell, the TAs did the best they could, given the professor’s absence.


    Semester:

    This was my first class in the program. I took this class first because I don’t have a lot of computer science courses under my belt, this is a foundational course I think any good software developer should take, the reviews indicated this is a relatively low workload course (compared to, e.g., Machine Learning and the like), and I am good with Python (and this class uses Python).

    First, the good points. I feel like I learned a lot about principles of system design and why the Internet is designed the way it is. The projects were a good mix of “implement this algorithm”, “configure a virtual network”, and “reproduce and analyze the results from this academic paper”. The last item, reproducing and analyzing an academic paper, was particularly nice because it exposed me to how computer science research is actually done, experience that I did not have. That said, reading the papers and writing the report did eat up a lot of time, especially compared to the actual programming portions of the projects (I am an experienced Python programmer, so this part was a breeze). None of the projects were group projects, so that is also a huge plus. The lectures were mostly engaging, with enthusiastic presenters.

    Now, some negatives. The tests were usually not well designed. There were three, and only the first seemed to do a good job asking interesting questions that required advanced thinking about the concepts; the other two were filled mostly with what seemed like arbitrary tidbits from the readings and lectures, and were sometimes ambiguously worded. Also, some of the projects’ instructions were not clear and the TAs sometimes did a poor job with clarifications, resulting in more anxiety and confusion about the projects than should have been there. Lastly, the professor made approximately two appearances all semester, one of those being during finals week to assign three entire papers to read and respond to for extra credit, taking the place of “weekly discussions” we were promised throughout the semester. This was poor form, and someone complained that this violated GA Tech policy of not assigning other work during finals week, so we all got extra credit without the need to participate in discussion or read the papers. Fine, but why not just do the discussions as indicated on the syllabus?

    Overall, I was happy with the course. It was a good first course for OMSCS, and I feel like the positives outweigh the negatives, so I would take it again. And, although I perhaps put in more hours than others with a more relevant background, I found the time commitment very manageable, given I have a full-time, minimal other commitments, and was taking only this class. Also, I read all of the assigned papers in full, which maybe bumped up my hours compared to other reviewers here. Just start projects as soon as possible, and you’ll be OK.


    Semester:

    I took this course having never studied networks before. I thought it was a decent introduction to networks, but it somehow assumed some prior knowledge, but was also extremely easy. All of the projects (if I remember correctly) use a Software-defined-network (SDN) in Python.


    Semester:

    I really liked the course and the accompanying projects (very easy python stuff, even though I’d never used python before). Tests were boring and unnecessary since then didn’t really teach me anything, but they were a big part of the grade.


    Semester:

    This course is an easy A if you have inexhaustible patience.

    The “professor” is AWOL. If you ask me her name in a year, I’ll have forgotten it.

    The head TA is combative and easily frustrated.

    The course lectures are shallow and poorly organized–a hodgepodge of unrelated topics. There is no book. The journal articles are dry but at least somewhat interesting.

    The programming projects are usually broken. Some have suggested that this is a Python debugging course first and a networking course second. They are correct.

    The writing projects are easy 100s. If you find yourself unable to reproduce the desired experiment results, don’t sweat it. The project code is probably broken (again).


    Semester:

    Good way to get an introduction to how OMSCS courses are run without a lot of pressure. TAs are pretty good, instructor participation is okay, topics are covered at a high level, and the coding projects are relatively easy.

    This course felt easier than it needed to be. Like they stretched the material to fill the course instead of going deeper into the topics.


    Semester:

    This was my second course after having taken Software Analysis and Test in my first semester. The course was interesting with a number of papers required to read. The assignments were doable and the tests were multiple choice which tested the content(lectures and papers) quite fairly.

    I’d recommend this as a first course given the great amount of help and active participation on Piazza(especially by the Head TA Stacia). It provides a great welcome into the program. You’ll enjoy it more if you also have little networking experience. The content is great as a introduction to the Networking world. I figure a veteran in the OMSCS or Computer Networking wouldn’t find it engaging though(unless you’re doing it for the relatively easier A :-) )

    Great class overall though. Helped me learn quite a bit on networking concepts which I had no prior knowledge of and polish up on my quite rusty Python skills.

    And I must say the TAs do a great job given how large the class can get. Great Work on that front!!


    Semester:

    I don’t want to say this was an easy course because it was my first one and I have nothing to compare, having said that I got an A. The three tests were multiple choice and T or F. The projects were not too complicated; they required some planning first. The projects are coded in Python using a provided VM with all the tools included. The extra credit included participation and a second part in the last project that was totally doable. I recommend it as a first course. The videos were not that bad, and you’ll have to read 10 to 14 papers in total to be able to do the projects and for the tests.


    Semester:

    If you want to get A with little to medium effort, this class is good. Some projects are fun and interesting (you need to know Python in advance, though) but some just require you to do some experiment and report your observation under unstable VM environment which is bit tough. There was even some bug in a given code and we had a hard time to get a result which we expected from the material. Exams are also tough (or at best, boring to prepare). It requires just tons of memorization.

    To get A, secure full score for projects (60 points). Get an extra credit (you can get 5 points by participating some discussion threads). And try to get 60%+ for exams. You even don’t need to watch video lectures or read most of papers for the grade.

    Personally I wish I could have more experience on SDN through projects (implementation).


    Semester:

    Background: This is my first course in the OMSCS program and I intentionally took this course for two reasons. First, I was interested in learning more about computer networks. Next, from reviews on OMSCentral, this seemed to be on average one of the easier courses, so it provided a good stepping stone into the program. I have an aerospace degree and have worked in the world of defense software for about 4 years now.

    Pros:

    • The head TA (Stacia Stokes) is very attentive and present on Piazza. Two thumbs up here.
    • Each project has enough time to complete.
    • The lectures, articles/readings, and projects do tie together for the most part.
    • You do learn a lot about both the historical and modern concepts of network programming. They don’t go too deep, but that’s mainly because there is a lot of ground to cover.
    • Two instances of extra credit were offered (one for weekly discussions, another for an extra portion of the last project)

    Cons:

    • The articles were difficult to read through. Interesting topics, but the important points were buried in the article (typical techincal paper…).
    • The lecture videos can be a bit jumpy in its explanations, though it still holds to the overall lecture topic.
    • I had hoped to do a little more with software-defined networks (SDN’s)
    • Projects 2 and 3 were intense (but if you get past those, you’ll be fine.)
    • Test questions could sometimes be vague, and thus difficult to answer.
    • ProctorTrack may be more of a pain than it’s worth.

    Overall I’m happy with this course. I recommend it as a first course for anyone starting the program without a network background. This course uses Python, so you’d benefit from already knowing it, but that’s not a necessity. Time spent each week really varied and depended on the project. I probably spent time more than I needed to, so take that into account for the “weekly workload” stat.


    Semester:

    For the life of me, I cannot fathom why anyone would give this course a positive review. Perhaps they don’t know what they are missing. Prior to this, I took 6220, 6290, and 8803-08 (HPC, HPCA, and Compilers) and found them all to be engaging and enjoyable. They were tough at times, but I felt it was time well spent. I learned a lot, and found the things I learned to be relevant and empowering.

    6250 was not of the same caliber by a large margin, and was very disappointing overall. If I had known then what I know now, there’s no way I would have considered taking it.

    1) The content is poorly organized. There’s little structure or hierarchy to the topics. It’s a random smattering of things. 2) The depth is shallow. The quizzes are inane. 3) The assignments are either borderline trivial, or frustrating due to tricky technicalities.

    I don’t fault the TA’s or the instructor. I believe they are doing their best with what they were given. I think they have tried to make incremental improvements as time has gone on, but there really is no saving it. All the lectures and assignments should be thrown away and the course redesigned from scratch.


    Semester:

    This was a great class. The projects are challenging enough to be interesting, but not overwhelming. There’s no busywork; all the homework is relevant. I learned a lot, and I really enjoyed the experience.


    Semester:

    Not recommended. You need to finish three boring reports in the middle of the semester(although you can definitely earn full credits). The exams are very boring.


    Semester:

    Took Computer Networks as my first course in OMSCS and was pleasantly surprised by the quality of the content and the general interaction between students and faculty (professor and TAs). As other reviewers have mentioned, the course requires Python programming knowledge; especially the second, third, and last two projects. The three tests were all administered through Proctortrack and were very manageable if you studied the lectures and the required readings. The head-TA (Stacia) was very responsive and definitely deserves recognition for how well she ran the course. The other TAs were quick to respond and grade the assignments/tests. Overall, CS6250 is a very good introductory course to advanced Computer Networks and to how OMSCS works. I’d highly recommend this course to anyone interested in the subject.


    Semester:

    This class was interesting and useful. It was very hands-on with 8 projects making up a majority of the grade in the class. Some of the projects were hard until I had a “gotcha” moment. I would also recommend brushing up on some of the networking fundamentals, but that’s not strictly necessary.


    Semester:

    2nd project was pretty difficult, and didn’t feel rewarding. Material was not too hard to grok, and I had literally no networking experience whatsoever. That said, not sure if I would recommend the course.


    Semester:

    This was a tough first class. Wound up with a B, but worked my butt off for it. If you aren’t coming in with a CS background, you are forced to dive in quickly. The class felt very disorganized and the teacher only showed up twice during the semester, so you’re taught exclusively by TA’s.

    The content was super interesting, but not recommended as the first class to take in the program.


    Semester:

    This is a good course for new students so you can get familiar with OMSCS structure, Proctortrack Exam, T-Square, and Piazza. The material of this course is very boring and most of the stuff are theories or concepts. The research papers are also very dry. There are 8 projects and 3 exams. You do all the projects and you are guaranteed A with minimum effort putting in studying for exams. Python programming is very limited. Most are the projects are less than 20 lines of codes, or just changing some variables/configuration in the given codes. TA in this course is nothing but great. Projects are returned in timely manners. Head TA is very active on Piazza and there is weekly office hour in helping students on projects.
    Project 2 and 3 can be tricky, but after that, the course has a very light workload. Piazza is a mess with some students abusing it with silly basic questions. People basically don’t read and ask all kinds of questions that are clearly explained in the project requirement.


    Semester:

    Overall, a solid course. I liked a lot of the projects earlier in the course, although they were a little bit more difficult. Expect to spend a lot of time on the earlier projects, and get bored with the middle of the course projects, and then pick back up again a bit for the end of the semester.

    Except for the beginning of the course, the projects weren’t too difficult or too time consuming, though there are quite a few projects. There were quite a few problems with the Course VM.

    TA’s were good, but Piazza was a mess. Tons of duplicate posts and people asking ELI5 questions, even though this is a grad course. Sometimes the TAs could be dismissive of issues telling you that it was all in the instructions somewhere, so make sure to read CAREFULLY!

    Tests weren’t too hard, multiple choice or select all that apply, and based mostly on the concepts. Make sure to do to the readings though, as they are also covered in the tests.


    Semester:

    Took this class as a first semester class alongside IOS. I was not sure what to expect, but I ended up loving this course. The professor (Konte) was around for a couple of Piazza posts, answered a few questions about the exams, did two very awkward office hours, and that was about it. The head TA, Stacia, ran this course like a tight ship and really made it worthwhile. The other TAs were helpful and responsive as well. Communication was frequent and regular. I found the content itself interesting, having familiarity only with the basics of TCP and a high-level understanding of internet architecture. I think I would have been fine without any prior knowledge of computer networks. The first few projects are designed like coding challenges in Python. They were challenging and I really enjoyed them, but they seemed to be a headache for people not familiar with Python or OO programming who took to Piazza to vent regularly. The later projects were less time intensive and more about performing a set of trivial tasks and then analyzing the results against what was presented in the class. Some people got lost in the trees on these, more Piazza venting. I think I was lucky this semester in that there were a few very helpful and responsive students in the class who offered guidance on a lot of the class topics by their ability to summarize and explain the material on Piazza.


    Semester:

    Personal Background: One of two classes taken in my first semester. First programming since completing my undergraduate computer engineering degree in December 2014. Worked in power distribution since then. Never programmed in Python before.

    Course Experience: I rated this course a “Loved!” as an incredibly helpful introduction to computer networks. You will use the basics of python for the assignments that are not exceedingly difficult. I simply had to transfer basic coding techniques from C and Java into Python syntax. This class introduces a broad and limited understanding of computer networks topics. This is not a course that will teach you about writing code for significant network applications with SDNs or otherwise. The instructor was largely absent which made for some easy extra credit discussions. The TAs were very helpful and effective and made the course successful. Only one assignment out of eight had a significant issue that didn’t effect grades for anyone. Exams were simple memorization of concepts from the lectures and papers. I earned an A in this course even without the extra credit so I’m confident the vast majority of students would be able to given enough time to figure out the harder projects. Great first course or easier course to pair with a harder one.


    Semester:

    After 20 years working in non-cs field, this was a great course for my first semester. It allowed me to learn the basics of python, to get familiar with Linux and to ease into the rhythm of studying every day without it being too stressful. The Head TA did a fantastic job keeping Piazza organized with weekly posts and office hours. All assignment and test grades were returned within 2 weeks. The Instructor did some office hours around the first test but sort of checked out after that. The 2nd and 3rd assignments were the most challenging of the 8. I have a much better understanding of various network protocols and their limitations. I definitely learned a lot in this course.


    Semester:

    It was really a great course. I learned TCP concepts to the depth . Very practical oriented class. TAs were good. Lectures were good. Course content was really good. Lots of reading on research papers. I had to memorize a lot for the term end exams. Best part of this course was SDN. I loved it. Few projects in the beginning were real tough ones. I almost did not sleep for a week. As I made progress and attended office hours, I could complete them. I got deeper knowledge on TCP/IP and , data center operations, network topologies, subnet masking, Router configuration, security aspects etc. Overall, I liked the course.


    Semester:

    This course is great if you are new to networking. Best part of the course is the interesting content, particularly the reading, which provides some good details in understanding networking. I also really appreciate the head TA, Stacia, who is very dedicated to keep the course running smoothly. Projects and exams are fairly easy as long as you invest time in going through lectures and papers. Grading is very generous. Overall, projects are interesting, but should be improved in depth.


    Semester:

    I liked the lectures and I like the content of the projects. I’m concerned how the class would be without the head TA that was present for this semester, I feel like there was no contact or communication with the professor. This is my first OMSCS course I’ve taken so maybe that is the nature of it.


    Semester:

    Standard lectures, content itself isn’t terribly hard to follow. Projects each had their pain-points. About 3 of the projects were bigger and took 10 or so hours while the rest were smaller projects that each took maybe 5. The head TA was essentially the only point of contact for this class, and with that considered she did a great job… but… the projects NEED improvement. Simple things wasted hours of time for everyone in the class and understandably I think they started to get short towards the end of the course which didn’t help. All in all, like most classes, the learning happens in the projects (for better or for worse).


    Semester:

    This was my first OMCS course and my day-job is in Network Engineering. So I consider myself better prepared than most for the course topics.

    First of all, like reviews from the summer semester, the course professor barely interacted at all. I recall an office hours for the first test and there was one set of discussion questions. The class was essentially ran by the Head TA, who did a fine job, but it was disappointing to miss that expert-level interaction. And for a course with 400+ students, that’s quite an ask for the Head TA.

    It will definitely help if you have some background in computer networking, especially in Part 1 of the course. Some fairly complicated networking topics are not explained with an appropriate level of detail. If you don’t have the background on standard routing and switching technologies you’ll likely need to do supplemental research to handle the first two projects.

    The tests cover a lot of material and the questions are fairly subjective overall. It can be tough to know what the “best” answer is. Still, they aren’t unfair and if you complete the test preparation questions you should be fine.

    Some reviews have characterized this course as “Network Programming in Python”. This is hardly accurate. The course clearly lists at least an introductory level in Python is required. The first two projects are probably the hardest of the semester, but both can be completed with around 50 lines of code. The real challenge is in understanding the algorithm. The code itself requires nothing more than the ability to use variables, follow control logic, and pass messages, all capabilities learned in any introductory computer science course. The undergraduate networking course required implementations in C, and those projects were much more time-consuming then anything found here.

    Overall, I recommend the course to anyone interested in Computer Networks as an operational discipline. If you just want to know how to write networking code as an applications developer, this course isn’t for you.


    Semester:

    I learned a lot in this class despite it being fairly easy. There were 8 projects and 3 tests total. I’ll expand on this review later…


    Semester:

    During the semester I took the course, NW’s was quite easy from an assignment perspective. The course has been revamped since. Despite this, the lectures were well organized and went well above and beyond my undergraduate course content on the same subject.


    Semester:

    This is a great course if you’re interested in lots of details on how computer networks operate. My favorite parts were learning about the original design principles of the internet (since it was a department of defense project), and how TCP flows and congestion control work. I used to do a lot more backend work, and this class has given me some better background info on some of the projects I was working on.

    The projects are a split between programming interview / competition style Python algorithms, and lab reports based on experiments conducted using a simulated network. The 2nd and 3rd projects are hard especially if you haven’t had much programming experience. The lab report assignments can be very time consuming, since there’s a lot of graphs to embed into google docs documents and explanations to give. The tests are moderatly difficult to hard, so make sure you study. The later readings really pile up, and can be fairly dense and dry. The lectures are great overall, but can be a little unclear in explanations. The professor has also been mostly absent during the course, and has only given us one or two office hour videos. Luckily, the best parts of the course have been the amazing student resources. The Brainscape flash cards, the test prep notes, and the great questions have really made the class a lot better. Our TA (Stacy Stokes) has done a really great job in posting weekly office hours answering questions to help explain projects. Piazza can be hit or miss, since there’s a TON of threads, and it’s hard to find important imformation even when threads are pinned.

    Summary: Recommended. If you’re a solid programmer, this is a good first course to take.


    Semester:

    This is one of the first courses I took in OMS. Overall the course has been awesome. The course is very well structured and the projects have clear, well-written requirements. I would definitely recommend it to new students. MAJOR kudos to Head TA Stacia Stokes this semester for always going above and beyond and staying on top of everything!


    Semester:

    Zero involvement whatsoever from the professor all semester. So far as I can tell, she has only held office hours one or two times and posted in Piazza a similar number of times. The quality of the assignments has huge variance; I found some of the assignments interesting and did feel like they taught me something about networking (an area in which I have no previous experience). Others, though, have a number of issues ranging from poor descriptions, poorly written and formatted provided code, and just being a huge waste of time. Grading for the homework is sometimes nonsensical as well. Some of the lectures are good, others are insufficient to explain the material with the level of detail appropriate for a course at this level. Exams are difficult and not conducive to real learning. I’m on track to get an A, but feel like I’ve learned much less than I feel like I should have.

    The course was able to succeed at all only because of huge commitment and involvement from the head TA (Stacia Stokes), who is excellent. Not recommended for those who are considering this only as an elective.


    Semester:

    A new instructor has taken on this course and it should now be known as “Python programming with Computer Networking concepts”. The second project required some students to spend 40-80 hours (over a two week period) even with knowledge of Python. The recorded lectures are very dry and not comprehensive. The TAs were a bit behind the times at first but have improved as the semester progressed. Took as my first course and would not recommend as such.


    Semester:

    I believe that the class name should be changed to ‘Network programming in Python’. I enrolled in the class assuming it is about computer networks instead it turned out to be a lot of programming in Python implementing switching and routing algorithms. I have nothing against the course but the name of the course doesn’t convey the content of the course and it teaches very little about theoretical aspects of computer networks, which I was interested to learn. I am not a network programmer or python programmer so class did not do any good to me. TA’s try their best to help students but people were overwhelmed that there was a lot of panic during projects. I would advise anyone to take a basic python class before taking up this class and don’t be fooled it is not an easy course it will take hours and hours of your time if you are not used to implementing algorithms. Be prepared to be frustrated while testing your code you will not get it right easily.


    Semester:

    It is definitely going to take you much more hours that written here. I took this as my first course and regretted the decision. The assignments are hard (the first assignment was an exception, rest were very hard). I had taken because of the ratings here and now I know not to trust just the ratings here. For anyone who is planning on taking this, please strengthen your basics on Computer Networks, and for sure make sure that you are very comfortable with algorithms and coding, because that is what you are going to need the most. The lecture videos are poorly structured and defined. For most of the topics, you will have to spend quite some time doing research on your own, which is still manageable. Overall, beware of the assignments; you are going to need to spend way more time on those.


    Semester:

    This is Fall 2017. First project was hard but doable, second project was deadly hard. RPs are dry and boring. This is a python class more than a networking class (so far at least). Definitely not a newbie friendly class anymore…


    Semester:

    Definitely a bit harder than the score here would make you believe. The first few projects were challenging but very worth it. If you aren’t very good in Python, you may struggle. The tests were also a bit tricky, so study up a lot. I would say the worst part of the course (by far) were the academic papers. They were dry, dense, and just flat out boring.


    Semester:

    The tests are a bit harder than I expected, but it’s more than compensated for by extra credit opportunities. Fun to learn about how networks and the internet work!


    Semester:

    With a background in Telecom and networking, I think this course is not too far behind with whats going on in the industry. There are certain aspects missing like may be a touch up of cloud, and it sometimes clings on too much on very old stuff, which no one uses in industry like TCP basics etc.

    There are 2 things I disliked. The tests and TA interaction. The tests are usually MCQs and are taken straight from the text of some papers. In real world, no one remembers the whole texts of paper, which the tests sometime are trying to judge.

    My experience with TA and professor interaction wasn’t great. I am not sure about other students, but I didn’t get too much response from them.


    Semester:

    A good survey course on networks. Is conducted really well. The research papers which are a part of the course are the best part of the course.

    With 8 projects, 17 papers and 3 exams this course can be a little hectic at times


    Semester:

    Overall, good and pretty easy class. Lectures are informative, interesting, and well constructed. Weekly readings are not too long, fairly interesting. First few projects are excellent, they match up well with the lectures and readings, and they drive home concepts. Projects toward the end are more about understanding configuration options than understanding core networking concepts.


    Semester:

    The class was fun and built upon basic networking concepts. Towards the latter half of the semester, the world load was very light depending on how you managed your time. If you got the projects done during the first week, the second week was mostly just lectures/reading.

    There is a ton of reading in this class. It can get a bit dry and daunting, especially since each week there are a handful of papers to read, each being ~13-15 pages in length. On top of that, some projects have a surprise paper that must be read to complete it. On top of this, even though some papers are split into the second week of the project, they are helpful to read if completing the project during the first week. This also applies to the video lectures.

    For the summer semester, there were 5 projects and 2 tests. Project 1-3 were pretty simple, Project 2 taking the most time. Projects 4-5 were a bit more open ended and validating your work could sometimes be difficult.

    Because it was the summer, they squished the latter half of the content into a single exam worth 30% of your grade. In my opinion, this was too heavily weighted, with each incorrect answer reducing your final grade by over 1% (as there were only 26 questions on this exam. )

    The TAs were responsive and helpful, but the instructor was completely absent. She appeared once to ask “why we were interested in the course. “ She was supposed to post weekly discussion threads to provoke thoughtful discussion, but this never happened. These discussion threads were to apply to a 5% extra credit score, which ended up being applied to everyone’s grade since no threads were ever posted.

    Overall, I liked the class and I learned a lot, but it has flaws which I hope are resolved in the coming semesters.


    Semester:

    The projects were very interesting and overall not to difficult to complete. All of the projects are in Python. The Lectures weren’t bad and also didn’t take very long to complete. There’s quite a number of papers to read every week though and that can suck up a good chunk of time. There were two tests for the summer semester and they weren’t awful as long as you were very thorough in your studying. For Summer we had 5 Projects though there was talk about examining the amount of projects to offer in Fall/Spring semesters so be ready for some minor restructuring. I don’t think the instructor posted once all semester.


    Semester:

    Context:

    • 4th course of the program.
    • Software engineer with many years of experience.
    • Limited networking experience (socket programming, HTTP, some tools like ping, dig).
    • Comfortable with Python.

    Pros:

    • Broad range of topics: Design of the Internet, Router Internals, Congestion Protocols, Traffic shaping, SDN and more.
    • I learned a lot, and feel better equipped to go on my own and read further materials.
    • The projects were fun and interesting, a mix of programming, understanding the papers, analyzing results, etc.
    • Some of the TA’s were supportive, available and responsive.
    • Most of the papers were interesting and expanded the material of the lectures.
    • Projects and environment were well prepared and presented.
    • Grades were returned in reasonable time.

    Cons:

    • Some of the TA’s were not available.
    • Professor was not available.
    • Multiple choice questions in the tests were a little bit tricky.
    • Second test covered lots of material and heavy on the grade 30%.

    Overall:

    • Good course, reasonable amount of work, fun projects, lots of material
    • Be ready to read a lot of papers, the tests cover them.
    • Some projects have subtle aspects, don’t underestimate them, start early.


    Semester:

    I took this as my second course for the foundational requirements. You need to spend time on the projects as they are not straightforward. Read all the papers they ask you to read this is needed for the projects and exam!


    Semester:

    I give it neutral for several reasons.

    1. The course material itself is interesting - If you don’t know in detail how internet works and nothing about traffic engineering, security issues, what is a cluster etc this is a good course to learn. It assumes you know undergrad networking knowledge (which i do not have) so there is a bit of learning curve

    2. Second project is difficult - You need to know algorithm for this. I did not know and got 60/130

    3. Lectures - My goodness this is the most difficult part. Content isn’t bad but delivery needs improving

    4. TAs- My class TAs were amazing. held the courses together and responded fast and with respect. Kudos to Kelly Parks (head TA) and other TAs with her.

    5. Professor - Promised discussions for extra credit but didn’t deliver. Gave 5% boost to everyone at the end but you could have just said you were going to do that from the beginning. Not sure why you had to make everyone anxious until the last week of the class

    6. Exams - Only multiple choice. Not sure why it was formatted like this. It was helpful to get your grades fast but I would have appreciated bit more free form answer discussion. I guess the classes were too big? not sure

    Overall not a bad course if you want to learn about networking. I do wonder what the opportunity cost is though. You should think about whether you REALLY want to learn networking or not. If you think this is a blow off class like it used to be, it’s not. Prepare to put in 10-15 hours of work


    Semester:

    I really did not like this course. The lectures are poorly organized and the lecturer buries the lead a lot. The TAs were poorly organized and communication was extremely limited - there were so many unanswered, critical questions on Piazza.

    The professor for the summer didn’t even show up once. We were waiting for announcements that never came. The TA’s favorite saying was, “I’m still waiting to hear back from the professor”.

    The test grading was absolutely ridiculous - the final was 30% of your grade and it was filled with multiple choice questions where the possible credit per question was 0, 0, 20, 60, or 100%. (5 multiple choice options, and any incorrect selections subtracted from your credit. This was true whether it was supposed to un/checked although the claimed purpose was to “prevent people from clicking every option” so not checking a box that was supposed to be checked still gets you marked off, which was stupid). So if you got 4/5 choices correct, you got 60% credit. 3/5 got you 20% credit. So stupid.

    There are a TON of papers to read that have no relationship to the course except that the exams ask questions specific questions about them.

    I feel like too many people before said, “This class is easy!” so the professors/TAs decided to make things stupidly hard. I got an A on the final because I studied my ass off. I don’t understand the need for rote memorization on things that don’t matter, especially not for a meaningless exam that is 30%! of your grade, ESPECIALLY when there were questions that had absolutely nothing to the work we did in the course.

    I was very excited to take this course as it relates to personal interests, but this class was a huge disappointment. I had read reviews about the class being unorganized and I thought, “Oh, they’ve got it figured out by now. “ No. They don’t. Don’t take this class.


    Semester:

    Memorize and follow the rails.

    Read a bunch of papers (granted, they’re mostly interesting) and watch a few shallow lecture videos. Do a few “projects”, some of which require programming watered-down versions of standard algorithms, and some of which are just step-by-step tutorials on how to configure some network service (and write a report – “What did you see when you typed run. sh?”). The ONE open-ended part of the class was to be weekly discussions on Piazza with the prof. These never happened. More on that below.

    It was very poorly run. The prof (MK) never showed up after the first week. Not once. This might be OK in another class, but it meant that we didn’t get any of the open-ended, research-oriented interaction promised in the syllabus. It also meant that the TAs floundered. They kept saying, “I emailed the prof and I’ll let you know what I hear. “ On the rare occasion the TAs were able to reach the prof, she made more false promises about when she’d show up. Prof hung the TAs out to dry, along with the entire class. The TAs made effort for the first half of the course, but by the end, most Piazza questions about the material went unanswered – even the ones asking for guidance on errors in the test prep materials.

    The exams were multiple choice and T/F with lots of ambiguity. In higher education, there’s often some ambiguity, and you write about it and address it. In a multiple-choice exam, however, there is no opportunity to address the ambiguity! The tests are written using language that can be interpreted in multiple ways, and I never knew whether I was overthinking a sloppily-written question or if it was a trick question. Both types (sloppy and trick) are on the exam. I managed to do pretty well, but that was by careful deconstruction of the test author’s psyche. Or guessing.

    Read the papers, watch the videos, and follow the tutorial projects like a monkey. You do need some skill turning basic algos into code, and luck on the exams.


    Semester:

    This course was requires a lot of work, there is almost a weekly assignment with lectures and reading. The two exams are tricker. What salvages this course is it offered some additional credit in Spring 2017


    Semester:

    This was a challenging but very enlightening course. The practical projects are decent (5 of them) but the three paper projects are a total waste of time. The exams are a bit more challenging than necessary – they could benefit from being substantially longer so that individual questions aren’t worth so much.

    I’m quite experienced in Networking and this course was pretty easy for me. It explores some neat concepts on the cutting edge of Networking research though, so if you don’t have a strong foundation in the fundamentals coming in you’ll have to spend a lot of time catching up. It’s just about right in terms of difficulty for a Masters’ level class, I think.


    Semester:

    This was my first OMSCS course. My background is in Civil/Environmental Engineering, so I did not have any previous knowledge in computer networks. I did not take any classes in preparation for the course. However, I did have some very light Python experience. The programming portions of the course were fairly basic, even for a novice programmer such as myself. Brushing up on python syntax and data structures should be enough to complete the projects.

    Be prepared to spend a lot of time on Piazza asking questions and reading your classmates posts, as the instructions given in the lectures and projects may at times be vague or difficult to understand. The instructors generally do a very good job at responding to questions.

    The tests vary in difficulty. I found the first test to be the easiest with the following test increasing in difficulty. The tests are provided in ProctorTrack and you are given a two hour window to complete them. However, all of them can easily be completed in under an hour.

    Between the lectures, papers, and projects a lot of information is thrown at you. Some stuck and a lot did not, but I still learned a good deal. Overall, I would highly suggest this course if you are a new student. It is highly structured and requires little base knowledge, allowing you to ease into the OMSCS program. Just be prepared to do the work and allocate some time to study before the tests.


    Semester:

    Class is around average difficulty with some booby traps (2 that semester) along the way that ramp up difficulty for brief periods in the semester, which can take you by surprise and kill your grade if you are not prepared (e. g. starting a project late because you think it might be easy like some of the others and not thoroughly looking at corner cases of your solutions that are not easy or obvious to see even with some effort in doing so). Class was well run and the grade distribution for projects and test was done fairly. Only thing I did not like was the extra credit for discussion threads where many people added fluff that didn’t contribute to learning just to gain extra credit and half the time others feeling like we didn’t have much to contribute to the value with all the ‘noise’ in those discussion threads. Otherwise I would highly recommend this class. I learn’t a lot and it was a good introduction to the program!


    Semester:

    WARN: They adjust content of the course. as of Spring 2017, it have 8 projects and 3 tests. 2 or 3 of them are easy. others all take some effort. This is not a hard course, but not as easy as indicated on the review. I know some students enroll this class think it is easy, but get a C instead.


    Semester:

    This was my first and only OMSCS course for Spring 2017. To put my review in perspective, I’m from EE background with little to no knowledge about computer networks prior to taking this class. I took an introduction to Python course on coursera as preparation.

    The course was very well structured and the TAs (Michael Brown was just amazing) ran the show in an organized and timely manner. Professor rarely dropped by but her absence was never felt thanks to the TAs. Participation from peers on Piazza was the best part of the course. I was never stuck during the course as students quickly shared and proposed fixes for the issues they encountered.

    The lecture videos were superficial and only provided an introduction to the topics. I found the reading material (papers and articles) to be quite helpful in my learning. Most of the projects were interesting. First three and last two projects required some programming in Python and I didn’t find the coding hard. The remaining three projects were spoon fed through instructions and their main goal was to analyze the results and write reports. Tests included short answer and multiple choice questions and I found the difficulty level to increase from test 1 to test 3. A thorough understanding of lectures and reading material was sufficient and needed to score full on the tests.

    I highly disliked the weekly discussion threads where extra credit was offered for participation. Most of the students including myself posted just for the sake of it and didn’t contribute to learning.


    Semester:

    The class itself was pretty useful especially for someone like me with almost zero network experience/knowledge. I felt like the papers gave a lot of extra coverage on the topics and provided much more depth than the lectures themselves. The projects have been updated from previous semesters from what I’ve seen and this is for the better.

    Grading-wise, there were 8 projects and 3 tests. The tests were made up of MCQ, true/false and some short answer (except the last test). Nothing seems to be set in stone so keep this in mind when preparing for the tests. Attending the office hours were very useful. The head TA at the time, Michael, really saved this class! The professor for the semester was really hands off. It appears she was mostly busy with other things and so we didn’t get to see her much (she didn’t hold weekly office hours).

    Note that the papers will take time to read and comprehend so if you’re taking this class, try and get ahead of the readings. There’s an optional textbook which I found really helpful in supplementing my overall understanding.


    Semester:

    I took this class my first semester in the program, alongside operating systems. I didn’t technically meet the prerequisites, never having had a networking class in my undergrad curriculum, but I wanted to use my first semester to maybe try to get some of the more fundamental topics squared away.

    I learned a fair bit about how the internet worked, and the introduction to software defined networking was fun to play around in. But I could feel that the class was kind of in an awkward state right now, perhaps transitioning somewhat from a heaver focus on SDN when the course was first designed. Lectures referred to projects that were no longer part of the course, for example, and I’d say only the last two of the eight projects really involved playing around with SDN.

    The remainder of the projects concerned fundamentals (e. g. graph search over a topology) or were follow-along demonstrations of topics we read about in journal articles. These latter projects really required no coding – you’d just follow the instructions provided and write up the results.

    Some of the projects were newly designed and had bugs, but those were worked out and time extensions were given where necessary. If they keep the same project structure I don’t expect that to be a problem in later semesters.

    A couple other reviews say the tests were hard. I didn’t think so, really? I got As on the first two but a C on the final, so maybe they were adjusting the difficulty as they went along. Then again I didn’t really study very hard for the final since I was focused on my other course…

    My “5 hours” is a guess; I didn’t keep track. Some weeks I barely did anything, but where there was a test or a particularly challenging project that might creep closer to 10 or 15. Rarely, though.


    Semester:

    The lectures and projects were great. The readings were a mixed bag, some very interesting and some incredibly dry and/or densely academic. I learned a lot, and enjoyed the class overall.

    The tests were pretty rough though. I got a high A on every project, but struggled to make two C’s and a B on the tests even when studying a lot. The tests felt a little bit luck-based – did you happen to remember one sentence from one of the dozen research papers you read? If yes, it was easy. If not, then impossible to guess. I don’t think the tests did a good job judging whether you’d learned the big picture or even the majority of individual topics discussed, rather they seemed mostly a sample of minutiae from the papers which you may or may not remember.

    One big warning, I think they’ve revamped this course in the last semester or two, because it was fairly challenging (especially the tests) and took a decent amount of time each week. There’s some kind of project or test almost every single week, so you really don’t get much of a break.

    Past reviews indicated this class was easy. I don’t think that’s true anymore. I’d say this class is relatively tractable in the sense that if you can put in the time to memorize all the papers you read, and put in enough time on the individual projects, you have a very good chance of earning an A. Just be warned that if you DON’T have enough time, you can easily bomb.


    Semester:

    This is my only class that I have not gotten an A in and it was mostly because I couldn’t figure out how they were testing. I got 68%, 61% and 74% and that drug me down to 88% for the class. But, this was more because of my limited knowledge going into the course about networking. I did learn a TON and would recommend this course.


    Semester:

    This course was one of my first OMSCS courses, so wasn’t sure what to expect, but the course exceeded expectations. This course definitely covered a lot of areas of networks, at times almost too many topics. I also felt the Udacity lectures covered so much so fast. I often had to repeat each “lesson” 2-3 times to really capture and/or understand some of the concepts.

    The tests (only 3 of them) were a little more difficult than I thought, but were fair and covered the material well. A lot of the test covered the outside readings and/or projects… definitely testing your understanding of the subject matter instead of just the facts of it.

    There were a lot of projects (8+) in this course, and usually before you finished one, the next one was already out and time ticking on it. One or two of the projects were problematic (computer/VM wise) and were stressful to accomplish. I didn’t mind putting in time to learn the material, but fighting with the tools was not productive time spent. I had a few commitments at work during this time which made it even more stressful. However, each of the projects were insightful and worthwhile, though a couple that evaluated certain protocol performance were not as exciting, but learned a great deal anyway.

    The TAs (and Maria) were pretty responsive on Piazza, and held weekly office hours.

    For me (after 25yrs) since BS degree, it was interesting to see how networking has changed and what was good then is being re-evaluated. Many of the concepts I’ve already put in motion on my company’s projects and seeing some good results. Definitely a good class worth taking.


    Semester:

    Expect to spend about 6-10 hours a week reading the papers and watching the lectures. More time will be required if you are rusty on your networking skills, as you’ll need to read the textbook to catch up on basic concepts. On top of that there is a project every other week, which usually doesn’t require much programming, and took me 3-5 hours on average. There are also 3 closed book tests which take a few hours to study for - easier if you have taken good notes.

    This is a very good course to take. It should be called “Advanced Computer Networking”, because like AOS, it covers modern research topics in computer networking. It is generally assumed you have a working knowledge of computer networks, and there will be little hand holding here. I learned a lot, even having professional experience. I highly recommend this course as a very practical course to take that will benefit any software engineer in their career.

    The professor, M. Konte, is a internet security researcher, and the weekly office hours are a chance to pick her brain on stuff. She wasn’t involved as much as I’d have liked on Piazza, though. The TAs though were very responsive on Piazza and slack - expect very quick turnarounds (< 12h) on questions asked. Tests and projects were generally graded within a couple weeks. So it’s a very well run course overall.

    The only negative is that a few of the projects had issues. This wasted me a lot of time on one project in particular, which was pretty annoying. I also would have liked to do more of the coding on the projects. Except for a couple exceptions, I feel like they hand-held a bit too much (mostly already implemented, you just run them and analyze the results).


    Semester:

    A perfect course to start the program. All the assignments are due during the weekend which is a big plus. Once you have basic knowledge of networks, the class becomes more interesting. Otherwise some effort needs to be put to get the basics right. You will learn more from the piazza discussions and the assignments. The papers are worth reading and some are a bit boring too. To crack the exams, the video lectures and the reading papers are clearly understood as sometimes the MCQs can confuse you. A fun class where you will learn and enjoy networks.


    Semester:

    This was my first OMSCS class, so I went in not knowing what to expect. For the most part, all of the other reviews for this class seem to be correct. The workload was not bad, there were projects, reading scholarly papers and tests. The TAs seemed very helpful and of course, the other students in the class helped each other learn.

    I don’t have any negative comments from this class, but for those interested in this class the following should be considered: Don’t get behind reading the scholarly articles. The exams cover these and can significantly impact your grade. Second, make flashcards. The tests cover some detailed stuff, so good study practices are necessary. Finally, try to give yourself a weeks worth of margin on assignments. Challenge yourself to get assignments turned in a week early.

    Overall, I enjoyed this class and would take it again.


    Semester:

    I really enjoyed the course. It’s well structured and the assignments are evenly partitioned, which helps time management. The subject is interesting and we covered a lot of computer networks material, from low-level routing and switching up to detecting rogue AS’s. People who didn’t know Python had a tougher time, so knowing it really helps. There were a number of papers to read (I liked them, some didn’t). The instructor, Maria Konte, was new and stayed in the background until near the end, but TA team was great and the head TA Michael was a superstar so the class moved along like clockwork, with assignments coming back regularly and useful feedback. Some projects were a bit raw out of the gate - fortunately, the students on Piazza were very helpful in finding and fixing issues to keep things moving. Don’t be fooled by the early reviews - it’s not an easy class, it has morphed to be about medium difficulty and time - but it is predictable and well-tuned.


    Semester:

    Its not an easy class, even with programming background, you have to spend time doing projects and reading lots of papers. This is the only class I have B on after taking 6 classes. Professor did not do much except for checking in on Piazza once a while, did not bother to reply email, run by the head TA and he seems pretty stingy with regrades even when there were mistakes on the grading, always came up with something to deny the cause, and once even said something so wrong, I could only laugh. On top of that I was accused of using pen and paper while taking the exam, and penalized, which I did not, and cant be seen on video either, while people using headphones were let by, quite unfair, never happened before on any tests. So I guess depends on whom are you taking the class with. For one of the projects, the other TA leading was on top of it.


    Semester:

    Good course. Learned a lot. Projects were split between writing code, and reading papers and running through experiments. The biggest headache for these was getting mini net to work properly and consistently. Tests weren’t easy, but were fair. If you spend the week or so before hand studying and read all the papers you should do fine. TAs were really good, and the office hours were actually worth attending.

    I took this course alongside another class, so I may be off the mark, but this class was much more time consuming than it appears to be rated. Maybe they changed the content, or maybe I spent more time than normal, but I would have a hard time believing that 6 hours a week was enough for this course, since the lectures alone were at least an hour or two, and the papers were multiple pages, and released every week.

    You need to know Python, but with the time frames you are given for projects (2 weeks), its a lot easier to learn in a course like this over say a course like Computational Photography


    Semester:

    The security aspect of this course is very interesting. Knowledge of python is a must. There were papers to read each week, which were very in depth about the material covered while the lectures would barely scratch the surface. Overall, this is a great course.


    Semester:

    Great course. Having had no context on networks prior to this class, I feel like I now have sufficient knowledge of the basics and enough context to learn networking concepts on my own if I have to.

    It was my first semester, and I took this class along with another course (IOS) in anticipation that CN would be pretty light, given the reviews. It was more substantial than I expected and I would put it at a “medium” in terms of difficulty, now that I’ve finished.

    Overall, the assignments were great for understanding the concepts we covered in class, although I felt that some were not substantial or applicable enough. For example, there was one assignment, which was one of the more difficult assignments, that more so had to do with data structures rather than networking concepts themselves.

    Exams were thorough and I felt that they sufficiently tested my knowledge, and the instructor and TA’s were very responsive. Not sure if this will be the same for subsequent semesters, but I also appreciated the quick grading! Lastly, a working knowledge of Python will be useful for completing assignments.


    Semester:

    The course is one of the very well organised ones here in OMSCS. The course did change in its organisation this semester significantly but the contents did not change at all. The course is made a bit more tougher than what it was previously. So instead of some easy projects and easier questions in exams the course now has a few tough projects though only 2 can be called as tough. And the questions in Test1 and Test2 are arguably tougher, but Test3 still had easier questions to answer. It is still not a hard course if you want to get a B but is definitely a hard course to get a A


    Semester:

    I thoroughly enjoyed this class. You don’t really need a background in Networking to jump into it. You will need to be familiar with Python and understand algorithms to an extent. For the Python skills you can take Udacity’s Intro to Algorithms course which I had gone through only about a third of its material but it was enough for me to be able to successfully complete the projects that required a better Python understanding. There were 8 projects in total. The instructor was considerate that in some cases a student may have trouble reaching a solution, so for everyone assignment credit is explicitly given for turning something in that shows you had at least put forth some effort.

    The exams were pretty challenging but the grading was fair. They were a mix of multiple choice and short answer. Multiple Answer Multiple Choice questions seem to be a theme throughout many of Georgia Tech’s courses. Thankfully in this course they weren’t all or nothing. Just be sure to only mark the ones you know or are pretty confident in and you’ll likely reduce the damage. For test prep I would suggest focusing on understanding the topics covered in the study guides provided by the instructor. Then you can go over the test prep questions and solutions that were also provided. The professor was good about including the topics you should look over to be successful on the exams.


    Semester:

    Second class of my OMSCS career, and it was a wonderful class. TAs and Professor were very responsive. Material is great and so were the projects. No background knowledge of networking is needed. Make sure to give yourself enough time to watch the lectures and read the articles. You might need to re-watch or re-read in order to really get an understanding. I would take a tutorial on python just to freshen up on the language. Overall a great class would recommend taking.


    Semester:

    It is a wonderful course. It gave a very good overall perspective about the networking.


    Semester:

    Continuing with the theme, this class was not easy. The papers are absolutely ridiculous and I ended up skipping most of them.

    Pros: Learned some interesting things about networking. Projects are python based The course VM was pretty nice to develop in

    Cons: Practice tests contain only a portion of the content contained in tests Papers are terrible Tests contained content only BRIEFLY touched on in lecture videos I was deducted a significant amount of points on projects where I copied code from my VM and pasted in my local OS (macOS) which did not encode properly and made auto-grader fail. Just make sure you cross your t’s and dot your i’s when submitting.

    The multi-select questions on the tests were extremely tough as many of the possible answers seemed applicable. The projects were easy for the most part but Project 2 was pretty difficult. Some of the TAs were helpful while some were not. I feel like I definitely learned


    Semester:

    Overall an enjoyable course. Comparing to the reviews from previous semesters, it seems evident that there’s been an effort made to make the course more rigorous and difficult. The projects have been beefed up, there are three tests, and something like 10 to 15 dense papers you have to read. I really enjoyed most of the projects, while I found the papers to be excessive. The current head TA, Michael, essentially runs the course and he’s on top of it. With just a few exceptions the timeliness of grading and responses on Piazza was top notch.


    Semester:

    This is an easy course even though the projects have been updated. The projects uses python and implements some typical algorithms in computer networking. Some projects are more survey-like, basically running some commands and writing reports. You need to study the lectures and read papers as well. If you have programming experience, you should be fine to complete the projects. I find it interesting that some people claim they have no experience in python and find coding projects very hard. They probably have no programming experience as well but it does not change the fact that many projects are really not about the programming itself, all programming language uses in the course projects are basic. It is more about the course contexts rather than some language gimmicks. What I really like as well as other courses is that by studying the tests, I am forced to learn the concepts in depth, not just recognize the terms. You have to write essay answers in tests. Overall, it is a good course that covers most concepts of computer networking, especially in TCP/IP, network security.


    Semester:

    Overall, this was a good class. I learned many basics about Computer networking and most of the papers were interesting. The projects were good and the TAs were very helpful through out the course.


    Semester:

    People should know this is NOT the easy class that past reviews says it is! The course apparently has gone through a lot of changes. There are 8 projects and often times take a lot of time to complete, and the tests can get tricky if you don’t completely know and understand the material. The material in general is not tricky, but there is a lot to remember and the papers can be dense and hard to read.

    Overall I learned a lot from the class, I’d say it’s medium/hard difficulty, but don’t think this is an easy class that you can pair with a more difficult class. You will definitely be spending hours on each homework and even more studying the material.

    I will say you do come out of this class understanding a lot, like the internet, how it works, how it’s connected, the nuances, etc. It’s a class that I think is very useful and will teach you a lot.


    Semester:

    For those who use these reviews to pick an “easy” course, please note that this course changes significantly from semester to semester, using student feedback, so only use recent reviews.

    In the Fall 2016, we had 8 projects and 3 proctored exams. There was something due nearly every week, with projects of varying difficulty and with tests definitely requiring a good amount of time to study, as they included a lot of “short essay” questions, were timed, and proctored (via ProctorTrack).

    I found this class very enjoyable because it didn’t include a lot of “busy work” - most everything we were asked to do led to learning something valuable. The projects were the best part. The tests were fair in that if you read all the material and did all the projects, you were pretty well prepared, but if you didn’t understand something, it would become apparent on the short essay questions, of which there were many.

    I’d say the class is “easy” in that it does not require too much prior CS knowledge to succeed. You need to know a little bit of Python for most projects (but way less than KBAI or Computer Photography, for example), and you need to stay on top of things because there is a lot of material. But it is all doable and largely enjoyable. Definitely recommend.


    Semester:

    This class is a good “middle of the road” for how classes should be at GT. Based off the reviews, I was expecting a really easy class that was a pain in the ass regarding quizzes.

    Guess what? Someone reads reviews. The quizzes are gone, but now the projects have a little bit more meat to them. The exams aren’t terrible, but require you to actually do the reading (that’s not a bad thing… ) and watch the lectures.

    My only real complaint is it seems like some of the projects were in flight or being modified as we went. The last one was delayed due to issues for example and ended up being replaced.

    Overall I’d take this class. If you’ve had no exposure to Python (like me), it’s a good way to get your feet wet. If you’ve had no programming experience at all? Some of the projects may be just a tad stressful.


    Semester:

    Any review you see on this course more than a year old you can ignore, because the course changes a LOT. The reviews here were deceiving for me. This was my first OMSCS course - I am an intermediate Python programmer at best, with a decent networking background and no real major programming background. This course was challenging without being too bad. Some weeks I spent 20-30 hours, some weeks less than 5. More of the former though.

    There were 8 projects for 60% of your grade, which alternated between pretty challenging (coding wise) to more read/report which were interesting but easier. If you have a significant coding/Python background you have a big advantage, but otherwise they will push you. There is a lot of reading: academic papers, book, and background that took up a chunk of time I did not expect.

    The course is a really good course, especially for a first one in OMSCS. Konte as a professor was great with feedback, Michael Brown as a head TA was great on that as well. The rest of the TAs, Michael, and Maria Konte were simply fantastic overall. Incredibly responsive on Piazza.

    The tests are 40% of your grade. Although Test 1 was pretty random and not super representative of the material, Test 2 and Test 3 were much better - challenging but very fair. Just do not think you are walking into an easy A.

    Overall the course was great! I learned a lot, and feel like a stronger Python programmer.


    Semester:

    I found the reviews for this class deceiving. This is NOT an easy class. For someone with not much prior Networking experience, The only way to ensure an A is through consistent hard work. Not having programmed for a while or unfamiliarity with Python could easily take your overall grade under 90%. Overall, although there was the occasional video, where concepts were smudged over, very good quality of lecture! The papers were not an easy read, but pay off with knowledge in the end! I learned a lot in this class. Just don’t underestimate it, it is not a walk in the park. Cheers!


    Semester:

    Mid semester review:

    This class isn’t necessarily ‘hard’, but they have made an attempt to make it more challenging. There were some new projects that had a couple of growing pains, but they worked with the class on them. Exam wise, they grade fairly. The “multiple correct answer” multiple choice questions can be painful due to how each answer is weighted though.

    The breakdown for Fall 2016 (with Konte) is the following:

    8 Projects - 60% 3 Tests - 40%

    Thankfully we haven’t had to do the quizzes that people have complained about previously.

    End of Semester Review:

    TBD


    Semester:

    It’s good class for computer networks.


    Semester:

    I already had extensive experience with networks, so, the course was more an update on some concepts, like iBGP, etc. Seems is more difficult now than in previous offerings 2 years ago, for the better.

    TA’s and instructor were very accessible also during Core Hours, although quite strict on Piazza about not sharing ANY code, not even a sample of a Python API call… they expect the students to work it out themselves.

    Projects in Python were easy if you had some programming experience, but I saw a lot of people suffer, for example, a web client (no Python libraries other than socket connections) was difficult for many… I deal with web applications, REST debugging clients, headers et all on a daily basis, but for many was the first peek at HTTP browser messages.

    On another project, a Piazza “clarification” caused some confusion and misunderstanding, some folks duplicated the number of “rules”: this was NOT necessary, made no practical sense, and the grader software had to be changed to accommodate those verbose submissions :-(

    Is a good review course, but be prepared to work hard, if you lack experience with networks and networking software.


    Semester:

    Having experience with Python, I found the projects very easy. Like some others, too easy. But I did learn from them.

    The concepts actually helped me for work, though I felt like we didn’t go in depth enough in some areas.

    The quizzes were often worded in ways that made them more difficult than they should have been.


    Semester:

    My Background: CS Undergrad, 3+ years industry experience in Software Development, No Networking undergraduate class.

    Projects 60%. Each project is very easy if you have decent programming experience in Python or a similar language. To be honest, I felt like they were too easy (though I did learn something from most of them). Be sure to do well on the projects so that you have some room to not do so well on the tests.

    Tests 40% I studied 20+ hours for both tests, but much of that was catching up on lectures I had fallen behind on. Before the curve, I got B’s on the tests (A’s after the adjustment). From what I understand, the Spring 2016 offering was the first to incorporate 2 tests whereas previous semester had quizzes. Be warned, from what I can tell, these tests are much harder than those quizzes ever were. The tests did not cover anything that wasn’t in the lectures/homework/papers, but they covered a vast amount of content. Take good notes on the lectures AND study them and you should be fine.

    Homeworks: The homeworks are optional but not optional if you want to do well on the tests.

    Papers: There were several academic papers for us to read. They varied in difficulty, but a couple of them were very long. However, the tests and the projects didn’t seem to test our knowledge of them very extensively (other than what was in the homeworks).

    Lectures: These are good, but they are not very consistent in the amount of detail covered. Some topics are covered in much detail while others are not. It would be nice if each one had optional readings associated with them. The are very few difficult concepts presented in the class.

    Overall Thoughts: Having never taken an undergraduate networking course, I felt like I learned a good bit in this class. The class really isn’t that hard. I felt like it was worthwhile for me.


    Semester:

    I was really excited about the course when I started, but I became uneasy and anxious after few weeks. The course required Python programming experience, there were multiple projects and 2 online proctored exams. I “hated” the proctored exams…. as these exams made me feel like I am in high school. During the proctored exam, we were not supposed to look away from screen, we can’t move, can’t think… just stare at the screen. The projects were not interesting. There was no team work either, which I believe is really important for such classes as we learn from each other. Professors and TA’s were great, but I believe that there is a lot of room for improvement in the course content, assignments, projects and the structure of the entire class.


    Semester:

    Tests were ridiculously hard for closed book and needed lots of reading and memorization to prepare. Half the questions were free responses aka mini essays. Projects were pretty fun and engaging; wish the class were more of those instead.


    Semester:

    I recommend this as a very good first course to start off your OMSCS journey. The course is well structured with engaging lectures and content. You are encouraged to read up on additional material and the quizzes too are good. The projects are based on SDN with Python as the language and were interesting. In fact, this course gives you a good foundation to explore lots of interesting areas in networking. I enjoyed taking this course.


    Semester:

    The reading was interesting, the projects were very simplistic and quick, but did not prepare me adequately for the tests. Based on the complexity of the projects, I didn’t study enough for the tests and didn’t do as well as I would have liked. My recommendation is to study all the reading and lectures thoroughly for the week leading up to the tests. The lectures breezed over some topics too quickly and seemed too brief, especially comparing this class against Computer Vision which had an awesome and thorough lecture component.


    Semester:

    My first course and had purposefully chosen an ‘easy’ one. There were 6 projects with 60% weight and 2 tests with 40% weight. Projects were not tough if you know basic python and keep track of comments on Piazza. Tests need preparation and working through the lectures/homeworks. All in all no surprises and rewards you with A if you are working regularly.


    Semester:

    The course is not simple, but the content is concrete and straight-forward, especially if you have any experience in network implementation and support. It’s an appropriate foundational class, anyone who aspires to a Masters in CS should understand and be conversant in these concepts.

    No real python expertise is needed for the projects, they are really focused on the networking concepts. Given their weight (60% this semester) they could have been more challenging.

    For this semester the papers were the meat of the course - one a week on average, plus plenty of supplemental reading and online videos if you want to spend the time digging in.

    Two closed-book tests - both were fair assessments of your grasp of the material.

    Professor & lead TA were very engaged, and the Piazza community was active and for the most part helpful.


    Semester:

    Good course if you want to learn about computer networks. Very good videos, projects are okay, and tests are good too.

    Projects - 60%. All projects are good and doable in few hours - but you have to spend a lot more to make sure that you don’t make a typo / small mistake. A small mistake in any of the project means that you lost “A” grade… My suggestion will be that if you are looking for “A” - make sure that you spend those extra hours to iron out any issues.

    Tests are closed book. So, that’s a bummer - I haven’t done closed book written test in a while. But then closed-book tests are more helpful retaining the concepts. For both tests - I studied for 3 days straight and took exam at the end of 3rd day - 3 days were enough.

    Videos are good and helpful. Extra readings are boring and elaborate - but you don’t need to read everything - you need to focus on key concepts.

    Office hours were useful and I spent time watching all of them offline. The discussions in office hours will give you tips for your projects and help u out with key concepts on tests.

    Good course overall - definitely recommended. The only concern is that you are more worried about loosing the points than earning points.


    Semester:

    On 2016 Spring Semester, we had

    • 6 Projects (all python - very Easy) - 10% each
    • 2 Tests (closed book - very Hard) - 20% each

    Only 45% of the class got A’s (90 and above), B was from 76 and above, so you can study hard and get a A or you can easily end up with a B on this course.

    Since it was a large class, there are a lot of people active on Piazza. Piazza posts helps a lot on doing the Projects. We got 4 Homework (not graded) to prepare us for the Test. You should be ready to read lengthy Research Papers for the Tests as well.


    Semester:

    (Please bear with my spelling and Grammer) Great course to Start of the OMSCS course. Projects are simple, but challenging enough to those who are coming back to college after 10 years and dont know the python. Video’s are straight forward, sometime I had to listen multiple time to understand the concepts. Reading-papers were the toughest part of this course. For every week there are papaers and few papers are long also.

    Overall refreshing class for the ones who are going to start OMSCS after long time.


    Semester:

    I’m giving this one a hearty “meh”. I actually got more out of reading the recommended background text (Computer Networking: A Top-Down Approach) than I did out of the course itself. The projects are a joke; a couple hours a piece. The final project was 7 lines of code. So, you’ll knock those out quickly, especially with help from your Piazza buddies. The tests I had a mixed experience with. I thought the first was pretty easy and the homeworks prepared you for it. The second I thought deviated quite a bit from the homeworks. Since it’s closed book and you get just 2 hours, I was screwed on that one. I wish they made it clearer what topics will be on the test. Also, there were only two tests during the semester. I think there should be at least 3 or 4, so you’re not just cramming bits of knowledge in your brain only to forget them later.


    Semester:

    I took this as my first class in the OMSCS program. I have significant embedded programming experience in C but I had only very basic previous experience with Python, the language required for all of the assignments. That said, I found the project objectives clearly explained and with the help of a few good python books enjoyed the projects and was able to do very well on them. For the spring 16 semester this class had 2 proctored tests. I would have preferred if the test material had been spread across perhaps 4 tests. It was challenging to both prepare for and thoroughly cover the required material in just the 2 tests.


    Semester:

    It’s a great course that helps refresh basic networking concepts and introduces you to software defined networking. I had a lot of fun playing around with mininet. Stuff that you could only do with multiple pieces of hardware - you can simulate easily with mininet.

    From a difficulty perspective, this course was fairly easy. There are no exams, the quizzes are easy and the assignments moderately difficult. I didn’t find anything challenging in this course, but the information was very useful none the less.


    Semester:

    Great instructor and TAs. Piazza was pretty active, and the teaching staff was quick to respond to most questions. This semester, we had 2 tests @ 20% each, and 6 projects at 10% each. The projects were all pretty simple, with Python as the required language. Having basic Python knowledge is recommended. Also, the staff released problem sets before the tests that prepared you pretty well for the material. To keep on schedule, we typically had to read one paper a week and watch one 30-minute lecture.


    Semester:

    I had an extremely difficult time in this course. The lectures were actually pretty good throughout the first half of the course but became more technical and less well explained during the second. The projects were not difficult, but I don’t feel that they added anything to my understanding of the concepts.

    The major problem I had with this course was the quizzes. The multiple choice questions were loaded with ambiguous answers, which still seemed ambiguous after watching the lectures multiple times and scouring Google for information. It often felt like you were left with 2 or 3 equally plausible choices and then forced to make a guess. There were multiple times where I felt like I actually, thoroughly understood what the question was asking and how each of the answers worked, but still had to just guess which was the “best” answer.

    The free response questions weren’t as tricky, but only gave you 90-120 words to explain your solution. There were 2 times in the beginning where I was penalized for not including all the information - I knew the information that I had left out, I tried to imply it in the response as much as possible, but didn’t know how to get it all in there given the short answer length. I felt like I was being penalized not because of my understanding, but because of some weird artificial limitation. After this, rather than trying to explain my solution, I wrote down shorter jargon filled answers that, truthfully, I sometimes didn’t fully understand and ended up getting full credit. This to me seems like a flaw - it felt to me that the grade was less about understanding and more about memorization.

    This may be a harsh review, but I really didn’t like this class.


    Semester:

    The instructors were great, the TAs were great. Quick to respond to issues and were very active on Piazza. The 6 projects were pretty straight forward and didn’t need more than a few hours each to complete. The language of choice is python. I didn’t know python going in, and it was easy to pick up, so don’t worry if you don’t know it before hand. The course seems to have changed format from before. Now there are 2 exams, roughly corresponding with midterm and final. There is probably about 7-10 academic papers to read. The video lectures are from the old format, and don’t match up well with the projects or papers. The video lectures also tend not to explain things well or thoroughly. I found myself on multiple occasions going to wikipedia to look up topics in order to understand them better. Fairly easy class.


    Semester:

    I want to start off by saying that the Instructors for this course were top notch. They were quick with grades and responding to questions on Piazza and were very helpful. My review below is not a reflection of the Instructors, but solely the content and assignments for the course.

    I was quite disappointed in this course. The projects were simple and typically didn’t require much effort assuming basic Python knowledge; Less than 2 hours each. I would’ve expected the projects to be more challenging considering my undergraduate Computer Networks class involved implementing a subset of functionality for an FTP server in C, given only the RFC document. The exams, of which there were 2, were typical memorize and regurgitate style with multiple choice and free response questions through ProctorTrack.

    The content did not fit what I expected from a Computer Networks class. It seemed to be a hodge podge of select topics in the computer networking realm. I honestly didn’t get much out of the class.

    If you want an easy class and are ok with the typical memorize and regurgitate style of exams, then this is the class for you.


    Semester:

    Scientific research papers are a bit long and numerous(not sure there is a cost-benefit there… maybe considering requiring PARTS not ALL for each paper). The videos are pretty straight forward, and you have to know videos and papers for the TESTS. We only had 2 tests, but were supposed to have many—-next semester I think they will do more. The projects were cool and interesting(know your Python), once you figured out how to get started. That might be my one recommendation is that sometimes we really had no idea how to get started. They definitely expect the “figuring it out” part is the first step of each project and is crucial to understanding. The autograders were a bit scary, cause even when you got the project working, you were worried whether your project would pass or not. Our last project has an autograder we had access to, so we knew for sure. Hopefully that will become the norm. My advice, the projects are very doable if you start early. Those who waited really seemed to panic at the end. TA (esp Michael) were extremely communicative in Piazza, so use that site daily for questions and updated. The course looks like they are redesigning, so there is definitely some re-ordering that needs to be done between readings, quizzes, and projects. But, overall good course with appropriate level of time commitment.


    Semester:

    I have been working in the networking industry since 2002 developing networking applications and protocol stacks. In spite of the experience, I learned loads from this class - especially on the L3 side. The projects are fun, and shouldn’t be a problem if you know Python (an absolute must for this class). The TAs and Prof. are super active in Piazza and Office Hours are also conducted twice in a week.

    This course requires reading of published papers apart from video lectures (which I found not rich in details - might be a problem for students not exposed to networking concepts earlier from school / work). There are 2 closed-book proctored tests involving a plethora of multiple choice, descriptive-types, and problem-types questions. It is important to internalize the concepts mentioned in the papers and video lectures if you want to do well in the tests.


    Semester:

    An interesting course that takes you behind the scenes of the networks that we use all day every day. It’s a bit less practical than I thought it would be, but also deeper into the design decisions and choices that were made in the development of the Internet. The exercises are pretty straightforward, and so far follow two patterns: a step-by-step project using a network simulator were you are finding/learning stuff, or short coding exercises (in Python) to write some of the algorithms that run on routers/controllers. You don’t have to be a real Pythonista, as you can pick it up along the way. The TA’s are active on Piazza, and the course seems to be a well-run machine at this point – no weird project surprises. The recorded lectures are a bit disjoint on occasion and not as clever/elaborate as some of the more recent courses, but they get the job done.


    Semester:

    I think knowing Python will help a lot, since most of the assignments were in Python. If you study the materials, the quizzes are straight forward. I got to learn about SDN, and it was very interesting.


    Semester:

    This is a course that teaches you how the internet works. Definitely isn’t the “easy” class anymore as a lot has changed. This might be easy for some who have done this a lot of their lives, but others in this course were challenged or even frustrated. One probably has to have an intermediate knowledge of Python at least and then some networking background. It probably would be a better course if it felt a little more connected between parts and also had better materials in connection with the lectures. I’d say it’s a medium since it’s not as hard as others, but not the easy one past students remember.


    Semester:

    Took this in one of the first few semesters. Grades were returned pretty quickly, but at this point the course has probably changed tremendously.


    Semester:

    I have heard the course changed since I took it, but the lectures were fairly straightforward; the homework assignments, as long as you set aside at least 6 hours for them, were very do-able. There were also multiple choice questions each week - these were a bit tricky, but mostly because the questions were not clear; that said, you will probably be able to answer them (I heard these got a bit easier since I took the class). I’d pair this with a harder course, or save it for over the summer.


    Semester:

    I loved this class. It’s challenging and you learn a ton, but it’s not frustrating the way some other classes can be. The lectures were fabulous and the projects did a great job teaching me Mininet and helping me get my Python skills up to par. Overall, a great first class for someone who has been out of college for a while.


    Semester:

    I really enjoyed this class. It helped me develop a good understanding of networking and I thought Prof Lillethun and the TAs did a really good job. I got a pretty high mark in this class (97), so I thought I would share a couple of tips that might help others that are planning to take it:

    1. As mentioned in the other reviews, some of the questions on the quizzes can be vague and easily misinterpreted. My approach on the quizzes was to make sure I researched each question throughly, considered all possible interpretations, and if necessary, post a private message to the Instructors requesting clarification. I tried to ensure my questions were concise, clear (sighting examples where possible), and demonstrated that I understood the related material throughly. In my experience, Prof Lillethun and the TAs were forthright and always willing to clarify things.

    2. Use office hours effectively! Office hours are your opportunity to speak to the Prof about the material and get answers and direction on homework, quizzes, and projects. The Instructors were willing to put a lot of time into the office hours, so take advantage of it.

    3. In advance of the quiz, they provide homework questions and answers. The homework answers are very useful on the quizzes. Use them.

    4. T-square sucks. When you answer a question that accepts multiple answers, do not guess at an answer. Incorrect choices will be deducted from any correct choices. So be conservative. Don’t gamble on choices that you aren’t sure of.

    5. T-square sucks. Make sure you record your answers and back them up on your computer.

    6. The projects aren’t very hard, but you do need to have some basic programming. experience. If this isn’t you, you might as well use this course to begin developing that experience (because Python is a good first language to learn, and you will certainly need it on other courses in the program). Prepare for the class by learning how to use basic data structures (maps, lists, sets), write methods, and declare variables. This is basic stuff, but a number of people seemed unprepared.


    Semester:

    Overall I found this was a good class, but since it was my first OMSCS I have no other class to compare it. Here are my thoughts on the class: PRO:

    • Projects were very interesting and relevant.
    • Homeworks were good and the professor provided good answers
    • Office Hours were good and often provided hints and good discussion on homeworks and tests
    • Tests were tricky and required a lot of time to complete
    • The class had an active Piazza and students were very willing to help with questions CON:
    • While the video lectures were good, they did not provide the depth required for this class
    • Tests: Since there were only 10 questions on each test, each wrong answer could have a negative effect on your overall grade. Bomb a test, and it could drop you a letter grade.
    • Projects: Not much assistance was offered, and if you got stuck on a coding issue, not much help was available (except from Piazza, see above) TIPS for the CLASS: If you are thinking about taking this class, here are some useful tips:
    • PYTHON - make sure you have good Python programming skills. If not, you will struggle with the projects. The class assumes you can write Python programs.
    • If you didn’t take an undergraduate Networking class, consider getting the suggested textbook: Computer Networking - A Top Down Approach. This was helpful
    • Attend (or watch afterwards) all the Office Hours - very helpful and critical to my passing the class (professor gives good hints on the tough test questions)
    • Read all the posts on Piazza. Again this provided hints and details on tough test questions.
    • And don’t forget to have fun!


    Semester:

    Fairly straightforward course but low quality. Crazy amounts of TAs supporting this course, so the Piazza forum was especially supportive. The quizzes rely way too much on wording to “test” knowledge; every quiz had a deluge of students complaining about interpretations of the questions due to language used. If you want an A in this course, then you need to figure out a way to read the professor’s mind in order to answer the questions. Assignments were interesting but too easy; I was able to complete each assignment within a 6 hour window the weekend it was due. The professor spoke poorly of many of his colleagues throughout semesters’ office hours, which I did not view as professional.


    Semester:

    It’s not a good sign when a TA calls a test question “ridiculously counter-intuitive”, and comments that he too would have chosen the incorrect answer.

    If you are intent on thoroughly learning the material presented in this course, beware: Your grade (especially your test grades) may not reflect your knowledge. A large portion of your time will be spent trying to figure out semantics of obscure test questions, troubleshooting faulty project templates, and arguing with instructors.

    It is true the content of this course does not demand a large number of hours per week to read or watch. However, the open-book format of the tests is IN NO WAY an advantage. The “select all that apply” multiple-choice scheme was deemed unfair by MANY students, mostly because of the way T-Square deducts points for incorrectly selected options. Watching the lecture videos, reading the papers, and even participating in office hours do NOT lay the path for scoring well on the tests.

    The projects can be a good source of learning the material, despite the fact they are 80% reading instructions and looking over the supplied templates and 20% actually writing code.

    In the Fall 2015 session, the instructors were mostly attentive to students’ concerns (via Piazza and office hours), even if some answers included “that’s just the way it is, it cannot be changed. ” (This was a common response referring to tests in T-Square). I think the instructors were probably doing the best they could with the atrocious class they were given. However, I doubt any of them would have tolerated the mishaps we students had to deal with.

    CONCLUSION: This class needs to be scrapped and totally redone. Both the original content and the delivery of that content are atrocities to the OMSCS program. As stated below, this class IN NO WAY does justice to this VERY important field of Computer Science. If you decide to take this class, and learning the material and scoring well is important to you, PREPARE TO BE THOROUGHLY FRUSTRATED.


    Semester:

    This class introduces some great concepts but fails to get into depth of anything. Great class If you are looking for getting credits.


    Semester:

    This course is a disappointment. The instructors are trying to make it artificially hard because the reviews from previous semesters were saying that the course is easy. The result is vaguely worded tests, disappointing grades that are curved down, and core material that is still easy.

    The lectures are good because they cover an interesting range of topics (a broader range than other networking classes I’ve seen). But they lack a bit in depth and need to be augmented. The current instructors are not the developers of the course and in some instances have a different approach. However they claim that they cannot change a single video segment or annotate it because “it is easier to redevelop the entire course than it is to change one bit of it. “ I find this claim ridiculous at best.

    The projects are very interesting but a bit easy. Those can definitely be made more challenging.

    The quizes are a mess. They’re vaguely worded and depend on the instructor’s interpretation. They tend to be open ended, but you’re expected to answer with a multiple choice or be constrained to 200 words. And in most cases, you’re penalized because either you missed a nuance that’s only clear in the instructor’s mind, or because you didn’t elaborate (although you’re constrained to 200 words). My grades were like a crap shoot, totally random per quiz, for an equal amount of preparation for each quiz and understanding of the material.

    The office hours were like a morning radio show with banter and little substance. I can tell that the instructors were trying hard to curve down the grades. Initially they claimed that an A will only be 92 and above (they reduced it later to a 90). They finally settled on the vaguely worded tests to make the course appear to be hard even though that’s the wrong way to do it.


    Semester:

    This course was very easy if you know a bit of python. The videos were interesting, but did not help much with the assignments. The assignments were sometimes interesting, but at times did not require much work at all.

    Great course to take along with a much more difficult course. Still very interesting if you are interested in internet networking.


    Semester:

    Don’t look at the reviews prior to Summer 2015 as it has been taken over by a new professor since then and it is different than before. There has clearly been an attempt to make the class harder even though I believe some leniency was given near the end of the semester making the grades much higher. This is my first class and below is my review: Pros: Class projects were interesting and fun The professor holds regular office hours and is responsive during those times Educational and I learned alot, granted I didn’t know anything about networks going in. Cons: Test questions lead to ambiguity and make it harder. Even when valid arguments were given for bad questions no credit was normally given. Meaning people never really well explained how they were wrong. Last project didn’t work well and instead of fixing just made it optional as a way to replace. Project was really interesting and wish it had been fixed. TAs were fairly helpful in Piazza but the Professor was very slow at responding to things needing his attention. Overall many times got more clarification from classmates than from the TA or professor on Piazza. I feel lucky we had some talkative classmates. Alot of need to research outside sources to get answers to test questions. Not testing my understanding but my ability to clarify the statements. Videos didn’t spend enough time explaining complex concepts forcing extra research as well.


    Semester:

    I found this course very easy, but I also find that I did not learn very much. Honestly not much at all except maybe a little Python and a few general concepts. The tests were very poorly worded and difficult, but I managed to get by with minimal effort. The lectures seemed to rush through material at times and were quite boring. The material is not very difficult however. Overall I would give the class a 3/5 as it was an easy A that meets a foundational requirement. If you are looking to actually learn a lot about computer networks, I would not bother with this course.


    Semester:

    This is your warning: steer clear of this class. If at all possible, avoid taking it until the instructors have raised the quality bar.

    Computer Networks is an interesting and important field of study within Computer Science. This is knowledge that you should gain. Unfortunately, the structure and presentation of this class is incredibly frustrating and ambiguous. You still really struggle to get an A in this class because the class is poorly designed. The content isn’t inherently challenging. The class is just designed to make it hard to do well.

    Lectures: the lectures are quite poor and disorganized. There is no clear thread tying them together and complex concepts pop up and vanish again for the remainder of the course within a single breath… until they show up later on a quiz (more below). The lecture content has tremendous breadth but is frequently covered at such a shallow and unclear level that it is practically useless. If you want to spend hours reading Wikipedia articles, trying to understand what the professor is trying to teach, take this course.

    Tests/quizzes: oh boy… most quizzes are “select all of the correct responses” style. Which means that 6-question quizzes essentially entail digging for minutia in order to discount even a single potential response. Prepare yourself for hours of Google + Wikipedia + watching random YouTube videos in the hope of uncovering a kernel that may/may not help you answer the question. Frequently, the wording on quizzes was so ambiguous that Piazza was flooded with questions and office hours were spent asking the instructor to clarify the same question over and over again. What seems like an easy “1 quick quiz per week or two” turns into a 3-4 day treasure hunt with the hope that an instructor might properly explain the intent of a question/answer option.

    Projects: the only good part of this course. The projects were occasionally a bit trivial but gave some programming practice in Python and helped to give a few concepts the depth of understanding that they deserve. Even the projects though were fraught: the instructors had to make the last project optional since so many people weren’t able to understand it/make it run on their virtual machines.

    I’ll repeat it again: this class is not inherently challenging. From previous semesters, it looks like this class was “take this if you want an A” easy. Instead of making projects more challenging or treating the content at any additional depth, the instructors simply made it more difficult to get an A. This course is difficult because of ambiguity, a lack of depth and poor assessments.

    In case you were wondering, these concerns were raised to the instructors multiple times on Piazza throughout the semester. Each time, they were met with a shrug or a reason why the students’ concerns were invalid. For me, this exemplifies a lack of awareness and understanding among the instructors for students who are just trying hard to learn.

    Keep in mind that I’m currently scoring in the 85%+ range. I put in a lot of time for this class. I wish I could have invested that time elsewhere.


    Semester:

    Pretty easy


    Semester:

    I found programming assignments very difficult as a python novice, and would not have been able to complete them at all were it not for the helpful discussions by fellow students. That wasn’t for lack of programming expertise - I know how to program, and how to google. It was the lack of direction for how assignments should be structured that caused me problems. Tests were ridiculously vague and poorly phrased, requiring me to guess what the instructors had in mind rather than demonstrate my knowledge (I read AND watched all videos, practice questions and answers, office hours, etc. ) To be clear: I’m getting a strong A, and I really enjoyed the course material. I just feel that there were parts of this course that were made unnecessarily difficult for the wrong reasons.


    Semester:

    Interesting material. No exams. Just open-book quizzes and programming assignments.

    Programming assignments require use of a VM and knowledge of Python, but they are mostly simple and take up no more than a day or two.

    Nice to take along with other “tough” courses.


    Semester:

    ez pz


    Semester:

    Quizzes were made unnecessarily difficult. The projects were informative and a bit on the easy side. Overall, I think I learned a good bit in this course.


    Semester:

    The material is good, but the assignments are far too easy. Some assignments are just step-by-step procedures that you need to run and observe. Others are programming assignments which require 1-10 lines of code.


    Semester:

    This was a good class. I loved the material. I started off on a bad foot because I didn’t know about the Piazza forum until the first project. Though it was possible to catch up and learn quite a bit.


    Semester:

    I have a strong background in networking, and I really enjoyed this class. The best class I’ve taken so far.


    Semester:

    Like most of the comments here it’s incredibly easy. Most of the assignments I believe can be completed with almost no networking knowledge. This was the first class I took in OMSCS and it left me pretty disappointed.


    Semester:

    I really loved the lectures, but some of the projects were just head-scratchingly easy. Not a lot of rigor, although I expect them to change that in the future.


    Semester:

    Most difficult part of the course was setting up the VM. Lectures are very interesting.


    Semester:

    Assignments are simple but quiz questions may be tricky. However, if you understand the material, quizes should be somewhat easy


    Semester:

    The video lectures are very good, though I found it flowed better on a higher speed. The quiz questions are often badly worded, and need clarification from the TAs on piazza. Also, I haven’t seen a post from Nick since the first week of class… err, the second week because they started late. Basically, it’s not too difficult a class if you can get a consensus on what the questions mean, are familiar with basic linux, VMs, basic python, some general networking concepts and aren’t disturbed by a what feels like a beta version of the class.


    Semester:

    You can answer the quizzes without going over lectures. And each of the assignments are not more than 25 to 50 lines. The lecture material was really good. If someone is really interested in networking, then this is the right class. But with Prof. NF moving to Princeton, I am not sure how its going to be handled. Definitely the easiest of classes in OMSCS.


    Semester:

    I have to agree with most of the comments on this page. The lectures for this class were extremely unpolished and disorganized. The homework quizzes usually had nothing to do with the lectures and required googling but were overall not too difficult. The programming assignments were downright awful. I did not learn anything from them and spent too much time trying to figure out the ins and outs of the packages we were supposed to be using. The programming assignments usually amounted to 2-10 lines of code but always was a challenge due to subtleties in syntax. If you’re looking to get an A with very little effort, this is it. I for one feel like this was a waste of time, and would probably steer clear of it if you actually want to learn about computer networks.


    Semester:

    I’ll preface by saying, I got a top grade in this class (like many others I’d assume). The class is not technically difficult, you can get through most of the programming assingments in a few hours but do not expect it to be easy, it requires work. There are 2 assignments that took > 10 hrs to complete. They were difficult because we had to use POX and Pyretic which had very little documentation. They give you an expected solution to match and most of the time, you should be able to reach it. There are quizzes and they do take time to get right. They are not trivial, it requires reading, looking up stuff online and researching to get correctly. Course lectures ARE NOT ENOUGH. While the class is not mathematically intense or technically complex, you get a solid understanding of the concepts and material. Piazza was communication was a disaster, and assignments were changed often. Other than that, you do learn quite a bit about computer networks, structure of the internet and software defined networking.


    Semester:

    Agreed mostly with the reviews above. However, I think a big part of the problem was that there were 500 people in this class. This made Piazza a terrible tool for communication. You had to watch Piazza pretty closely to keep tabs on the various quiz questions for that week. Also, while the quizzes were poorly worded and vague (which is unacceptable for any CS class), some students were quite rude to the TAs, who were trying to handle 500 students. I’d echo the sentiments above about the autograder too. GT should provide some automated grading framework like web-cat to handle that load instead of TAs writing custom, fragile auto graders. This way students could validate their code before submitting. I found the lectures very informative, the quizzes at their best made you go learn new things and at their worst confused the heck out of you with vague and imprecise language. I came into the class with zero networking knowledge or Python knowledge and I came out with an A. Don’t take it expecting to learn Python. The most complex code you’ll write is a loop. I do feel like the lectures were very beneficial though and enjoyed watching them. If they offer this class in the same format again (which I doubt they will), be sure to check Piazza often as there are some pretty funny exchanges between rude students who take themselves a bit too seriously and TAs that are stretched a bit too thin.


    Semester:

    You can do the minimum and get a good grade in this class… Or you can do the work and learn more about computer networking than you will in any other computer class. The choice is really up to you. The amount of material you cover in this class is immense, though you aren’t held accountable for all of it. What you get out of this class depends on what you put into it, and this means reading the referenced papers, watching the videos, and reviewing all of the mininet programming (not just what you’re assigned to work on).


    Semester:

    I think the above covers the course pretty well: Lectures are great, labs are really easy. My only other addition is that there is a frustrating aspect to the quizes and labs: When you don’t understand the wording of a question, there’s rarely help availailable to clarify the answer. Typically you’ll be met with a response of ‘I can’t tell you more because it would give away the answer, but you’re on the right track. ‘ It’s very difficult to get clarification on quiz questions.


    Semester:

    I have mixed feelings about this course. Overall, I was disappointed with the professionalism of this course and it did not meet my expectations for OMSCS. On the positive side, in the first part of the course, the lectures provide a good graduate level introduction to networking. The rest of the course deals mostly with Software Defined Networking. Here, the lectures are ok. But the ‘lab’ part of the assignments really need to be reworked-they are not challenging and often involved mindlessly following step by step instructions. Also on the negative side, the quizes were poorly written, not particularly challenging and often contained errors. TAs were slow to return quizes and there was a ‘negotiation’ on piazza after a quiz was graded, and then the quizes were regraded. With some exceptions, Piazza discussions were not great and TA responses were often no more than a couple of words.


    Semester:

    After taking 6300 in the Fall, which was very well run, I can only echo the comments of those above who found this iteration of the course disorganized and not postively representative of the kind of execution that I was expecting. The material was interesting, and the lectures with the now departed Prof. Feamster were well done, but what #61 said about the quizes was very true and very disappointing. I’m also going to suggest that perhaps the class was too large to be effectively managed, and perhaps 200-300 students should be the max on a course at the graduate level given the time commitments of not only the students, but also the TAs involved. Having more TAs doesn’t necessarily solve all issues that arise from such a large class in a variation on the maxim of the mythical man-month.


    Semester:

    This course is a disgrace to the entire program. The lectures content is good but it is evident that not much effort has been put into them. Udacity quizes are trivial and do not facilitate or even test understanding. The HW Quiz questions mostly come out of wikipedia. As if Wikipedia is the fountain of knowledge!!


    Semester:

    Extremely disorganized class and an embarassment to this program, as documented above. The only positive aspect to this course is that some of the lectures are interesting.


    Semester:

    Because I am interested in the subject matter and quite familiar with computer networking, I spent time understanding the material and overall I enjoyed the course. The video lectures were good; the research papers were a must read - especially for the quizes. The course covered some material like SDN which was a good introduction. The python programming itself was not difficult, but you did have to spend time understanding the concepts and the other code with which you were interfacing. Even though I felt like I knew the answers on the quizes, the quizes took extra time because of the ambiquity of the wording on some of the questions. In general, what was required for the course was clearly spelled out but there were some oddities (like the quiz naming mentioned above). For this course, the student and TA conversations on Piazza were a must read. I only had a couple of direct interactions with the TAs and my questions were quickly resolved.


    Semester:

    Agree with all of the above statements. I took this course because I wanted to take a course that had a low difficulty level and would help meet one of the foundational requirements. Unfortunately, we spent more time debating the quiz & assignmenting file-naming conventions than actually discussing the content of the course. e. g. One assignment we were required to name a file ‘quiz4’, another assignemnt we have to name a file ‘quiz-7’ with a ‘-‘ character. Students obsessed over these details since the autograder scripts apparently cannot accept filenames with even the slightest variation (no wildcard characters??). All of the problems from this semester stem from a lack of leadership. There was no leadership from the TAs; not something entirely expected but it really hurt the course. The faculty of Georgia Tech provided no communication about this course’s professor or his absence. There was no attempt to repair the course that clearly got off to a rough start. Although the content was somewhat interesting, we could never benefit from professorial interaction. I will not recommend this course to a fellow student until it is improved.


    Semester:

    Agree with above. This class is potentially damaging to the program (Having taken 4 others, which were amazing). The lectures are ok (if not hard to follow due to the robotic speech of the instructor), but the assignments are awful. Each assignment is 1/2 coding & simulation, and 1/2 quiz. The quizzes were written by someone with absolutely no grasp of technical writing, or the English language in general. Project requirements were subject to change, and these changes weren’t regularly stickied or announced. The coding required was extremely simple since most of the code is already written, and the hardest part is reading documentation. I would not recommend this course under any circumstances. If you want to learn about computer networks, you are better off watching the lectures and reading on your own.


    Semester:

    Only take this course if you’re really interested in computer networking. The videos and research papers were interesting but were eclipsed by the poor management of the course by the TA’s. Do not take this course your first semester. You will not a get a good impression of the program. I have taken four courses and the other three were superb (KBAI, AI for Robotics and Intro to Health Informatics). This class is not representative of the program.


    Semester:

    Overall the course has its usefulness but not a good representation of what a Masters course should be like. I did learn more about specific topics during the lectures notes and they were somewhat necessary for some quiz questions. The programming can be tricky at times but none took more than 3 hours or so. The quiz questions are annoyance of this course. Not only are they ambigious and worded poorly, they often times had very deceiving (not tricky, but deceiving) questions. These deceiving questions will not only confuse the student but also may lead to a misunderstanding of specific topics when the answer key is released.


    Semester:

    If you know Python you should be fine. Lectures are interesting and worth taking with a harder class to balance out the workload


    Semester:

    I took this class because I wanted to take a semester ‘off’ from the intensity of other courses in this program. It did not disappoint for how easy it was, but this class is an embarassment to the program. The quizzes are poorly worded, so they’re a little hard to answer, but just do some googling and make your best guess - the TAs will regrade them with looser restrictions on the answers and then you’ll probably get a hundred percent. The assignments are basically extremely simple tutorials. You don’t even have to watch any of the lectures and you can still be very succesful (grade wise) in this course. I literally cannot remember the last time I took such a poor rigour-free class (even in high school). The lectures are decent, and you can learn something if you take the time on it, but learning is not a requirement for this one.


    Semester:

    The learning experience is not very enjoyable. Especially with poorly written quizzes and auto-grader for assignments. If you’re looking for an ‘easy’ course and don’t mind checking Piazza a few times every week, it may be a good choice. If you’re very busy and have to skip piazza and TA sessions, you may be frustrated by this course.


    Semester:

    Like has been said before, the content is reasonably interesting, but the execution of the quizes and assignments definitly has room for improvement. This may be the result of the loss of the professor though so hopefully it improves in the future. Video order seems to have been jumbled and no longer follows the ordering of assignments, it’s not clear which lectures cover answers to questions for assignments, etc. Better organization and this would be a much better course.


    Semester:

    After watching the first couple of lectures, I was so looking forward to this class. The lectures have continued to be good, but the rest of the class experience has been a disappointment. I feel for the TAs - it seems like there has been ZERO involvement from the professor of record now that he’s moved on to Princeton. The TAs are left holding the bag, and things have been very disorganized as a result. The programming assignments are almost laughably easy (I completed most in less than an hour), but the multiple-choice quizzes take a ridiculous amount of time. A lot of the questions are so incredibly vague or the answers just didn’t make any sense - in some cases, there were no correct answers available, which was acknowledged by the TAs on the course forum. My general process for handling the quizzes was to watch the lectures, read any supplemental papers that were linked, read the Piazza forum, watch the office hours… and when all that failed, as it frequently did, Google for the answers. I’m not exaggerating when I say that a 10-question multiple choice quiz can take upwards of 6 or 7 hours to complete. The Piazza forum itself is another issue… it’s very frequently difficult to get any sort of ‘official’ response from a TA to questions. Students are helping each other as much as possible, but it would be nice to get official confirmation for questions that relate to policy/procedures. This is my first semester in the program, and I would have been really disappointed and questioning the caliber of the program if I weren’t taking CS6300 concurrently.


    Semester:

    The class is easy. The python assignments are easy- but there isn’t much instruction on how to complete an assignment. I felt like the majority of the learning and how-to ‘do stuff’ came from using Google. The professor wasn’t engaged in the course at all. Questions asked in the forums would simply go unanswered. I can 2nd that some of the quiz questions where plagiarized word-for-word from various places on the internet. In fact, one question was copied word-for-word - the answer from that site and the accepted answer in the class were different. I asked about this to a TA and his response was ‘Sorry we can’t pre-grade your quiz’ and subsequent follow ups to clarify was left unanswered. Homework and quizes were not graded in a timely manner at all. I did learn stuff, but this didn’t seem like a grad-level course.


    Semester:

    Coming off of a course where the professor was heavily engaged (CS6300 w/ Alex Orso) this course is a disappointment. AFAIK there is no professor supervising the TAs and there has been some snark on Piazza between the students and the TAs. (The majority of the students are probably older, and likely more experienced than the TAs, so that’s a factor to consider. ) The quiz questions and answers are sometimes very cryptic, and some of the course communications aren’t always written in proper English. Some of the quiz text appears to be plagiarized from other sources because the content is not covered in readings or lectures. I have printed the quiz out and kept it handy while watching lectures which basically makes it easy to ace most of the questions. The TAs are also sticklers for following the directions, but we had the same issue in CS6300… some people just don’t follow directions. I am mostly satisfied, though, because these issues have not gotten in the way of my learning, and I have a pretty decent understanding of Python so the assignments are not that challenging.


    Semester:

    This class is too easy. The problem with that is that they then take points off for things that ‘Meet Expectations’ according to the grading rubric, instead of taking points off because you actually did something wrong. I also think this class desperately needs a final exam to students can have some incentive to watch the lectures, as they are not really necessary to do the assignments.


    Semester:

    Took this as my first OMSCS course, and first foray into Python programming. Programming assignments are very simple, if you see the clever way to do it. For our semester, Assignment 3 was the most challenging assignment, but most others were very simple - adding/changing Python code to make the VM Network simulator perform a specified task. A very gentle introduction to the OMSCS program.


    Semester:

    This is the most disorganized course I have taken in the OMSCS program. There is no professor involved with the course at this point, so it is entirely run by a group of TAs who do their best to make everything work but don’t have the resources, time, or authority to fix the aspects of the course that are broken. The course consists of lectures, which in general are interesting and easy to follow, short Python networking assignments, and quizzes. If all of these were integrated into the Udacity system as they were originally when the course was created, everything would be much easier to deal with. Instead, the current TAs are locked out of the Udacity backend and have to create their own autograding system and quiz questions from scratch. Autograding has been a mess, with students receiving zero scores for seemingly correct work with no explanation, such as programming assigningments where the code is completely correct or quiz submissions where there is an extra newline at the end of the file. The TAs are spending a lot of time regrading and fixing these grading errors, but it’s a huge distraction from the actual coursework. The quiz questions themselves are the weakest and newest part of the course, many of the questions are incorrect and are changed before the deadline, worded ambiguously due to grammar or other issues, cover material outside of the course itself, or use terminology and techniques simlar to but different from the course material. All these issues mean that there is a large backlog of questions from students on Piazza, and the TAs have a hard time keeping up. To succeed in this course procrastination is basically mandatory, because critical clarifications and changes to the quizzes and assignments will often only be posted a few days before the deadline. Aside all of these issues, the material in the course itself is very approachable and the workload is very reasonable in terms of time. I wish the higher level staff would do something to address the problems faced by both students and TAs in this course, because otherwise I would recommend this course a good way to get started in the OMSCS program without getting overwhelmed by courses that involve more advanced skills and a larger time committment.


    Semester:

    This is a good course for anyone that needs an introdcution to computer network modeling and simulation. The structure is slightly unorganized, probably due to the instrutor leaving gatech. Next semester maybe better organized. The office hours are helpful. Assignments are extremely easy. Please note you need to know how to program in Python, at least at a beginner level. All assignments are in Python. Quiz questions can be improved as the questions were ambiguous with multiple probable answers. Paper reading wokload was minimal. having said that, this course badly needs to be revamped and restructured.


    Semester:

    This class is very poorly designed and run. The course material is on par with an undergrad networking class minus any exams. I’d say this class should be an easy A, but it’s very easy to lose points on the assignments due to the vague broken english the questions are written in, and the autograder which will deduct points for ridiculous things such as having extra whitespace in your text file. Also don’t try to bring any of this up on the piazza forum because the TAs will get offended and hint that your grade may suffer for being a troublemaker.


    Semester:

    Lectures are interesting, but the assignments not so much. If you have elementary Python skills this class will be a breeze, otherwise learn yourself a bit of Python. The Python implementations might involve writing approximately 10 lines of code an assignment. The quizzes can get a little tricky. Its best to reason through the quizzes using question/evidence/conclusion framework


    Semester:

    Serious growing pains right now in this class - large size and no professor present. Issues with assignment requirements changing and ambiguous quiz questions paried with poor communication from TAs leads to half my time per week that is allocated to this class being spent chasing down posts on piazza and scouring office hours for answers. This time would obviously be better spent studying the material and doing my own research. But instead, it gets burned due to administrative issues. Couldn’t recommend in current form.


    Semester:

    This class isn’t hard but it is really poorly run. I cannot recommend this clas because of how it is being run. If you do take it, assume what you have been told in your assignments is not enough and that there will be corrections that you can ONLY find in some burried thread on Piazza. The class have been basically unprofessional. For a class that is in its 3rd run I don’t know why it is this bad. KBAI was infinitely better on its first run. The videos are nice and the homework itself isn’t bad but when you have a case where a you do what is in the homework and match their pictures, only to have things rejected because of OTHER unannounced parameters.. its not good. Or to then have them request you copy and paste output from a terminal, only to find out that they watned MORE than they explicicity asked for is bad. What makes it worse than just all of that is their refusal to make a group announcement about the subject where it states EVERYTHING in one clear place. Instead you have to go through a whole Piazza post. Just awful.


    Semester:

    This clas is easy in some way, but very difficult in others. While the lectures are quite good, the quizzes are loaded with ambiguity and statements designed to trip you up. The professor has moved to Princeton, and while he’s still the Professor of record, he’s been 100% absent and only TAs are running the class. They constantly bury important information in Piazza posts, have inconsistent approaches to grading, rely too heavily on defective autograder scripts, have poor response time to questions, are argumentative, etc. In other words, the class is completely run by overworked and undertrained grad students, just like us. It doesn’t make for a good learning experience.


    Semester:

    Good first class to get your feet wet for the OMSCS program especially if you don’t have that strong of a CS background. TA’s were helpful. Could get by without listening to the lectures or readings and just focusing on the assignments. Not the most interesting class but useful.


    Semester:

    If you need an easy class to fulfill a requirement, then this one can meet that need in a pinch. I was disappointed however because I am interested in the subject, and I feel that this class really only gave a whirlwind thin covering of the material. While I did learn more than I knew starting the class, I wanted more out of it. The assignments were a bizarre combination of ridiculously easy connect the dots exercises with explicit step by step instructions paired with buggy software and buggy instructions. I prefer it when the challenges in an assignment are inherit in the material rather than due to mistakes by the course developers. Finally, unlike with my other courses, I felt like the professor and TAs were dialing this course in and not really excited to be teaching it as part an online program.


    Semester:

    Very easy class. Interesting material. Programming assignments were in Python. First assignment was the hardest one. Subsequent assignments were way easier. The programming assignments gave you most of the code and had TODO comments on where you had to write a line or two.


    Semester:

    With a networking background, I thought I’d enjoy this class. Turns out networking is effectively irrelevant to the coursework. Are you able to read API documentation and write 10 lines of Python? Then you, too, can complete this course with an A! This ought to be a second year undergraduate course, if that.


    Semester:

    This class was way too easy. Interesting content, but the assignments were really simple and could be done without even watching the lectures. Assignments were largely just using some pre-existing code and filling 1-2 lines. No midterm or final. I feel like there should have been 50% more content in this course, and harder, more interesting assignments.


    Semester:

    concepts were great. the homework didn’t really help learn it though


    Semester:

    Vague, vague, vague. Quizzes were a mess and much more difficult than the lectures and assignments indicated–multiple attempts or not. By the instructors own admission, some questions were subjective and open to interpretation. The assignments were also vaguely worded and if it weren’t for the superior participation of some key students on Piazza, I would not have done as well on them as I did. I would not recommend this as a first course–if it were my first OMSCS course, I would have written this program off as sub-par. The sad part is the actual work isn’t that hard–it is how questions are asked and assignments worded that makes it hard. Know Python 2 going in–not even an option learning it as you go. Expect to spend most of your time ‘decrypting’ the teaching staffs intent. TAs, other than the lead TA, were mostly absent from Piazza–and on the weekends before assignments were due, instructors were for the most part MIA.


    Semester:

    Quizzes were challenging – I never got them all right on the first try, but with the multiple attempts allowed and a reasonable testing strategy, I was able to get them all correct. Note that I didn’t necessarily agree with every answer that was ‘correct’, but I figured out what they were looking for. The projects were fairly basic and were not challenging from a programming point of view (I had relatively minimal experience with Python before the course, but pick up scripting languages pretty easily). The hard part with the programming assignments was that they were auto-graded with minimal viewing of the code so a simple mistake could cause significant issues on the grade. In some of the later assignments, classmates built some test suites that made validation much easier.


    Semester:

    Disappointingly easy - the assignments are next to pointless. Looking forward to seeing the class advance with a new professor.


    Semester:

    Programming Assignments are difficult for those who do not know Python. I would recommend you to program and understand Python fully before starting this course. This course uses framework called Pyretic; it is not a easy framework to pick up and TAs do horrible job helping you out on it. As for the quizzes, you DO need to watch the lectures or read the PDF format of the lectures to not get confused or get tricked; however, you are given 10 tries to do the quizzes. Quizzes are always at a difficult level because questions are subjective. Not an easy course anymore.


    Semester:

    If you watch the lecture videos carefully, the programming assignments are straightforward. Quizzes can be little tricky but not too bad.


    Semester:

    This clas needed the most time in writing the Python assignments. The syllabus stated that a minimum knowledge of Python was required, but early assignments were very complex for a Python novice. The quizzes were an excercise in frustration as questions were vague and often unclear. My knowlege of Networking has greatly been increased. Suggestion to all future students of this class would be to study Python and become quite proficeint prior to taking the class.


    Semester:

    I found the course moderately difficult - not because of the material but for the delivery of it. It was difficult to navigate the course assignments & quizzes. Quizzes are tricky but did re-in force learning. Lectures are a bit dated (e. g. lecture talks about Skype being a peer-to-peer network but which I believe is not the case anymore). Assignments requires very little actual coding but more understating what we need to do. You do learn quite a bit if you put the efforts into it in this course.


    Semester:

    I thought the lectures and the professors explained the material very well. However, when you get to the quizzes, it sometimes requires you to review the lectures for a second time since the lectures can explain concepts pretty fast or go to external references to determine the answer. Some of the quiz multiple choice answers are also worded vaguely and can be tricky. I enjoyed the assignments. I think I also spent a lot of time catching up with all the posts made by the class to determine what bugs to look out for or clues to help solve the assignment. Overall, I still believe this is a good introductory to OMSCS class to take if you are willing to do the work.


    Semester:

    I heard the course was revamped, but thought it was still on the easy side. I spent maybe a few hours each week working with the class. We had 6 assignments in python (worth 60% weight) and 5 quizzes (40% weight). Assignments were very simple and required just a little bit of scripting (my final assignment was adding ~6 lines of code). Every week you did either an assignment or quiz. The main complaint was sometimes the questions/instructions were a little ambiguous. The quizes you could retake 10 times.


    Semester:

    Definitely not an easy one.


    Semester:

    The course now requires you to watch the lectures to do well on the quizzes. You have up to 10 tries which helps (although you don’t know which questions you got right/wrong). The projects weren’t very difficult however they did take some time to understand. Six projects (10% each), five quizzes (8% each). One per week. Overall I enjoyed the course.


    Semester:

    The course is revamped from Summer 2015 with new professors, and it has become bit difficult course (not very easy anymore as in the previous semesters). We had 5 quizzes and 6 assignments in total, which comes alternatively in each week. Some of the assignments were easy and some were average to difficult. The quizzes were very difficult and needed lots of research on video material and extra reading (The quizzes are not the ones in the video lectures). Overall a great course, but not an easy course anymore


    Semester:

    Don’t take this course.

    The content is unstructured in that the open book tests do not test the video lectures, forcing you to spend endless hours looking in the internet sewer for answers (in stead of being able to find it in the lectures or a textbook). Read the other reviews carefully about the atrocious state of the quizzes. It’s all true. This is my 6th course, so I know what’s the OCMS standard by now.

    I deeply deeply regret taking this course.


    Semester:

    Obscure! Obscure! Obscure! Vague! Vague! Vague! The contents both in teaching stuff and project/assignment descriptions are unacceptably unclear. Particularly, the assignments have become a series of gamble and gotcha game. The course per se is not technically hard, though. Yet, you have to be a psychologist and linguistist if y’all want to survive in the jungle.


    Semester:

    This class is not difficult. When you try to pose easy material as difficult it ends up creating confusions. This is what has happened to this course. Instructors are trying to make it difficult by adding complexity at wrong place. I think this course should be scrapped and redone. I spend more time understanding questions and wordings to make sense of it rather than solving question. Projects are not difficult but you spend more time understanding them than actual implementation.


    Semester:

    Don’t look a gift horse in the mouth. This will never happen again, as the program is changing with a new prof on the BOOK s.


    Semester:

    It’s a very easy class but it’s extremly unorganized. You just need to know basic computer networking and very little python and you will be good to go.


    Semester:

    The easiest course I have ever taken in my life… period. I wrote a total of 20 lines of code over the first 6 projects. The projects are mostly written, just have to add a few lines of code to get most of them to work. I have 3 projects left and I have a 102% in the class due to some extra credit given on one of the quizzes.


    Semester:

    I don’t know why this is a class. I had harder lab assignments in undergrad than the assignments in this class. The assignments are largely copies of mininet/pox/pyretic tutorials and require almost no coding or critical thinking. The most consistent student complaint has been that the quizzes are incredibly ambiguous, and the expected answer from lecture may directly contradict the result of performing the experiment in mininet… just because.


    Semester:

    Easy class but pretty awesome. Actually enjoyed the assignments besides the confusing quiz questions. This course is really about Software Defined Networking more than it is about Computer Networks it seems.


    Semester:

    Not a very good class. The videos are interesting enough, but the assignments don’t really teach networking. You spend more time figuring out badly documented Python API calls than you do on anything like networking concepts. I learned stuff from the videos, but the assignments were an exercise in frustration (and I’m a professional with Python experience and got a 9/10 or 10/10 on every assignment so far). Luckily, the Piazza boards were relatively helpful; just don’t start the assignment in the first few days and let others beat their heads against the wall, and then use what they said to finish the assignment. Be sure to give back after you’re done, though.


    Semester:

    I like the lectures. The actual coding part is easy. The quizzes are easy. What is not easy, and extremely frustrating, is using Mininet and all the associated tools. It is hard to debug. Often, you don’t even know what error you made. The environment itself is hard to work with because you can follow the directions and still something may not work right.


    Semester:

    The lectures teach a lot. The homeworks you can do without learning much, which is sad because they introduce you to some interesting tools.


    Semester:

    If you have programming experience in Python, it is pretty easy. They added quizzes to the homeworks and some had vague questions that were debated a great deal on Piazza. Wish I would have taken it with another class because it was very little effort overall.


    Semester:

    This class doesn’t have a huge amount of content, is farily straight forward and is possibly the easiest class offered. The content of the course is offered in a very presentable way with some good opportunities to learn outside of the class. Some of the assignments are more time consuming than others, but this course shouldn’t take too much time each week. I recommend it if you want some good content, but not a lot of it.


    Semester:

    This was an OK class, but it could have been better. The lectures were interesting and covered a wide variety of topics, but didn’t spend very much time on anything in particular. The 9 assignments and quizzes were not all that useful though to learning the course material. Many of the assignments really didn’t have much to do with the corresponding lectures. The quizzes were poorly worded, ambiguous, and confusing. The provided virtual machine was a pain to use and sometimes I spent a couple hours trying to fix problems–my advice is to read, then re-read, and follow the assignment instructions exactly as written. Probably the hardest part of the course was learning Python which I had no knowledge of beforehand. It is somewhat easy class that could be taken along with a more difficult class.


    Semester:

    It’s a ridiculously easy class. You can literally watch all lectures and do all homeworks in a single (busy) weekend, which would make this a great choice for a Summer session. The software defined network bits at the end were interesting, but the bulk of the course would be better suited for a freshman-level intro to networking. Requires very little programming (just filling in a couple of lines here and there) and is a suitable course even for those with no prior Python experience.


    Semester:

    Very flexible schedule. Either have some programming skill, or brush up on it first. Will require extremely short bits of programming with likely unfamiliar domain specific commands. Did not know any Python and basically know about 3 commands in Linux. Could probably have done most weeks faster, but it is clearer if you pay good attention to the lectures and articles. Most assignments are demonstrations of the topics in the lectures or articles (at least if you paid enough attention to what was going on). Basically, you must be able to read well, listen to lectures, and have moderate general troubleshooting/debugging ability.


    Semester:

    Horrible class in terms of satisfication. But very popular among new students (myself included) because we don’t know what to expect from gatech grad course so want to test the water with an easier class. The professor seems to be very aloof, and the course is entirely ran by teaching assisants who are not very attentive on the forum. Most of the help you get will be from fellow students, given the size of the class, I’d say you’ll bound to find help from good students. The assignments are horribly designed and not well tested before deployment. The quiz questions are ambigous, causing a lot of frustration. The quiz are not difficult at all, Most of the admitted students are smart and will be able to comprehend the material in the video lecture easily. So imagine how they can design the multiple choice questions to test your IQ? They make them very ambiguous so you might just choose the wrong answer even you understand everything they taught just fine. in Fall 2014 80% of the student got an A. No mid term no finals, just 10 easy programming assignments + multiple choice questions. Just brush up on your python programming (you need to be able to read code from framework, you only need to write a few lines for each assignment). A great deal of the frustration you’ll get is to understand the python mininet API framework, which is the center piece of every assignment but none of the lecture video cover the framework at all. Use a good editor like pycharm so you can jump to definition of the framework python code. That’s all you need.


    Semester:

    Same opinion as above. Great class to get started. TAs held lots of office hours so that helped. Programming assignments are easy as all the steps are basically provided within the instructions. No midterm or finals, just easy assignments. Could take you some time to get step up and running if you are not familiar with python. There is a VM provided though. May be a slight learning curve with the library, apis for those without a strong CS background


    Semester:

    The thing I liked most was that it required no group work. Everything was self directed and the assignemnts were pretty easy overall. The lectures went into pretty good detail about the content and were enjoyable to watch.


    Semester:

    I would not take this course again. I did not watch the lectures, you don’t need to. The asignments are easy but frustrating. I have taken 4 courses in OMSCS and CN was by far the easiest, and even so, the only one I almost got a B. Complete BS, it should be taken out of the curriculium.


    Semester:

    The difficulty of this course will depend on your familiarity with Python. If you are unfamiliar, you should be able to catch up with a little extra work. Only a rudimentary knowledge of networking is necessary.


    Semester:

    Easiest class I’ve ever taken. The projects didn’t require much understanding, and there were no exams. You can even get away with not watching video lectures(though I’d recommend it as they teach a lot of things, those are just not tested)


    Semester:

    Lecture videos are appropriate, but assignments are only very loosely related, and are very easy. Assignments not well organized and buggy. Only real prerequisite is a willingness to debug Python and Linux VMs. You can skip lecture videos, but I highly reccomend not doing so. The assignments themselves don’t give you much benefit without them.


    Semester:

    It was a very easy class. I didn’t know Python prior but I do have experience with Unix/Perl. You basically modify Python code and it is fairly easy to infer the syntax by the code given. It wouldn’t hurt to brush up on Python though before hand. I think it was a bit fun as well. I also liked the videos but like others, they aren’t really required for the assignments.


    Semester:

    This is a great class to take in addition to another. The videos were entertaining, and informative. Because the grade was based entirely off of projects, I found myself able to enjoy them more. I found the projects to be very easy, despite having minimal knowledge of python.


    Semester:

    The videos and course content is the easy part. What I struggled with was the programming in Python which I had never done before. I would say you need to have a basic understanding of the language to take the class since all 9 assignments require you to do some coding. You should be able to read existing code, be able to make loops, create functions, etc… After the third assignment I went to Codecademy and took their Python class which took about a week. After taking this things got slightly easier.


    Semester:

    Some Python skills and Linux skills are required. This is mainly for the troubleshooting aspects though. Directions provided in each assignment are fairly explicit so don’t be too worried if you aren’t familiar with Python or Linux. Lecture videos contain some very good background information and theory. Take advantage of your fellow students for help. If you are struggling with something, chances are others are as well.


    Semester:

    Learned relatively newer networking topics. Course assignments had us replicate and analyze research experiments (e. g. TCP Fast Open, Buffer Bloat, SDN, etc). All projects were in python, which is a class requirement. In class forums, fellow students and TAs were helpful in resolving project questions and issues. Overall, great learning experience.


    Semester:

    This class was really cool. I didn’t have any undergrad background in Networking so much of the material was new, but Nick did a great job explaining the material and I had no trouble following along. The assignments were easy for me, but I use Python as a primary language and have used *nix systems for almost all my work for the last 5 years. Basically you should be comfortable ssh’ing into a box, using the cli with emacs or vi. Using screen or tmux is going to help you alot too. Also, don’t get too hung up on trying to replicate the exact numbers that the TAs got. You just need to get the code right and then your results will be reasonable.


    Semester:

    You will take ten quizzes that were apparently written and designed by someone with a very tenuous grasp of basic networking principles, logic, and the english language. You will then be graded by some 20 year old TA that really doesn’y give a shit about any of this. And that’s basically it. You’ll get a B. I don’t think an A is possible due to the quiz questions that have no correct answer.


    Semester:

    This is the only course in which I finished with a literal 100%, not a point missed the entire time. We got ten chances on each quiz, so even though the questions were fairly vague, answer the ones you know first, then build up incrementally answering a few more on each try to see where you’re wrong. I kind of hate the quiz structure that rewards gaming like that, but given the chance, why wouldn’t you? They’re giving you free 100s if you approach it correctly.

    My experience was improved by taking this at the same time I took Prof Feamster’s SDN course on Coursera. This was by far the most interesting part of the course for me and it really hammered home all of the layers beneath Pyretic that we just kind of gloss over in the Georgia Tech course. It also gave a whole bunch of extra progamming assignments and exposure to some newer technologies that improve upon Pyretic or expand its capabilities. Overall, the course is far too easy on its own, but the material itself is very interesting and if you dig a little deeper and do some extra work on your own, you can still get just as much out of it as you get out of the more stand-alone challenging courses. Do the mininet and OpenFlow and Pyretic tutorials on each project’s website and understand what these technologies are doing, ahead of when it comes up in the course.


    Semester:

    New professor made the course better by providing interesting somewhat real-live projects and making brain teaser quizes (technically all the material needed to answer the questions is given in the video lectures, but you’d have to really ‘put it together’ to ‘get it’, or read some additional materia. Bottom line - to answer those questions you need to really understand the subject. Some people say it was easy, I thought so too afterwards, but nevertheless I did spent several ‘all nighters’ working on the projects (and so did a lot of people judging by the flood on piazza). Highly recommend.


    Semester:

    I’ll echo many of the previous Fall 2015 comments. The material itself isn’t that difficult but is interesting, at least to me since I have a software development background. However, the tests are extremely vague and confusing often covering topics that are only hinted at in the videos. The projects seem to make sense but if your code fails one of the unreleased tests, you don’t get any sort of feedback so you can’t go back and understand what you did wrong. In addition, the schedule is constantly changing as assignments and tests have been released late and grades often take 3+ weeks to be released. Overall, it’s a VERY frustrating course.