Welcome to WM164 Smart Solutions Development I


Introduction

An interesting thing about this module is that it teaches you two programming languages C++ and Python side by side. Why? This is simply because those two are the most popular coding languages in the world. But, at the same time, there will be some challenging times ahead. You're warned!

The interactive visualization below is a Google Trends comparison of several popular programming languages in the UK, created using a JavaScript library called Chart.js. Try to click on Java or hover over the lines, what happened? If you refresh this page, you will see the module title (the very top of the page, those 'WordArts') flashes three times. That animation was done using another JS (short for JavaScript) library called Anime.js. Coding is fun!


Knowledge, Skills, and Behaviour

Talking about the KSBs, it's important to know that this module, as part of the DTS Degree, follows the standard set out by the Institute for Apprenticeships & Technical Education. In particular, you can expect the following KSBs in this module:

  #   Contents
Knowledge K5 A range of digital technology solution development techniques and tools.
K21 How to operate at all stages of the software development life cycle and how each stage is applied in a range of contexts. For example, requirements analysis, design, development, testing, implementation.
K22 Principles of a range of development techniques, for each stage of the software development cycle that produce artefacts and the contexts in which they can be applied. For example UML, unit testing, programming, debugging, frameworks, architectures.
K25 The factors affecting product quality and approaches for how to control them throughout the development process. For example security, code quality, coding standards.
K55 Data formats, structures, architectures and data delivery methods including “unstructured” data.
Skills S4 Initiate, design, code, test and debug a software component for a digital and technology solution.
S10 Initiate, design, implement and debug a data product for a digital and technology solution.

Before You Start

You need to have some software installed on your computer before you start the first day. These include:

  • MS Visual Studio C++ Community Edition This is the software you need to write and compile C++ source code. Note it's the Community version that you need!
  • Visual Studio Tools for Python Development Following the installation of MS Visual Studio C++ Community Edition in the previous step, you should have Visual Studio Installer installed on your system. Open it and make sure Python development is checked, click Modify to install.
  • Arduino IDE This is the software you need to programme Arduino boards.
  • Git version control software This is software used for tracking changes you make in the source code. You'll need it for the Python part of the module.

The above list of software assumes you're using the Windows laptop your company provides you with. In case you do not have admin privileges already, you should request your IT department to get the software installed for you. If your company provides you with a Mac computer, please get in touch.


The presentation below provides a quick overview of the module, including the teaching plan and assessments. Go through these first before anything else. Make sure that you're clear on what is required to pass the module.