Last updated: 2026-03-04 01:47:09
Course details
Course aims
Course aims are:
- Understanding the concepts of networks and network analysis
- Learning how to process and analyze spatial networks in Python, with emphasis on routing calculations on road networks
Course details
- Course number: 128.1.0136
- Time: Tuesday 16:10-19:00
- Place: Building 72, room 249
- Instructor: Michael Dorman (dorman@post.bgu.ac.il)
- Grading:
- Projects 20% + 50% = 70% (see Project 01, Project 02)
- Exam = 30% (see Exam)
- Requirements:
- Familiarity with Python,
numpy,pandas,shapely, andgeopandas - Self study
- Familiarity with Python,
- Getting help:
- Forum on Moodle (https://moodle.bgu.ac.il/)
- Meetings (schedule by e-mail)
Lecture plan
The course lecture plan is given in Table 15.1.
| Lesson | Topic | Date | Projects |
|---|---|---|---|
| 01 | The Python language | 2026-03-10 |
|
| 02 | Data in Python | 2026-03-17 |
|
| 03 | Spatial data | 2026-03-24 |
|
| 04 | Networks with networkx | 2026-04-14 |
|
| 05 | Spatial networks | 2026-04-28 |
|
| 06 | Directions and weights | 2026-05-05 |
Project 01 |
| 07 | Routing | 2026-05-12 |
|
| 08 | Custom locations | 2026-05-19 |
|
| 09 | Accessibility | 2026-05-26 |
|
| 10 | OpenStreetMap and osmnx | 2026-06-02 |
|
| 11 | Multiple locations | 2026-06-09 |
Project 02 |
| 12 | Raster least cost paths | 2026-06-16 |
|
| 13 | Exam | 2026-06-23 |
|
Projects
Submission dates
The project submission dates are given in Table 15.2.
| Project | Submission date |
|---|---|
| 01 | 2026-??-?? |
| 02 | 2026-??-?? |
Instructions
- Assignments should be prepared and submitted individually (not in pairs, etc.)
- The “I thought the exercise was uploaded on moodle but turns out it wasn’t due to technical issue” excuse will not be accepted. If you aren’t sure that I got your exercise, please send me an e-mail saying “is my exercise correctly uploaded on moodle?” and I’ll be happy to check and get back to you.
- The solution needs to be submitted on Moodle, as a Jupyter notebook (i.e., a single
.ipynbfile). - Use markdown cells or code comments to specify the following details at the top of the notebook:
- Assignment number
- Student name
- Student ID
- Use
## Introduction,## Part 1, etc. in markdown cells to create headings referring to the required parts of the project - The notebook needs to run without errors, and produce (print) the required outputs, assuming the person who runs the notebook has all packages used in the book installed (Software), and has the
net2.pyfile in their working directory - Avoid exporting any files in your code
- All values that you are asked to calculate (e.g., number of components) need to be calculated using the appropriate function(s) (e.g.,
nx.number_connected_components) and the result need to be returned as the code output; in other words, you cannot embed the result directly in your code - You can use any function or method in the Python standard library (https://docs.python.org/3/library/) to solve the exercises, even if it is not in the material. However, you can only use third-party Python packages which are covered in the material (Software); you cannot use any other third-party package in your solution.