Concepts / Course Overview and Navigation

Course Overview and Navigation

Course material is naturally nested.

  • Programming

Where You Are in the Course

Before any programming idea is introduced, a course gives you a chance to orient yourself. This chapter, Course Overview and Navigation, belongs to the Course Structure module. Its job is not to teach a programming concept. Instead, it shows you how the material is arranged so that you can find your way through the rest of the book with a sense of direction.

The first question any reader should ask is where they are right now. The diagram below answers that question for this material. It shows the path from the whole course down to this article, using the module and chapter names given for this material.

Coursethe whole courseCourse Structuremodulecontains chaptersCourse Overview andNavigation chaptercontains articlesThis articleyou are herecontainscontainscontains
Each level contains the levels beneath it. Following the arrows from the top gives your exact location in the material.

Nested Levels of Course Material

Course material is naturally nested. A course is divided into modules, a module contains chapters, and a chapter is built from articles such as this one. Each level holds the levels beneath it. This is a model of containment: it describes what sits inside what, rather than the order in which you must read things.

Definition

Containment: a relationship in which a larger level holds one or more smaller levels beneath it. In this course, a course contains modules, a module contains chapters, and a chapter contains articles.

Knowing your position in this nesting tells you two things. First, it tells you which material surrounds the page you are reading. Second, it tells you what its neighbours are likely to cover. If you know that you are in the Course Structure module, for example, you know that the page is about orientation and not about a technical topic.

Reading the Book as a Map

A book-level overview works like a map. It does not contain the technical content itself. It tells you how the book is organized so that you can decide where to go for a given topic. The overview in this chapter states that the book is organized roughly as follows, and then introduces that organization.

The word roughly is important. It signals that the arrangement is a guide rather than a strict rule. You should expect the book to be grouped by topic and by progression, not as a rigid formula. The specific chapter-by-chapter breakdown is not included in the source material for this article, so this chapter does not list every topic by name.

Course Overview andNavigationorientation chapterNavigating This Bookhow the book is organizedTechnical contentlater chaptersleads toleads to
The orientation material comes first and is read before the technical content begins. The Navigating This Book section explains how the book is put together.

The section named Navigating This Book carries the goal of the overview in its heading. It shows how the book is put together so that you can move through it deliberately, rather than page by page without a sense of direction. Use the overview to decide where you are going before you start reading.

Tracing a Path One Level at a Time

A nested structure can be followed one level at a time. Start at the top, pick the name of the next level down, and move into it. The short Python sketch below stores a tiny illustrative outline and walks it from the course down to a chapter. The entries are a generated teaching example that shows the navigation pattern only. They are not the actual contents of this book.

python
Output (expected)
Inside: Course
Inside: Course Structure
Inside: Course Overview and Navigation
Arrived at: chapter contents
Notes on the code
  • outline is a nested dictionary: each key is a level name and each value is the level beneath it
  • levels lists the names in order, from the top of the course down to the chapter
  • each pass through the loop moves node one level deeper into the outline

What do you think happens?

Before reading the output, what do you think the loop does to the variable node on each pass?

  • It stays at the top of the outline the whole time

  • It moves one level deeper on each pass

  • It jumps straight to the chapter contents on the first pass

Reveal answer
Answer:

It moves one level deeper on each pass

Each pass replaces node with the value stored under the next name in levels. That is why the loop prints the levels in order and ends on the chapter contents.

Coursepass 1Course Structurepass 2Course Overview andNavigationpass 3chapter contentsfinal stopnext namenext namevalue found
Each pass of the loop moves one level further down the nesting, until the final stop tells you what you are working on.

Notice that the loop never needs to know the contents of the chapter in advance. It only needs the order of the levels. The same idea applies to reading a course. Each name you pass through narrows the location, and the final stop tells you what you are working on.

Mistakes When Navigating a Course

  • Common mistake

    Treating the overview as a strict rule for what each chapter contains

    Why it fails

    The overview uses the word roughly, so its arrangement is a guide grouped by topic and progression rather than a rigid formula.

    Do this instead

    Use the overview to decide where to look first, then confirm by reading the chapter itself.

  • Common mistake

    Expecting this chapter to teach a programming idea directly

    Why it fails

    This chapter sits in the Course Structure module and orients the learner before the technical content begins.

    Do this instead

    Read it for location and direction, then move on to the technical chapters that follow.

  • Common mistake

    Trying to locate yourself by skipping levels

    Why it fails

    Containment is one level at a time, so jumping from the course straight to an article hides the module and chapter that give the article its context.

    Do this instead

    Walk the nesting from the top down: course, module, chapter, article.

  • Common mistake

    Assuming a chapter's title is the same as the module it belongs to

Locating Yourself in the Book

EASY

Using only the nesting model from this chapter, write out the path from the whole course down to the article you are currently reading. Name each level in order, and say what each level contains.

Hints
  • Start with the whole course at the top and name the next level down.
  • The chapter contains articles, so the article you are reading sits at the bottom of the path.
  • The Course Structure module is the level that holds this chapter.
MEDIUM

Modify the generated outline in the Python example so that it adds a second chapter named Navigating This Book under the Course Structure module. Then change levels so that the loop still walks to the first chapter. Predict what the printed output will be before you run it.

Hints
  • Adding a key next to Course Overview and Navigation inside the Course Structure dictionary gives you a second chapter.
  • The loop only follows the names listed in levels, so the second chapter does not change the output unless you add it to levels.

Key Takeaways

  • This chapter, Course Overview and Navigation, sits inside the Course Structure module and orients you before the technical content begins.
  • Course material is nested: a course contains modules, modules contain chapters, and chapters contain articles such as this one.
  • The book overview works as a map. It is a guide grouped by topic and progression, not a rigid formula, so use it to decide where to look.
  • A nested structure can be traced one level at a time, starting at the top and moving down until you reach your current position.

Related concepts

More concepts starting with C