About

GEO1004: 3D modelling of the built environment is part of the MSc Geomatics programme at the Delft University of Technology. The course provides a detailed description of the main ways in which the built environment is modelled in three dimensions, covering material from low-level data structures for generic 3D data to high-level semantic data models for cities.

The current version of the course (with entirely new content) was run for the first time on Q3 of the 2019-2020 academic year and is based on blended learning. In this model, in-person lessons and activities are combined with online materials and self-study.

During the contact hours (3 x 2h weekly), we will generally have short lectures and demos at the beginning of the hours on Monday and Wednesday. We will also often use this time to introduce the course and the assignments, or to provide general feedback for the assignments or the exams. During the rest of the hours on Monday and Wednesday and all of the hours on Fridays, we will answer questions, check on progress for the assignments and provide help. Students can also use this time to study lessons and to work on assignments.

Apart from the formal contact hours, students are expected to study the lessons on their own by studying the materials that are provided in this website. However, the idea is to learn mostly by doing—spending more time actively working on assignments rather than passively listening to lectures or videos.

You can ask us questions online (through Discord) at any time, but during the contact hours we will be fully available to help you in person.

The activities planned for the day will be announced in advance through the course website. Note that while you can do most of the course online and asynchronously, the midterm and the final exam will take place in person at the scheduled times.

All the assignments are programming tasks (to be done with the C++ programming language), based solely on open-source libraries and software. Homework 0 is an unmarked assignment to help you get your C++ environment set up and working correctly and Homework 1 is meant as a relatively easy introduction to the fundamental topics of the course. Homeworks 2 and 3 are harder assignments that involve combining multiple topics of the course into a creative solution.

How to best follow this course

Every week:

  1. Go the course homepage and check the week’s schedule.
  2. In your own time, study the lessons of the week by watching the videos and reading the materials. The course works best if you at least skim it in advance, but we know that this is not always possible.
  3. If you have any doubts about the contents of the lessons, ask questions on Discord. Asking on the geo1004 text channel is best, but a DM is okay if you are uncomfortable with that. If you ask during the contact hours, we will answer quickly. If not, we will still answer, but it might take longer.
  4. Try to answer the questions included at the end of the book chapter for a lesson. If you are not sure if your answers are correct, ask on Discord.
  5. Optionally, have a look at some of the other materials (eg papers and videos) listed at the end of the chapter.
  6. After studying the lessons of the week, work on the assignment(s) listed for that week.
  7. As you work on an assignment, discuss it with your classmates and with us. High-level collaboration (eg general strategies to tackle a problem) is encouraged. Using others’ code is not and will be considered plagiarism.
  8. If you get stuck in part of an assignment or want to run your strategy by us, tell us on Discord. We will not give you the solution to an assignment, but we will help you get on a good track to complete it.

All deadlines and rules are posted in this website, but we can be flexible if needed (such as if you get sick). This should be done before the deadline. We will also be widely available to help you on Discord and in person too, so don’t hesitate to ask questions. General software or programming questions are also okay, so please ask ahead. No one is born an expert, so there are no dumb questions.

External help, plagiarism and AI

In short, you are welcome to use external help or AI assistants as long as:

  1. all parts of the work that you submit are fully understood and checked by you, and
  2. how you use any form of external help is documented and acknowledged in the submission.

With code, this policy means that you’ve read every line, you can explain what an individual statement does, and you can justify why you have chosen to implement things in a certain manner. As for reports, it means that you’ve carefully read the text, verified each claim and can personally vouch for each statement in it.

If external help or AI assistants are used, this should be documented in detail in the submission, including what was used (eg LLM model and version), how it was used (eg through prompts on the web or through a client with direct source code access) and how much of the code/report is generated by it.

In order to enforce this policy, some groups will be asked to explain some lines of their code, possibly with comments removed, and explain some parts of their report. These parts will be selected by the teachers. Groups will be selected randomly, but groups with suspicious deliverables will also be selected.

Violations of this policy will be considered plagiarism and will result in disciplinary action from the faculty. Depending on its severity, this could involve a zero in the assignment, exclusion from one or all exams for a year, or expulsion.

Discord?

Discord is a service for text and voice chats plus video calls that is mostly used by gamers. You can install the app (better) or use it directly from the browser (still okay).

First, join the Geomatics server’s geo1004 text channel. This is a public text chat, which you can use to post questions, to discuss, or for general chatting. It is usually best to ask questions here, since everyone can benefit from the answers.

There is also a voice channel for the course, which is called geo1004 voice channel. This is a public voice chat, which you join manually by clicking on it. If you join it, you will listen to what the others in the voice channel are saying (unless you deafen it -> headphones icon) and everything you say will be also heard by the others (unless you mute it -> mic icon). You are free to use it anytime to discuss anything with the rest of your classmates (who are in the channel at that point).

Once you have joined the voice channel, you can also use it to share your screen (or a single window) with your classmates (Go Live -> icon with display and arrow). When you do so, a red LIVE icon will appear next to your username, and people will be able to click on your user and see your stream.

If you want to ask very detailed questions that are only relevant to your work, it is probably better to do a separate one-to-one or small group call (with possible video and/or screen sharing). For that, let us know on the text channel (better) or send us a DM (still okay). When one of us is free, we will add you as a friend (or you can do that anytime!), and we can then start the call.

Now, if you are not together with your assignment groupmate or want to talk to other classmates, how about doing a one-to-one or group call with them?

Expected prior knowledge

Anyone is free to follow the course, but it is mainly designed for students from the MSc Geomatics. Formally, the following courses/knowledge are required prerequisites:

  1. GEO1000 (or knowledge of scripting/programming);
  2. GEO1002 (or basic knowledge of GIS).

The course GEO1015 covers complementary topics to this course (2.5D vs 3D), so following it too is highly recommended.

Course content

The main topics described in the course are:

Responsible staff

Ken Arroyo Ohori photo

Ken Arroyo Ohori

kenohori#5365 | |

Hugo Ledoux photo

Hugo Ledoux

hledoux#8017 | |

Ravi Peters photo

Ravi Peters

Camilo León-Sánchez photo

Camilo León-Sánchez

Marking

3 assignments 50% (10%+20%+20%)
midterm exam 5%
final exam 45%