General information#

Last updated: 2026-02-12 16:07:30

Course details#

  • Course number: 128.1.0162

  • Time: Wednesday 16:10-19:00

  • Place: Building 72, room 249

  • Instructor: Michael Dorman (dorman@post.bgu.ac.il)

  • Grading:

  • Requirements:

    • Basic knowledge of GIS (e.g., “Intro to GIS” course)

    • Self study

  • Getting help:

Lecture plan#

The course lecture plan is given in Table 29.

Table 29 Course lecture plan#

Lesson

Topic

Date

01

Preface, Setting up the environment

2025-10-29

02

Python basics

2025-11-05

03

Conditionals and loops

2025-11-122025-11-19

04

Arrays (numpy)

2025-11-24

05

Tables (pandas)

2025-11-26

06

Table reshaping and joins

2025-12-032025-12-10

07

Geometries (shapely)

2025-12-15

08

Vector layers (geopandas)

2025-12-17

09

Geometric operations

2025-12-24

10

Rasters (rasterio)

2025-12-31

11

Raster-vector interactions

2026-01-07

12

ArcGIS Pro scripting (arcpy)

2026-01-14

13

Summary & preparation for Exam

2026-01-21

Home assignments#

Submission dates#

The sumbission dates of home assignments are given in Table 30.

Instructions#

  • Assignments should be prepared and submitted individually (not in pairs, etc.)

  • The solution needs to be submitted on Moodle, as a Jupyter notebook (i.e., a single .ipynb file).

  • 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.

  • Use markdown cells or code comments to specify (Fig. 82) the following details at the top of the notebook:

    • Assignment number

    • Student name

    • Student ID

  • Use ## Question 1 and ## Question 2 in markdown cells to create headings marking the solution to question 1 and question 2 (Fig. 82).

  • 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 (see Python packages).

    • Runs the notebook from within a directory that contains the data and output sub-directories, with the course sample data and output files (see Sample data).

  • Avoid exporting any files in your code!

  • Make sure your solution is as general as possible. Namely, do not use indices or specific values in your solution, other than the values given in the question text. For example, if the question is “find the largest value in the list x=[4,7,9,2,8,5], the solution x[2] is wrong, because it uses the specific value 2.

  • 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 (see What are we going to learn?); you cannot use any other third-party package in your solution.

  • When the solution requires importing one of the sample data or output files (see Sample data), use a relative path str starting with 'data' or 'output', and use / (!) as the separating character, as in 'data/carmel.csv'. That way, you assume that the notebook is going to be executed in a a directory which contains a sub-directory named data with all sample data files listed in Table 3.

_images/assignment_example.png

Fig. 82 Structure of .ipynb file for a submitted assignment#