INFO I400/H400 (3 CR) Introduction to network science
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
- Filippo Menczer (Office Hours: by appointment in Informatics East 314; schedule in class or with Tara Holbrook)
- AI: Santosh Manicka (Office Hours: Tu 1:30-2:30p, Th 4-5p in Informatics East 322B)
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.
|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|
- 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.
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.
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.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.