mighty-badger-6819
Edited
• 3 Credit Hours
Key adjectives used by students — color intensity reflects sentiment
mighty-badger-6819
Edited
stable-galaxy-2796
Edited
zesty-panther-1446
Edited
quick-badger-9942
Edited
calm-kestrel-5405
Edited
tranquil-cheetah-4127
Edited
golden-ferret-8833
The topic is fascinating. Network science can help to understand the properties of many real world systems. However, the programming assignments are just solving poorly worded leet code problems with an esoteric python library. It is an achievement to make such an interesting topic boring and indigestible. Luckily the textbook (networksciencebook.com) is free, so you don't have to destroy your interest in the topic via this course!
Edited
upbeat-sparrow-1756
Edited
cool-meteor-6849
A solid course which goes through graph representation through to key properties and some applications (epidemic modelling). Most of the time spent was on the five assignments, which are only moderately challenging in the weeks which require of certain algorithms from scratch. The weeks in which assignments weren't due required at most 2 hours effort. My effort averaged out to 7 hours per week and I achieved a high A (97+%)
Edited
cool-hawk-6462
Edited
As always, I have based my ratings here for difficulty and workload on manual student work excluding AI tools (When class policy excludes them). TLDR: If you want an 'Easy' A at the expense of an emotional roller coaster, feeling as if your very grade is up to chance for most of the semester, this class is for you.
I'll try to be fair and not hyperbolic here. But in all honestly, this class is an embarrassment and it has really fractured my respect for the entire program.
Quizzes account for a significant part of the total grade and they are essentially open-book. I like this in theory, but the problem is that questions are extremely poorly worded, thought through, and tested. They are clearly written by someone without the level of English necessary for their proper formulation. Quiz questions at times are empirically impossible to solve, due to either poor grammar or to edge cases the instructional team has not considered. When legitimate calls for clarification are raised on ED, they are often shot down unprofessionally. The response tends to be, to paraphrase: "Deal with it. We'll fix it with a curve later. Stop crying about it." Or just silence.
Projects, which are more like walkthroughs with unit-level challenges via jupyter notebook, account for the bulk of your final grade. For the most part they're reasonable, both in terms of raw workload and difficulty. Where it fails is, as before, with poor curriculum design and administration. Entire sections of certain assignments were unsolvable due to under-prepared notebooks, helper functions, and/or broken opaque graders. The running joke among students was to wait as late as possible to complete each assignment, to minimize time and stress wasted due to such errors. In one particular assignment, many of us received failing grades. After the shock wore off, it became clear the onus was on us to manually report the problem individually. God only knows how many graded assignments have otherwise been accepted as final and impacted final letter grades or worse. We are criticized at the program level for 'grade chasing', but now I'm starting to believe this may be a necessary practice after this experience.
The head TA was mostly responsive and professional, although showed a lack of maturity in acknowledging the well deserved feedback from students, and also in accepting responsibility for the incompetence of his subordinates, whom in many cases left entire assigned discussion threads unattended at key times.
If I could go back in time, I do not think I would take this class without a new instructional team and new materials.
I went into Network Science with a strong interest in learning more about scientific computing, and in that regard it did not disappoint. It feels like field has been heavily influenced by physics (this is the only OMSCS class where I’ve seen any differential equations pop up, for example), and it was really interesting seeing how physicists think about things and model problems mathematically. Some of the material related to percolation and phase-changes, for example, was very cool to learn about. I also really enjoy studying mathematical optimization, and that came up quite a lot in several areas, like the community detection algorithms. Overall, I think if you like applied math, this will be an interesting class for you.
One big change this semester was the addition of some machine learning sections to the last assignment, which I really appreciated. It seems like the teaching staff has been paying attention to the reviews over the years and is trying to respond to feedback and provide a better experience to students.
If you come into NetSci with a decent level of mathematical maturity, I think it’s a very gentle class. There’s a good amount of work, but the pace was manageable, and it felt like the professor and TAs really wanted us to succeed. The grading policies felt extremely generous and it wasn’t hard to get good marks on the assignments. The quizzes were challenging, but fair. I did spend more time than I expected to on the class, but I think that may have been because I was kind of burned out from having taken HPC and HPCA together the previous semester.
There were more opportunities to attend office hours every week than any other class I’ve taken so far at OMSCS, so no matter where you live in the world, if you need live support from a TA, you can find a time to talk to them.
NetSci really does feel like a broad survey, and since the field of network science is covered from many different angles, none of the assignments feels like a super deep dive into any particular topic, so they can feel a little bit unsatisfying compared with the projects from some other classes in the program. The feeling of accomplishment I got from coding up a working convolutional network from scratch in DL, for example, was just not here. On the other hand, none of the assignments was terrible, and I mostly enjoyed working on them.
Overall NetSci was a good introduction to a field that I knew very little about, and it built a solid foundation for future study.
Very simple class that can be combined with others.
In the summer, there were 14 quizzes, mostly weekly but sometimes 2x a week. These were 35% of the grade and, despite being open notes, could get rather tricky.
There were also 5 assignments, with the lowest score dropped. I didn't even attempt the final assignment because I had an A secured with the first 4 assignments. I thought these were all quite straightforward, and the only difficulty was coming up with appropriate test cases since there is no autograder.
The subject matter itself is pretty interesting but overall not presented well. The majority of the class is just text pages on Canvas in the most non-user-friendly way possible. The worst are the videos, during which the professor mumbles incoherently is his thick accent. I would rather those videos just be converted to text. You will roll your eyes every time a video pops up on a lecture slide.
Overall, I'd give this class a 3/5 rating - it's just okay. It could be better with autograded assignments, fewer weekly quizzes and improved lectures.
Took this in Summer 2025, and it was a super manageable over summer. Each week there was 1-2 open book un-timed quizzes and every other week there was a jupyter notebook homework assignment. The lowest quiz grade and assignment were dropped. The quizzes were pretty easy if you were following/reading the course material and the homework assignments were mostly just using the networkx library to find properties of networks. Each homework assignment took maybe 10 hours max to finish.
I found the material really interesting, but most of my learning came from reading the textbook (it's available for free online Network Science by Albert Barabasi). The homework assignments didn't really provided any extra insights into the material and felt more like python leetcode problems. There were some issues with homework assignments needing to be updated after being posted and the autograder incorrectly deducting points but the TAs were really reasonable and adjusted assignment specifications/helped with regrades whenever necessary.
Overall a pretty good low intensity summer course. Could probably skip it and just read the textbook online if you're interested in the material and dont want to take up a course spot.
There's 5 projects and 14 quizzes. The lowest project grade and lowest 2 quiz grades get dropped. Definitely enjoyed taking this during the summer as you could time these and go on a vacation during the summer semester.
I can definitely see why some people dislike the class as it seems like a networking class from a very cursory glance. However, in this case, networks = graphs. I personally found it very fun as I enjoy algorithm classes. Definitely recommend this class for other students who enjoy algorithm classes and want an easy summer.
Being my first exposure to networks and graphs, this was highly informative and useful. Perhaps there are better courses out there but I am unable to compare. Somewhat heavy on the math side, especially for some of the final questions on the 5 assignments. The programming aspect was not terribly difficult but due to my limited background in netowrks and graph theory, it may have taken me longer that others to graps what my code had to do, but thereafter, the development was fairly routine. We did have to make use of some specific Python libraries that don't really have any application outside of network science, but the functions are well documented with descent examples of how to use them. Sometimes TAs were absent especially at crucial times as the assignment deadlines drew near, but my experience has been that they are for the most part helpful, willing to review your code and give you hints if you're on the wrong path. The video lectures are important for doing the weekly quizzes, so you really should follow them in detail and make notes so you can refer back to them during the quizzes. I would recommend this course especially if this is your first exposure to network science and graph theory. The time I devoted may be longer than what others have posted but again, this was new materil for me and required some extra time and dedication.
Warning to students without DA/DS background, this course will be a nightmare for students coming from CS background.
It is really time consuming even for the quiz, most of quiz questions are like "gotcha" type of questions, and when you think one question' has a wrong typo or statement which is created on purpose to "gotcha" so you choose "False", surprisingly the answer is True and you lose, then TA refused to explain unless you go to office hours.
You would spend days to complete assignments without knowing if you did it correctly, since there is no example or clear directions unless you go to office hours, and a minor mistake might cost you a lot (TA dependent though), e.g. I asked on ED which value of XXX parameter should be, TA answered "you have to find it by yourself", I then used the a library function to determine that value and did a lot of work to complete that section, then TA came back with "wrong value of XXX' and took all points away for that whole section.
That might just be one single TA though, overall the grading was lenient especially towards the end of the semester, I had to say that they are trying really hard to let you pass with an A, by lowering the threshold to 85, providing extra points for completing survey, etc. But just not by improving the lecture and teaching it correctly.
There is no chance to debug your answers, we do not know the right answer even after the assignment grade is released, and even if they provide answers, who would want to go back to review and reflect after completing such long assignments and got exhausted? So you might end up forgetting everything quickly. So unless you really like the contents, do not torture yourself and waste your time.
In summary, you will get an A, but you had to spend a lot time on things like clarifications of assignments, you have no chance to improve during or after completion of assignments, you would end up learning extremely little unless you really like the subject and go extra miles by yourself.
I thought this course was solid. Seeing a lot of mixed reviews, I think your experience really depends on your background and what you're hoping to get out of this course. I would avoid if the following apply to you:
You strongly prefer video lectures - this course's lectures are heavily text based
You lack the math/probability background - the lectures are very math based and although it's not essential to follow the derivations of the formulas from lecture, having at least some background is useful for understanding and applying the formulas in quizzes/assignments
You're interested in modeling - this is not a network modeling course but instead is more an introduction to key concepts and properties in networks. Modeling is covered lightly in the last few weeks
Overall, I thought the material was interesting and the course wasn't too demanding. The text based lectures were pretty good at explaining the material concisely and although there were technically required readings, I was able to get by without doing them other than having to reference them for quiz questions here and there.
Time commitment in this course can also heavily vary depending on what you hope to get out of it. Weekly quizzes (~6-7 MC questions) are worth 35% of your grade and can certainly be tough, especially the last few weeks of the course. I didn't think this was a bad thing because it forces you to really understand the material and is probably preferable to exams worth a large portion of your grade, but you certainly have to think heavily through some of the questions. As mentioned before, I was mostly able to get by with the quizzes by just referring to the lecture material, so the time commitment wasn't much, but I also believed the knowledge I gained was super surface level. If you want to get more out of this class, they reference plenty of reading material and food for thought questions, but your time commitment will significantly increase.
The other 65% of your grade comes from 5 python based assignments which mainly consist of applying the material on real data. The questions aren't particularly difficult although you may need to clarify with TAs to fully understand what they're looking for. The most difficult ones were when they make you code algorithms/formulas from scratch, which I think happens 2 or 3 times. My biggest frustration with these was that they had very specific instructions regarding the plots, and my background in matplotlib was weak, so I spent a disproportionate amount of time perfecting my plots over anything else. Background with lists, sets, and dictionaries in python will also be very helpful. The TAs were mostly helpful in clarifying questions for the assignments, but as other reviews have mentioned, it could take a couple days to get a response so starting early is key for that. Fortunately, I found that these were graded very leniently, and the time commitment is reasonable if you spread it out responsibly over the two weeks you're given to do them
In summary, I think the course has interesting material that's well explained as far as text based lectures go, and it gives you some foundation in the novel field of network science. Depending on your point of view, it's both a good and bad thing that you could get an A in this course without devoting too much time, but you certainly get out what you put in. I also felt the lectures were kind of disjointed, which made it easy to forget materials from previous weeks. This course may or may not be for you, but I think the negative reviews are overreactions as it's solidly run - you just need to know how it operates and what it covers before taking it