CS-7280 - Network Science

Search for a Course:

    NS
    Toggle to Select Spcific Semesters

    Reviews


    Semester:

    I strongly recommend Network Science. This is a math-heavy course with some scientific computing (primarily using linear algebra and some graph-specific algorithms). The staff is comprised of the professor along with an army of TAs, who hold regular office hours and are active on the forums.

    I did not finish the class due to changes in my personal situation, but will be re-taking the class in Summer 2022. I completed 3 assignments, so I do have a fair idea about the class.

    The math is not difficult per-se, but the biggest challenge I faced was setting up the problem using the right set of assumptions and principles, which would allow for a solution. The actual solution itself involves undergraduate-level probability, statistics, and linear algebra and is fairly straightforward once you get into the details.

    That being said, you don’t need to wrestle with the math if you don’t want to. This is a course where you can get an A while focusing on the definitions of various metrics, building an intuitive understanding of how they behave and how they should be used, and solving the assignment questions.

    The math becomes harder as you get further into the subject. If you are the type who likes to understand things thoroughly, this will mean that you need to spend more and more time as you progress in the course. This is a synchronous course (the lectures of future modules are locked so you can’t work ahead), but you can still cover the subject matter by studying ahead using the online network science book.

    The grading was generous and the TAs usually give you the benefit of the doubt. I consistently scored 10-15 points higher than I should have, under a more strict grading policy. In one instance, I wrote a recursive function to find network motifs but made a very stupid error which resulted in massive double counting. 2 TAs had a look at my solution and in the end they deducted only a few points since the approach I was taking was correct. They didn’t zero in on the bug in my code, since they have a lot of papers to grade, but they did do the due diligence (including pulling in a second TA) to check that my understanding was correct and there weren’t any major problems in my code.

    The professor also gave us an extension for the deadline of one of the submissions when war broke out in Ukraine, recognizing that it was a stressful situation for everyone. I was really impressed by this act of generosity and understanding.

    Network Science is a multi-disciplinary subject. You’ll read about examples from biology, medicine, computer science, and sociology. I think this provides a nice change of pace from the usual CS courses where you only deal with computing topics. The downside is that it becomes a survey course and you might find it hard to imagine how to apply the topics you learnt.


    Semester:

    This was my 8th course in the program and it felt much more like a math class than a programming one. Projects involve a token amount of python knowledge (use this library, transcribe this equation, make a chart, etc) but the meat of the course is mathematical graph theory.

    Grades are split between weekly quizzes and 5 projects. The projects take a decent amount of time to work through but if you start early they are certainly manageable. As frustrating as they could be at times they were clearly well designed to slowly drag knowledge out of you. Each one is structured so that it will steadily poke and prod you further and further down a path of something new to learn. At the end of each I was usually exhausted, but definitely smarter.

    My main gripe are the weekly quizzes. They make up a third of your final grade and are the most nit-picky, tedious things I have done in this entire program. They’re open note/internet and you don’t even have to use Honorlock but time and time again I would spend a hour grinding away at them only to be rewarded with a 60 or 70 since each quiz has only 5-6 questions and getting one wrong is a huge hit.

    Lectures were just textual summaries of the required reading with the occasional video strewn about. Some people prefer that, some don’t. I’d be fine with it if they felt more relevant. When it came time to do the weekly quiz it always seemed like 2/3s or more of the content wasn’t actually from the lectures, instead relying on you doing further research on your own.

    All in all I would say if you’re planning on taking this course you should pay very close attention to the introductory quiz that the professor offers as a way to test your preparedness. Unless you are very comfortable with everything that it covers you are going to suffer.


    Semester:

    Great course

    I found this course to be an informative and interactive course.

    Pros:

    • Well structured
    • Assignments are practical and gives a lot of ideas of real-world scenarios
    • Opens a whole new field of computer science that isn’t very common
    • Quizzess every week and assignments keeps you on track

    Cons:

    • There are a lot of content that’s not explained in videos

    I would have hoped for a project at the end that covers a lot of the concepts that have been mentioned in the syllabus with a real-world example. I feel I need to spend some time thinking on how to apply the concepts to problems that we face.

    Overall: Great experience


    Semester:

    My background: ISYE undergrad with many prob/stats and ops research courses, likely a strong background for this class.

    Summary

    Overall networks are a fascinating field, this class did a good job on introducing the theory, but fell short on providing more critical thinking and prescriptive analysis type projects. The whole “given our networks theory and data, how can we leverage that to make better design decisions” was missing. The assignments were quite tunnel vision: compute this metric, generate a graph using this method, find communities using this method, etc. There was a tiny bit of this on the who would you vaccinate part, but absent elsewhere. At least the theory is rigorous, and I learned how to use networkx well though so that is a plus.

    Lectures

    Lectures are good but not great, some annoying ego in them like “it is not hard to show that insert some math thing”, which sometimes leads to making pretty big jumps in derivations that took a while to follow.

    Workload

    Workload wise the first few weeks are higher to find your groove. Then once you settle in its about 2-3 hours for the lecture material, .5-1.5 hr for the quiz, and 12-15 hrs per assignment. With an assignment every 3 weeks, this comes out to around 10 hours per week. Note I read about half the textbook but not many of the extra papers.

    Quizzes

    The quizzes definitely are pretty nitpicky, especially early on, but they aren’t unfair. Think of it as a game to find the catch or statement that is untrue. They definitely make you think deeply about each question which is what you should be doing if you’re in grad school. Get your pencil and paper out to go step by step if needs be, or verify by coding up in networkx. Averaging an A on them took some focus but is feasible.

    Assignments

    The assignments are poorly written and often require some correction/clarification by the TA’s. This hopefully will get better and better as the semesters go on. There are nice piazza threads for each sub question in the hw that usually clear things up well. Be sure to read those to see if there is something they’re looking for that may have been vaguely asked for in the assignment.

    Grades

    For grades I have a low A with the last project still to be graded. I missed a bunch of points with no partial credit due to an equation being slightly off on a question in the 3rd assignment. The rubric definitely could have been better there.

    Conclusion

    Overall if you are interested in network science this course is still worth taking, if you are just looking for a fun elective maybe steer clear as this course has its organizational hassles. Also steer clear if you either don’t have a strong prob/stats background or don’t want to put extra effort to learning as you go.


    Semester:

    This was my 10th class. It is not nearly as demanding as some of the big dogs in the program (e.g., AL/ML/RL/DL – which by the way are all must takes if you are interested in machine learning), but is a great elective course, especially for those in the ML spec. It is hard not to appreciate how important network science is in the modern world of social networks and pandemic networks, and the subject matter alone makes this course worth taking.

    This time around, I’m going to provide a very functional review.

    Note: the below workload numbers assume you have the adequate background for a Masters in computer science, you are motivated enough to focus properly, and you don’t have a learning disability. Modify the numbers as appropriate for your individual case.

    5 Hours / Week: “I’m okay with a B”

    Congratulations! You’re the typical OMSCS student who can namedrop some terminology but doesn’t really understand the material you just “learned”, and wouldn’t be able to apply it to a job or on an interview.

    10 Hours / Week: “I must get an A”

    It’s about 5 hours/week to do due diligence to the lectures/slides so that you can do well on the quizzes. It’s another 5 hours/week to present respectable assignments. Note that assignments are due roughly once every 3 weeks. You will probably make use of the multitude of annoying classmates who need their hands held and ask the TAs for clarification on every step of the assignment. Or you will be one of those people.

    15 Hours / Week: “I really like Network Science!”

    You make an effort to really understand the assignments and provide a polished output. You also put effort into working through the derivations of formulas in the slides (there are a lot of these) as well as doing all the required non-Canvas reading.

    20+ Hours / Week: “Teach me everything there is to know about this amazing new field!”

    In addition to all that is in the above category, you do the supplemental readings and also ponder the “food for thought” questions inside the lectures.

    In an ideal world, where transcript grades actually mattered, the top category would get Cs, the 2nd category Bs, the third category As, and the truly worthy would get A+s, but alas, things are what they are.

    I have a suggestion to make the course better: condense the schedule of the assignments, which aren’t very difficult, and add a final assignment/solo-project that utilizes the final module of the course, machine learning, which currently is not part of any of the assignments. ML is integral in modern network science and including a project that utilizes it would be an exciting addition to the course. This would make the course more challenging and bring the workload numbers up a bit, more in line with the heavy hitters in the program

    Final note: the difficulty assigned to this review assumes you’re in the “must get an A” category since I think that calibrates best with what people expect in these reviews.

    If anyone has any questions about the course, or the ML spec in general, feel free to email me at omscs_burner@yahoo.com.


    Semester:

    The course mentions no prerequisite, but I think it definitely needs know-how of statistics and machine learning.

    The course is not inclusive of attendees who come from computing system background because lectures presume a lot.

    The piazza comments by TAs are usually ambiguous and did not helped resolve or understand the main question most of the time. The wordings of the assignments are not clarified well. We have to always rely on student discussions on the Piazza.

    So there is no use of starting the assignments early.

    Lectures are text-only summary of required readings.

    The evaluation in quizzes is not from the lectures 90% of the time.

    Links in the lecture are not verified, few of which do not work or require subscriptions to access.


    Semester:

    I was really excited about this course coming in but found it pretty lacking.

    The topic itself is very interesting and network science is a relatively new field in CS, so that is fun to learn about. However, despite network science explicitly being an application of various fields to the study of real-world networks, the projects and quizzes feel very impractical and not useful. I don’t see any scenario where this course will help me outside of pure curiosity. The one exception in my mind would be if you are planning to study this field for say a PhD.

    The course itself is very light. There are weekly quizzes which can take anywhere from 15-60 minutes, and a project due every three weeks. The projects can be done in a single weekend and usually involve just googling the relevant information to then implement in Python.


    Semester:

    As the previous reviews noted, prof. Dovrolis is very much involved in the course, enthusiastic about the material and invests considerable time and effort in interacting with students and promoting the learning. The material itself is mostly interesting, in particular applications of the graph theory and some related network analysis algorithms. I thought it was a nice course with some advanced topics being discussed.

    The TA-s are mostly involved, there were occasional misses (including some rare cases where answers on Piazza which could confuse into an incorrect quiz answer), and some questions on Piazza could be seen hanging for some time, but mostly the TA support was rather solid.

    Logistics wise, a lot of complaints can be seen on the quizzes, but I think those should be taken with a balanced view. Granted, the quizzes were hard, with occasional questions worded in a tricky way - but I can’t say it was the general flow. FWIW, out of 14 quizzes, I got a full score only once, with average quiz grade before the final adjustment being just above 80%, and I did find it annoying more than once to receive a zero score on question where I marked 3 out of 4 T/F options correctly, and there have been occasional ambiguities (as well as regrades following discussions). However, the quizzes did require reviewing and thinking over the material and they did test the understanding. Generally, each quiz had 6-7 questions, some multiple choice, with one or two easy and some really hard, and like I said, almost every quiz tripped me with something.

    You need to consider that the quizzes are open, un-timed, there are no other exams of any sort, two lower grades were dropped and the grade cut-offs, at least as described by the professor, were several points below the usual 90/80/etc cut-offs. Add to that the fact that the lower homework grade was dropped (maybe because it was the Summer term - it seemed way too generous), then I can see the point of the quizzes (35% of the grade) being hard, to push things and to help learning (which they did).

    The homework (projects - 5 of those) were nice, the programming (python/networkx/matplotlib plotting) being relatively easy, but they did consume time (for me there was also matplotlib/seaborn learning curve, which was nice). Numpy knowledge is beneficial. The homework included not just dry programming but also some theoretical questions, as well as understanding how to better plot and present the data for analysis and explanation. There were some occasional ambiguities in the homework as well, but I don’t think there was any point of unfair grading WRT anything. I didn’t get 100-s on all of the assignments, but getting an average of well above 90 I would not consider difficult with effort spent, and those are the other 65% of the grade.

    Jupyter notebooks are not everyone’s cup of tea, so I just did and debugged the assignment parts in Pycharm and then moved to the notebook. The notebooks have some advantages, e.g. for isolating occasional long-running parts, to get the data, and then working separately on better plotting/analysis etc. For theoretical answers with math (not that much at all, really) I did use Latex there - nothing substantial, especially if you have survived the CP midterm report.

    Re required readings - I did have time limitations during the term so I skimmed most of the book (some quizzes do occasionally require looking it up - but it’s online and free). Neither did I go deep into any of the papers (saved them for later). Just because I allowed that slack doesn’t mean it was a good thing to do, but it did not prevent getting a good grade (before any grades or letter grade level cut-off dropped). So it’s all very much doable - the return (i.e. the depth of understanding) would be in proportion to investment. As a background, I’m by far not a graph theory or (especially) machine learning specialist.

    This was my 6th course. It has left a nice feeling, glad I took it in the summer.


    Semester:

    Prof Dovrolis is amazing, one of the most actively involved prof among all the courses I have taken (this was my 9th). He conducts office hours while taking questions from the students and goes into immense detail to explain the concepts.

    Do not take this course if

    • you do not truly understand advanced mathematics algebraic equations and can then translate those into python code without any boilerplate code.

    • you will not really read (not just skim) and synthesize the content in Network Science (Barabasi) book. You will fail miserably in the open book quizzes.

    Syllabus and Lectures

    • Network Science is a very interesting topic and the syllabus contains exhaustive details if one can devour it (I found it really daunting for a summer semester).

    • Video lectures are less than 5% of the actual syllabus so consider near to nothing. It is really hard to consume endless hours (book, exhaustive slides, papers) of text where a minor word if missed can cost of in the quiz.

    Assignments

    I took the course hoping that most of the work will be based on the NetworkX library but I was wrong. The assignments are not straightforward and I observed the wording of assignments specifically ambiguous. There were numerous corrections while you were actively working on an assignment, though TAs were lenient to let you off if you missed late corrections in the assignment.

    Quizzes

    Quizzes were the hardest ever I have faced even though these were open book. The quizzes are employing wordplay and pick on edge cases that you may not encounter anywhere in the book or lectures. It is really hard to score more than 70% on average.

    TAs

    TAs were an amazing team with all continuously being active on the piazza. Mario Wijaya deserves a shout-out for tirelessly answering piazza questions.

    I got an A with the curve (2 quizzes dropped, 1 assignment dropped from grading).


    Semester:

    I took the course because I really wanted to and I truly desired to love it, but I didn’t. The content is good. The book is well-written. It just felt like I didn’t actually get to focus on learning the network science part.

    I hated the quizzes. They felt pedantic and definitely contributed to my feeling that I wasn’t focused on the valuable takeaways from the content. I’d rather have 25 questions that reinforced the learning instead of hunting down some miniscule details for 6, then worry about wording quirks or edge cases that inevitably blow up your answer.

    The assignments were not super difficult, but parsing out each requirement from the requirements doc was more difficult than I think it should be. I started to go through and individually highlight every sentence as I completed a requirement after missing a couple dumb things early.

    Some people will complain that they didn’t get to implement specific things (e.g. centrality, whatever) and I suppose that’s valid. I personally wanted to just focus on what the concepts were and learn how/when to apply them, so I didn’t mind.

    I found the pace of the course to be pretty intense during summer because I’m a try-hard. They didn’t drop any material (though he did curve) and I treated it like there wouldn’t be a curve.

    This was my first class where I actually logged everything I did in a google sheet and my workload is 100% accurate. You may find yourself worrying less about quizzes (which i spent hours on each week) or maybe taking less verbose notes than me (again, hours each week). I could see someone getting through with a 10-15 hour workload.

    Dr. D is awesome. The office hours were scheduled, reliable, and informative. The TAs did a bang up job, too. If I had to complain about anything, I’d say that some feedback on assignments was too vague to help you actually learn what you did wrong and fix it.

    I got an A without the curve and a much better A with it.


    Semester:

    This course provides a theoretical base for several things we see in the world around us. It will definitely influence how you see things from office interactions, traffic, diseases, to characters in books and movies etc. All with a very strong mathematical base. While it’s far from polished, it does offer a great deal of learning points.

    The main text book, is called Network Science by Albert-László Barabási and is available online. It’s worth perusing before starting the course, but it lacks a bit in terms of clarity, as well as using obscure mathematical notations at times. The other book that features heavily is Networks, Crowds, and Markets by David Easley and Jon Kleinberg, and this is a much better read. However, the textbook content is generally summarised in the lectures which are about 90% slides - 10% videos. This slide-heavy format is a deviation from OMS, but I found it rather refreshing to be able to read bits and pieces here and there instead of having to devote blocks of time to consuming videos.

    A lot of the workload for this course was in the required readings and the 14 quizzes. Though open-book the quizzes were particularly tricky, with class means generally falling between 75 and 80%.

    The 5 projects were generally doable in a couple of days, though I personally found stretching them out over a week or so allowed the material to sink in better. The projects are all with Jupyter notebooks and require decent Python Knowledge with topics like list and dict comprehension, Matplolib, and basic Numpy featuring heavily.

    The TAs are very helpful and are active on Piazza and on the slack channel.

    Prof Dovrolis will probably one of the kindest people you’ll ever interact with during the course of this program. He really invests himself in helping students succeed.


    Semester:

    This course offers a pretty good introduction to basics and applications of network sciences. I thoroughly enjoyed the subject, and am very interested in learning more.

    The lessons are pretty thorough, and mirror the material in the textbooks, both of which are free.

    The pace over the summer is pretty fast, but if you’re consistent, it’s not bad. You may get burned out and frustrated at times, or often, though.

    The class tries to cover a lot of fundamental topics, so unfortunately there isn’t a lot of depth. You will ultimately learn some very interesting fundamentals, though.

    You should have a basic college algebra / calculus background as well as some familiarity with python. You will develop some skill using networkx, matplotlib, and a bit of numpy in this class.

    The projects are pretty straightforward, but grading is a bit slow and assessments seem somewhat subjective. Later quizzes demand considerable time scouring papers and trying to piece together formulas. I never felt fully confident on quizzes, even when I ended up doing well.

    The professor and TA’s are all very considerate and helpful. TA’s were always active on Piazza. I enjoyed trying to help out in answering questions on Piazza, and the TA’s and instructor were quite supportive.

    Pros:

    • Very interesting subject, wide relevance.
    • Teacher / TAs are involved and responsive. TA’s and professor are open and respond to students, revising and amending material when necessary.
    • Quizzes are open-everything, no time limit (other than due date).
    • Projects are python-based Jupyter notebooks, mostly using networkx, scipy, and plots.
    • Formulas are derived from basic principles using statistics and calculus.
    • Lots of course materials and documents / papers available for this subject area.
    • Lessons are mostly presentation slides and not traditional videos. The presentations are a great summary of the main ideas, which are not easily available in video-based classes.
    • Professor Dovrolis is one of the kindest people you will encounter.

    Cons:

    • Project grading is somewhat slow for a relatively small class.
    • Lots of reading: texts and papers. You really need to read the papers to do better than average on the quizzes.
    • No test case / feedback on projects, leads to uncertainty, although Piazza is used extensively to clarify questions.
    • Quizzes often have at least one question (including multiple-answer multiple choice questions) that can be pretty tricky. Choices are sometimes not clear. Quizzes get more difficult toward the end of the semester. They are also self-graded on Canvas, where only limited partial credit is given.
    • Most of the lectures and videos are pulled from reading material. While this is useful for a summary, it would be helpful if presentations were extended.
    • Projects are fairly basic applications of concepts and don’t require a lot of interpretation or investigation.
    • Some hyperlinks in presentations are dead or outdated. Some quiz responses were arguably incorrect. These cases were fairly rare, but there was evidence that a course in its second semester is still growing.

    Overall:

    I would recommend this class. The projects are easy (almost too easy, mostly acquiring and applying the correct networkx functions), but the quizzes are challenging (in depth questions require solid understanding of formulas and doing related reading). The breadth of material is fairly vast, but this comes at the expense of depth and application. I think the course is still going through some growing pains in its second semester, but the material is very interesting and there are enough challenges to keep you busy. The small class size is an added bonus.


    Semester:

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

    Overall, I did not enjoy this course at all. I ended up withdrawing from it after 15 days (after giving three quizzes, partially working on pr1 and pr2).

    I felt there were two reasons I did not do so well in the course.

    First, to be honest I was horribly under prepared. I loved linear algebra, calculus and statistics in my undergrad! Linear algebra was one of the courses I was able to score a 100 on in an exam. This was 12 years ago though. I thought I’ll be able to catch up on old things quickly, but I was wrong. Between a full time job, revising old concepts and keeping up with course deliverables, I just couldn’t carry on. I scored 9/13 in the assessment quiz but had difficulty going through it, so please take that quiz seriously! I did not study graph theory in my undergrad and I felt a bit more familiarity with it would have helped.

    Second, the way course material is presented can do with a lot of improvement in my opinion. There are no video lectures (which is not a deal breaker for me) but the written slides/pages are VERY concise (emphasis on the word VERY). In most cases, the instructor just introduces a concept in those slides and leaves bulk of the things for you to read up on our own. I actually ended up watching a ton of youtube videos on related concepts and reading a lot of material online in addition to the required readings.

    I did not have enough time in the course to say anything about the professor. He was fairly active on piazza. Same goes for the TA team. The course had no exams. 35% open book quizzes and 65% projects (jupyter notebook, numpy etc.). Summer 2021 semester started off pretty hectic. We had two quizzes due on the first weekend and project 1 due on the next Wednesday. Looking ahead, there were quizzes due every weekend and projects every two to three weeks.

    In summary, my experience with the course was not pleasant. If you have a good command of graph theory, statistics, linear algebra and probability, you will likely enjoy this course and get a lot out of it. Otherwise, be prepared to work hard. You may also be able to get by if you don’t have the urge to dig deeper and really understand the material.


    Semester:

    Overall, the course content is interesting and fun. You may learn a lot about the properties of different networks, not just computer networks, but also social networks, traffic networks, and so on. This is a fairly new branch of computer science and already has a great deal of practical application.

    This class is offered for the first time during a difficult time so the expectation cannot be set too high. The course materials are delivered in a mixed format (mainly text and some videos). But I have to say that it doesn’t mean that the content is not structured well. Actually, for me, it’s easier to focus when reading well-summarized course materials than watching videos.

    There are weekly quizzes and 5 projects. Projects very related to the topics taught and will take 10 - 15 hrs each on average. They won’t be too difficult if you are familiar with Python and have undergrad-level statistics knowledge, which is one of the prerequisites of the course. Quizzes are quite challenging and you will need to understand the concepts really well to get good scores but the lowest scores get dropped (at least for this semester). You don’t really have to worry too much about the grade if you spend enough time.

    TAs are helpful and active and professor Dovrolis is super nice and very enthusiastic about motivating students to learn and improving this course.


    Semester:

    The course is consisted of weekly quiz (14 of them) and 5 projects. There are no exams. For the quiz, I do not know why I studied the course materials well but still received some low scores. The quiz definitely requires some deep understanding of course concepts. The projects are always poorly worded and students need to ask many questions for clarifications. The feedbacks of projects are extremely slow, usually two weeks right before the due of the next project. The TAs do not provide sample solutions. So I just know where I lost points, but do not know how to correct them. So basically I did not learn anything from my mistakes. TAs are not quite interactive on Piazza. It usually takes some time for them to answer questions.


    Semester:

    not a fan of the all reading no video bit. It was manageable, but not a very good learning experience. Quizzes were very frustrated. It seems the more time I put on the materials the lower grade I got. Very hard to get full points. Projects were ok, but not very interesting. Grading was a bit slow and there was no formal regrading process.


    Semester:

    I really enjoyed this class.

    It was easier compared to my other late program courses, this was my 9th/10th (took with GA).

    It is a survey course. It covers a huge variety of terrain in the field, which is new. The mathematics are non-trivial, but a general comprehension seems sufficient.

    Weekly quizzes, open everything, unproctored, non-trivial, questions are maybe 70% straight from the material. 30% are inference questions applying concepts from the material. My average for quizzes was about 75%, which was above the mean.

    Programming assignments are non-trivial, and the majority of the workload. I was thorough and curious, I believe I’m a decent Python coder but I wanted my code to be clean and sensible and efficient.

    Most lectures are reading assignments. There is a good deal of reading material for each weekly chapter; however, I did not note that any of the quizzes were from the readings. I proposed this as a change to the instructors (sorry, later classes). You get out of this class what you put into it.

    My clocked time was 12 hours per week. At the end of the semester I skipped most of the readings and knowledge checks (do not contribute to the grade), to concentrate on GA. I learned less, as a result.

    I wish I had taken this class earlier in the program. I’d love to study NS in more depth.


    Semester:

    I really don’t like how this course is taught. There are very few videos(almost no real videos) to watch, but mostly reading materials that basically summarized from an online book. I only speak for myself, but the whole point of taking a class is to not only learn from books, but also pick the instructor’s mind on how we process and understand this area of knowledge, otherwise I might as well just read the book myself. I didn’t see any videos in the beginning, and was glad that someone brought this up during professor’s office hour, hoping it would change in the future sections or at least explain more on the math during office hours. But, it did not change and the professor somehow cancelled his office hours right after, saying that he didn’t find the office hour to be effective.

    Besides that, you can’t download the materials or the slides. You have to scroll them page by page on canvas which is really annoying. I end up printing the pages but still a very annoying process cuz there were so many pages. When students asked about downloading the materials, the answer they got was “I am afraid that currently we don’t have a slide version of the course material”. I don’t think I learned a lot from the course material. I had to search everywhere to have more understanding for the quizzes and assignments.

    Speaking of the quizzes, they are open everything with no time limit, but really really tricky. I found most of the wording to be very ambiguous, I had to guess what the question was actually asking about. And the assignments were not any better, instructions were not very clear and not well-defined. I started early in the first assignment, but end up changing a lot of things before the deadline because there were so many clarifications needed in order to complete it. I ended up starting my later 4 assignments just 2 days before the deadline so that I can just read from others questions on Piazza, and don’t have to wait for responses.

    Only good thing is that this course doesn’t have exams and TAs are pretty active on Piazza. Honestly, I came to this class having a lot of interests in network science, but now I don’t think I want to dig in any further.


    Semester:

    The course content is very interesting but I think the course is not ready to be published online.

    In the course website they said “Students will first watch (online) the video of the lecture on their own Then, on Thursday, we will have a BlueJeans session to go through exercises”

    First week I didn’t see any videos and most of the material was just reading, so I thought maybe the Professor would walk through the material via BlueJeans but he didn’t and after two weeks he cancelled his session !!!

    The videos cover only less than 5% of the total material and the remaining 95% is just reading and didn’t really contribute to my understanding. So, I ended up searching elsewhere to learn then come back to read the lectures and then take the quiz.

    Most of the course is summary for “The network science book” http://networksciencebook.com/

    In terms of Piazza, the TAs are very polite and helpful in answering our questions about the assignments.

    My final recommendation is to wait and not enroll in this course until they create videos for the whole material.


    Semester:

    If you go into this class thinking that you will be programming these algorithms from scratch, you are mistaken. This course is a survey course that does a good job of introducing students to the concepts of network science, without exposing them to the meat of the algorithms involved. If you want to delve deep into implementing the algorithms, skip this class.

    Given that this course is new I am only going to comment on how the class is structured and the material presented, not things being worked out due to a new course.

    The class has two parts, the quizzes and the projects.

    Quizes: Pros: Comprehensive, and make you work to get that high grade. Cons: Factoid hunt that can depend on the quality of the material presented. The lectures and main text book very obvious written by someone who hasn’t had a rigorous math or engineering background, lack of consistency or concise statements is frustrating. Quiz questions often hinge upon a must, may, or only statement. There are many pick all that are true or false that are also frustrating. I get this is a replacement for having a midterm and final, but I want something that’s not a fact hunt, it feels like nothing stuck.

    Projects: Pros: You learn Networkx Cons: Data sets are uninteresting, and you have very little idea if your final results are correct.

    I would let this class have a few more iterations before you give it a try, I think it could be more enjoyable if improved.


    Semester:

    The class is pretty well structured. Every week you have a quiz (without fail) and every fortnight you have coding assignment (grade weight 35:65 respectively). Quiz are open book, open internet , un-proctored, you can do it in many sittings , can refer to course material. They are pretty comprehensive and not easy. average class score on quiz is around 70-75%. Each week’s Material is divided into 12-15 lectures. Each lecture is not just a slide ( as mentioned in some reviews) but a full topic in itself. You can say a “text book page” worth of information. Which has examples, mathematical derivation, diagrams, analytical meaning of equations. I take notes too, so it takes around 2-3 hours for that.

    Projects are fun. All in python and require you to play with given dataset using existing libraries ( average class score is 85-89%). This takes around 8-10 hours to finish. Good hands-on python is required. Some knowledge of statistical tests can be helpful.

    TA’s have some unknown (to us) rubrics based on which they grade. Grade structure is not defined. The professor said, he has some cutoff in mind for A,B,C but wont disclose. So we dont know yet what grades we are getting and just trying to do our best.

    I’ll say this is very rich and interesting class. Probably one of the best for OMSCS in terms for learning, structure. The material is not difficult but the class structure keeps you involved thoroughly. Examples are picked from real wold as well as text books. This is kind of class which fascinates masters student to ponder if they want to write a thesis/research on the subject. Phew! TA and professor are active on piazza. I’ll rate this class highly.


    Semester:

    Great class. As the previous reviewers said, the material is very interesting. Lectures do a great job of connecting theory to real-world scenarios. Sets the bar for the rest of OMSCS. Instructor and TA team are both great and the class is very well run considering it’s the first semester offered online. Piazza isn’t super active but it’s a smaller class.

    Calculus, statistics, probability, linear algebra, and python are hard prerequisites for the course (you should take the prereq quiz seriously). If you don’t have a good background with these you will struggle or worse miss out on a lot of the richness of the material. Experience with numpy scipy and matplotlib will help save a lot of time (I struggled here and probably spent more time than most on the assignments). Quizzes aren’t a walk in the park but definitely not unfair and require you think about the material. For the motivated you could easily spend another 10+ hours a week reading papers and working on “food for thought” (ungraded) exercises in the lecture notes that are both very interesting and help solidify your understanding of the material.


    Semester:

    Reviewing the course halfway: Course offers a breadth of material covering the Network Science Book by Barabasi. Consists of only quizzes and projects. Quizzes are straight forward as they are open book and are most of the time directly from the course material. Projects are interesting and cover the use of NetworkX library in Python.


    Semester:

    I’m reviewing this class half way through because registration is coming up and it’s a new class w/o any reviews yet. I’ll update after it’s over if anything changes.

    Overall, there isn’t much work for this class. Grade is broken down as 35% quizzes and 65% projects.

    There are weekly required readings and recommended readings. I do all the required readings and take detailed notes and it takes me about 2 hours a week. (I only do some of the recommended readings). Personally, I do the readings before the modules because they are more detailed.

    Weekly modules are basically just reading slides, and the slide are pretty much just a summary of the reading. The graphs and figures are straight out of the book. There are pretty much no lectures. You get a min. long video introduction at the start of each module, which is just the professor reading the intro slide of what you’re going to learn in the module. Then you go through the slides yourself. Occasionally there will be a one or two minute video example in one of the (15 - 20) slides, but some modules had none. I can get through the modules in about 2 hours (again, I am a notetaker.)

    There are weekly quizzes, open everything. And you don’t even have to finish the quizzes in one sitting, they can be closed and reopened as many times as you wish until you submit. I usually do mine in one sitting and it takes about half an hour. There are also “knowledge checks” which are just ungraded practice quizzes, but they are not necessarily predictive of what will be on graded quizzes, so I don’t always do them.

    There are also 5 projects. Projects (so far) are structured like “look up this function in Networkx (python package) and apply it”. You are given Jupyter notebooks and specific steps to follow. Nothing too intense. Projects are open for 2 weeks and then a week off before the next project (except it looks like the last 2 projects will be back to back). So far project grading is slow.

    My overall estimate of 8 hours accounts for about 4-5 hours of regular weekly work, and about 8-10ish hours per project averaged over project and non-project weeks. (I’m terrible about estimating my time, but I did try to count this last week so that I could give an accurate estimate). Overall, I find the course material fascinating, but I’m also taking another class which is much more demanding of my time than expected, so I find myself not spending any “extra” time engaging with this material, which is a shame because it’s so much more interesting to me than my other course.

    Finally, as this is the first semester that this course is offered, I’d expect it to get better. Maybe there will be more lectures in the future? But overall, fascinating material and definitely worth taking.