Syllabus#

Instructor#

Benjamin D. Pedigo (he/him)

PhD Candidate, Department of Biomedical Engineering

Email: bpedigo@jhu.edu

Website: https://bdpedigo.github.io/

Time#

1:30PM - 4:15PM, MTWThF

Jan 9th - Jan 20th, 2023

Location#

Hodson 315

Course description#

Networks represent data by describing a set of objects and the relations between them. Networks are ubiquitous in many fields of science: for example, they have been used to represent social interactions, relationships between genes or protein sequences, and the connectivity of neurons in the brain. This project-based course will introduce students to the process of analyzing real-world network data in Python. Topics covered will include network representations, centrality and ranking measures, modularity and community detection, network embeddings, graph neural networks, random graph models, graph matching, and network hypothesis testing. This is a hands-on, project-based course - students will submit a brief analysis (in Python) of some real-world network dataset for their final project. Familiarity with Python, statistics, and linear algebra is very highly encouraged.

Prerequisites#

Warning

The following prerequisites are highly recommended to take this course. In particular, Python experience will be important in order to be able to submit the final project. Please talk to the instructor if you are unsure about your prior knowledge for any of these:

  • Python programming experience

  • Linear algebra

  • Probability/statistics

Topics#

For specific topics covered, please see the calendar page.

Materials#

Code/software#

Primary#

Also mentioned#

Books#

The following books may be useful material during the course, but none of them are required to rent or buy:

Other resources#

Grading#

To pass, a student must:

  • Attend and engage with every lecture (please let the instructor know if you need to miss a lecture for some reason)

  • Submit the pre-project mini-assignment by 11:59pm on Jan 10th (Tuesday)

  • Submit any other mini-assignments (these may be very minor things like filling out surveys, telling me what your final project will be, etc.)

  • Submit a merge-able final project notebook by 12pm (noon) on Jan 19th (Thursday)

  • Present their final project on the last day of class, Jan 20th (Friday)

Final project#

See the Final project tab

Office hours#

After class or by appointment. I also expect most lecture days to have a significant group work proportion where you can ask questions.

Accommodations#

My goal is for this course to be a safe and accessible place for anyone to learn. Please let me know if there’s anything I can do to accomodate any needs towards that end.

Feedback#

I am always open to feedback (positive or negative) on this course. You can leave any comments you have here. Can be totally anonymous, if you’d like.