Welcome to Software-Based Product! In this course you will learn how to design and develop innovative connected products such as the GoodNight Lamp. You will learn about digital business models and value proposition in relation to the specification of a technical product architecture. This blended course involves individual programming assignments in Python as a mean to develop your computational thinking, as well as group experiments leading you through scientific techniques. This will prepare you for the roles of product manager, product designer and product developer to design and realize digital prototypes that are technically feasible and commercially viable.
After this course, you should be able to:
Explain core concepts related to the realisation of digital products, such as technical architecture, networks, databases, software development methods, business models, web technology and digital responsibility
Analyse and evaluate the technical aspects (code, data, network) and business aspects (canvas) of a connected product
Develop, test and debug software systems in Python
Apply techniques to experience and evaluate the feasibility and capabilities of digital technologies
Specify algorithm and data structures driving the behaviour of a digital product through pseudo code and UML diagrams
Work as teams in specifying and developing algorithms and software
The course follows the blended learning approach.
The course uses a weekly cycle mixing theory and practice, thus a series of 8 formative modules followed by a week of revision and an exam in the 10th week.
Each week involves:
- the introduction of theoretical concepts (2hrs) through self-study video and reading materials, followed by a formative quiz;
- a live demo (2hrs) with a lecturer walking through some of the concepts in practice, and offering students a key moment for questions;
- a programming assignment (8hrs) to individually practice coding in the context of a connected home, with gradual complexity
- a lab experiment (8hrs) to experience in group key techniques and methods covered during the course.
Every week, you will be invited to share your assignment and lab xp outcomes in the form of a blog post. This is an opportunity to get rich from others outcomes and collect feedback. A feedback podcast will provide tips and tops, closing up the module.
The assessment takes the form of an exam in week 10.
#1 Zoom In & Out
In this module you will get familiar with the fundamentals of software-based products through the GoodNight Lamp concept. The lab experiment will lead you to 'disassemble' its software components to explore what's in there to make it work. Your first assignment will get you started with programming in Python.
#2 Shape with Code
In this module you will expand your programming knowledge with Object-Oriented paradigm. You will apply these concepts in combination with control flow to shape the behaviour of your GoodNight Lamp such as pulsating and breathing with various colors. You will experiment with Test Units in order to validate the behaviour of your Lamp.
#3 Gear up
In this module you will learn about software development methods such as Agile and Lean. You will test the behaviour of lamp shaped in the previous module to ensure its correctness. Then, you will use tools such as dependency managers and version control sytems to organise your code and collaborate.
#7 Back to Business
In this module, we put software-based product into the business context. You will learn about the main business model for this type of product. In the lab experiment you will conduct an A/B test to evaluate two design option of your GoodNight Lamp. The assignment will focus on generating basic analytics charts to visualise how the GoodNight Lamp is being used.