This is an introductory lab for students learning about spatial networks (aka survey networks, or geodetic networks, or geomatics networks). When embarking on such a learning experience together I find it super important to make sure everyone’s on the same page with regard to the tools they’re going to be needing. And, if it’s required, has the chance to get some help and get up to speed before it’s too late.
You’re going to:
- Show that you’re familiar with using spreadsheets (yes spreadsheets!) for basic spatial applications
- Show that you’re familiar with using C++ for basic spatial applications
- Use a C++ library called Eigen to add linear algebra, vector, and matrix functionality to your C++ code
- Use those skills to do a first little adjustment
- Use our reporting template for the first time
1. Watch the introduction
2. Read the following guidance
This lab has three parts:
1. In the first, you’re asked to create your own Google Spreadsheet to solve a spatial analysis problem. I’m going to provide you with the problem and a sample solution, so your focus here is just meant to be on making sure you know how to use a spreadsheet environment to do this kind work. And on reviewing that kind of solution if you don’t remember it. In turn, this is because these will be so important for you for prototyping your lab solutions in this course.
2. In second part, you’re asked to solve the same problem by creating and compiling a C++ application in a browser-based environment called repl.it. I will provide some guidance on doing that. As you’ll see, your application needs to solve the problem, test drive a super useful matrix template library called Eigen, and output some stuff to the screen.
3. In the last part, you’re asked your skills to work to do a (very crude) estimation of the width of the hallway outside of my first year classroom. I’m not going to provide the solution to this one. Instead, I want you to do it yourself from end-to-end in either of the spreadsheet or browser-based C++ environments.
Directions for these are provided in the lessons at the bottom of this page.
Why this lab?
This lab is pretty basic, I admit. But if you can’t do it then you’ll be in trouble later, so let’s get it down now. Get in there and let us support you as you recall what you’ve covered before and/or fill any gaps in your understanding.
Doing this is important because it helps us make sure everyone’s got some key computational and analysis tools in their tool belts before proceeding with the more detailed labs ahead. As you program your own network analyses and adjustments in this course, I want you to have the programming basics well in hand. And it’s hard to express how much the development of good practices now will help you in the future. It’s a fundamental literacy thing: doing this course without this stuff in hand is a bit like to listening to a lecture without knowing the language in which it’s being delivered.
And why the different environments? Mainly because they can all play important roles in the work we’re going to do here and the work you’ll do as an engineer. C++ is a powerful programming language and spreadsheets are a great numerical analysis tool. Generally, I like to use spreadsheets for quick calculations, prototyping algorithms, and visualizing what my data are saying. My students tell me spreadsheets help them more deeply understand an algorithm before committing it to code, and the process helps them debug and avoid errors. And I like C++ because it’s arguably more powerful and portable in our field.
(And if you’re already a pro at all of this, then go ahead and work through it quickly. That’s awesome.)
Deadlines + assessment + individual vs. team work
If you’re taking this from me as part of a university class then:
- The due dates for this work are outlined on our activity schedule which you can access with the tabs at the bottom right side of any page on this site.
- A detailed marking rubric will be handed out via D2L and discussed in class. Don’t hesitate to reach out if you have any questions at all.
- A lab report template will be handed out via D2L and discussed in class. You’re asked to use this report format when submitting your lab.
- This lab is to be completed and submitted by every student individually.
3. Check out these related modules
The following modules might be helpful if you’re not already familiar with all of this:
- Introduction to using spreadsheets as a sandbox tool for spatial applications
- Introduction to browser-based coding as a sandbox tool for spatial applications
4. Get started!
You need to be signed in and enrolled (see above) in order to do this step.