Course Syllabus

xkcd: convincing pickup line

INFO I400/H400 (3 CR) Introduction to network science

Description | Prerequisites | Lecture | Instructors | Software and Tools | Books | Objectives | Grading | Policies | Academic integrity | Remarks


Friends, computers, the Web, and our brain are examples of networks that pervade our lives. Network science helps us understand complex patterns of connection, interaction, and relationships in many complex systems. Students learn essential concepts and core ideas of network literacy, and basic tools to handle social and information networks.



I201, I210, and I211 for Informatics students. The course is also open to undergraduates in Computer Science, Cognitive Science, Statistics, Psychology, Biology, Sociology, Communications, Engineering, and Physics. Students from these other programs should seek instructor permission. Programming experience (in Python) and exposure to probability theory, statistics, calculus, and discrete math are highly recommended.


Lecture (tentative schedule)

TR at 2:30P-3:45P in I2 (Informatics East) 130



Please use Canvas for all class-related questions and communications. Email instructors directly only for personal matters.


Software and Tools

We will be using Python and the NetworkX module. We recommend that you install Enthought Canopy on your laptop. Canopy is a comprehensive Python analysis environment that provides easy installation of the core Python packages, such as NetworkX and IPython. You can request a free academic license with your academic email address. We will use Canopy in class, as it is installed on the classroom and lab machines.

In addition, we will use NetLogo to demonstrate some of the network models and concept presented in class. Download and install it for free on your laptop.

One of the datasets we will analyze in class will be our social network extracted from Facebook. To do so, we will ask you to share your social network by authorizing our Facebook App. The social network data will be used exclusively for instructional purposes within this course and will not be shared outside of this course.

Finally, consider these additional network analysis and visualization tools:



We will provide class notes and other required readings throughout the course. Additionally, we will use some of the chapters from the Network Science Book available as a free PDF or iBook download from the Barabasi Lab.

During the first few weeks of class, students are strongly encouraged to read either Linked by A-L Barabasi (paperback 2003, ISBN 0452284392), or Six Degrees by D Watts (paperback 2004, ISBN 0393325423), or both.


Course description and learning objectives

Networks pervade all aspects of our lives: networks of friends, communication, computers, the Web, and transportation are examples we experience, while our brain cells and the proteins in our body form networks that determine our survival and intelligence. The network is a general yet powerful way to represent and study relationships. In this course, students are introduced to the study of networks and how they help us understand the complex patterns of connections that shape our lives. Through examples from popular social and information networks, students learn about key aspects of networks and basic tools to analyze and visualize them. Students will be evaluated on the basis of hands-on assignments and exams.

Students are expected to learn about several topics, including:

  • Basic network components (nodes, edges, degree, etc.)
  • The friendship paradox
  • Social networks and small worlds
  • Heterogeneity and centrality
  • Scale-free networks
  • Homophily and clustering
  • Network communities
  • Epidemic processes on networks
  • Basic tools to handle networks (NWB, Gephi, iPython and NetworkX)

Additional topics may be covered based on student needs and interests. Students will:

  • learn essential concepts and core ideas of network literacy;
  • appreciate the broad relevance of network science to many domains and applications; and
  • acquire skills to load, manipulate, export, and visualize networks using tools and programming languages such as Python/NetworkX, Network Workbench, and Gephi.


Tentative grading

Component Weight Notes
Attendance 10% Attendance is mandatory
Quizzes 5% Based on assigned readings and notes
Assignments 40% Four assignments, 10% each
Midterm exam 20% Format to be announced
Final exam 25% Format to be announced


Class policy

  • Readings will be distributed via Canvas. Students are responsible and will be quizzed for assigned readings PRIOR to class discussions.
  • Assignments are due by midnight Sunday after the week indicated. Start working on them at least one week before, so you can ask questions in class and at office hours (don't procrastinate until the last minute! :)
  • If your cell phone rings during class, you owe $1 to the charity fund. Proceeds will be donated to a charity at the end of the semester.
  • Use of laptops in class is allowed only during programming tutorials and exercises. Use of laptops, tablets, or other mobile devices in class is otherwise distracting and therefore prohibited. You are encouraged to take notes on paper. If you seek an exemption from this policy as you can only take notes on a laptop, you will be asked to provide a doctor's note and to sit in the front rows of the classroom. If you use email, facebook, games, or other distracting activities in class, you owe $1 to the charity fund. Repeat offenders will be asked to leave the class and will miss attendance credit.
  • The main communication medium outside of class is Canvas. Students are expected to post their questions, answer other students' questions, post pointers to relevant technology news (do NOT copy and paste news articles!), and check Canvas daily for announcements. Postings must be signed in order to get participation credit. Direct email to instructors is to be used only for confidential matters.
  • Instructors cannot debug code via email. If you need help debugging, the best option is to go to office hours. If you cannot go to office hours and can narrow down the bug to a small snippet (say 2-3 lines) of code, you can post a question on Canvas. But one should never post an entire script or extended code (see academic integrity).
  • Students are responsible for making backups of all of their work! This includes any assignment and other materials you produce.
  • Students are responsible for the safe and ethical use of class accounts on shared servers, according to university policy and copyright law, and for the sole purpose of carrying out class assignments. Accounts will be monitored and any abuse will be reflected in the grades.
  • Students are required to attend class. If you miss class, it is your responsibility to find out about any announcements or assignments you may have missed.
  • Late assignments will incur a penalty of 50% within 24 hours of the deadline, and no partial or make-up credit will be available after that.
  • Extenuating circumstances will normally include only serious emergencies or illnesses documented with a doctor's note.
  • Grades will be given out via Canvas, not email.
  • The instructor may take into account class trends in the assignment of final grades, but only to increase grades.


Academic integrity

The principles of academic honesty and professional ethics will be vigorously enforced in this course, following the IU Code of Student Rights, Responsibilities, and Conduct.

This includes the usual standards on acknowledgment of help, contributions and joint work, even when you are encouraged to build on libraries and other software written by other people. Any code or other assignment you turn in for grading and credit must be your individual work (except for group projects). Even if you work with a study group (which is encouraged), the work you turn in must be exclusively your own. If you turn in work done together with, or with the assistance of, anyone else other than the instructors, this is an instance of cheating.

Several commercial services have approached students regarding selling class notes/study guides to their classmates. Please be advised that selling a faculty member's notes/study guides individually or on behalf of one of these services using IU email, Canvas, or Oncourse violates both IU information technology and IU intellectual property policy. Selling notes/study guides to fellow students in this course is not permitted. Violations of this policy will be considered violations of the Code of Student Rights, Responsibilities, and Conduct and will be reported to the Dean of Students as a violation of course rules (academic misconduct).

Cases of academic misconduct (including cheating, fabrication, plagiarism, interference, or facilitating academic dishonesty) will be reported to the Office of the Dean of Students. The typical consequence will be an automatic F grade in the course.

Your submission of work to be graded in this class implies acknowledgement of this policy. If you need clarification or have any questions, please see the instructor during office hours.


Final remarks

We would like to hear from anyone who has a disability or other issues that may require some modifications or class adjustments to be made. The offices of Disability Services and CAPS are available for assistance to students. Please see the instructor after class or during office hours.

We would like to know early in the semester of any possible conflicts between course requirements/deadlines and religious observances, so that accommodations can be made (see forms). Please see the instructor after class or during office hours.

We welcome feedback on the class organization, material, lectures, assignments and exams. You can provide us with constructive criticism via the discussion forum. Please share your comments and suggestions so that we can improve the class.


Course Summary:

Date Details Due