1. Before you start

This course does not teach you Python from scratch. It assumes you already write your own scripts: you read a CSV, set up a loop, print a result and move on. The goal is different, more ambitious and at the same time more practical: to raise the level of your code so it is readable, testable and maintainable. So that in six months you can come back to one of your scripts and understand it. So that a colleague opens it and doesn't run away. So that you can change it without fear because a test warns you when something breaks.

Many of the problems we carry at the intermediate level come from not really understanding the basics. That is why, when needed, I will stop to explain simple things without any hangups. It is not wasting time, it is laying foundations.

We will work with three ideas that recur throughout the course:

  • Best practices as the guiding thread, not as a loose module at the end.
  • Testing from day one: you test what you write, not what is left over when you finish.
  • Functional style as the default criterion. We tend to solve things with functions (pure functions, transformations, generators) before classes and objects. We are not going to explain the functional paradigm as university theory, we will simply choose the functional solution when it is clearer and use classes only when they add value, for example a dataclass as a data record.

The examples will revolve around reading marine sensors and hardware: a buoy that reports wave height, wind and water temperature, the log of a sensor over time, or the age-old question, can we work at sea today? But they are just that, examples: you don't need any engineering background to follow them. The focus is always Python.

How the material is designed

Each concept comes with a small, realistic example. You program in every lesson, it is not just explained. The example code is in English (variable names, functions and comments), as is done in the industry, while the explanations are in English.

We are going to build a project that grows throughout the course, metocean-tools, and that ends up being the final project: a marine data processing tool that runs from the command line.

The environment setup lesson comes first: you do it at home, in a self-guided way, before the others, so you arrive with the environment ready and don't waste class time installing things.

This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.

Desafíos de programación atemporales y multiparadigmáticos

Desafíos de programación atemporales y multiparadigmáticos

Te encuentras ante un librillo de actividades, divididas en 2 niveles de dificultad. Te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas o aprender conceptos elementales de programación.

Buy the book

Will you buy me a coffee?

This is how I keep writing without ads or paywalls.

Comments

There are no comments yet.