Search

Software Development Fundamentals for Geotechnicians and Geoscientists

Essential practices and tools for effective coding, reproducibility and sustainable collaboration for geo-professionals

It is essential to master the tools and practices that make programming efficient, reproducible, and easy to share before one dives deeper into it. In geotechnical engineering, calculation scripts, design checks, and analysis workflows often need to be revisited months or even years later, sometimes by different team members. Without clear version control, consistent code formatting, and reproducible environments, valuable time will be lost and critical details overlooked.

You will learn the fundamental tools and workflows of modern software development in a way that supports collaboration and your daily coding and analysis work in geotechnics. The course will be taught live via Microsoft Teams across two 4-hour sessions. It includes small exercises throughout to build practical understanding and confidence.

 What you will learn:

  • Installation and setup of development tools
  • Managing project specific python version
  • Python dependency management (pip and other tools)
  • Reproducible type checking, code style and formatting
  • Integrate code editor with other tooling
  • Version control using Git and GitHub
  • Making commits and using branches
  • Pull requests, merges, and resolving merge conflicts
  • Basic branch strategy and collaboration in GitHub
  • Terminal and shell usage - PowerShell and Windows Terminal basic
  • Integrating AI-assisted coding
  • Working effectively with GitHub Copilot
  • Discussion on other available AI assistance tools
Portrait of Jiyang Ye

Jiyang Ye

Senior utvikler NGI Digital jiyang.ye@ngi.no
+47 917 26 522
Portrait of Ole-Jakob Olsen

Ole-Jakob Olsen

Developer NGI Digital ole.jakob.olsen@ngi.no
+47 924 46 884
Portrait of Tom Frode Hansen

Tom Frode Hansen

Senior Specialist Rock Engineering tom.frode.hansen@ngi.no
+47 908 13 066