Skip to content

Introducing Code Organisation

Welcome to the Part 2 of this journey.

In Part 1 you have explored programs as instructions, and the structured programming principles of sequence, selection, and repetition. At this point, the amount of code we are writing is starting to get to a size where it is too much to deal with. We need new tools to help us manage this complexity and to help us structure the data within our programs.

Part 2 focuses on programs as a way of organising our code. The tools we introduce here will help reduce the complexity of the code we need to write, and further empower you to break down code in manageable chunks.

To do this, we are going to need to change language. The C# language is designed for object-oriented programming, which we will work up to in Part 3. For the moment, we need to see how code and data can be organised at a lower level. This will help you understand how things work within the computer, and how these concepts underpin the object-oriented programming style.

This part will explore the following areas:

  • Starting C/C++ will get you going with the C/C++ language. The main focus will be on using the language tools to build and run programs, and you will see how similar syntax can be between programming languages.
  • Structuring Code looks at how we can create our own method-like building blocks within our code. These will help us break down problems so that we mostly deal with only a few lines within any one part of the code.
  • Structuring Data then looks at how you can structure the data within your code. This will really help you start to build a digital reality, as you will be able to create and work with your own data types.
  • Indirect Access will give you some tools to help access data in more than one way. This will allow you to more efficiently access information throughout your program, bringing in a whole range of new possibilities.
  • Working with Multiples will help reveal how to move beyond the singular variable values we have been working with so far and access multiple values without needing lots of code.
  • Deep Dive on Memory explores how you can work more dynamically with data in your program, breaking free of the fixed size constraints that have limited what we could do up to this point.
  • Low Level Programming wraps up this part, with the introduction of some lower-level concepts. This will give you a start on really making use of the power offered by C and C++.

At the end of this part you will be able to build larger and more complex programs, and have a good understanding of how these different tools let you manage code and organise data. This will prepare you well for moving to higher levels of abstraction in Part 3.