Marsof Academy
Course 1

Foundations: programming and data

From zero to programming in Python and handling real data

  • ≈ 175 h
  • Level: beginner
  • 4 units
  • 36 lessons

How a computer, the terminal and Git work; Python as an engineering tool; algorithms and data structures; and NumPy, pandas, SQL and visualisation to prepare any dataset. It is the foundation for everything else and opens the fast track to the LLM applications course. The course doesn't require English: everything is available in Spanish. Some recommended further reading only exists in English (marked "(en inglés)" in Spanish); if that's hard for you, use your browser's automatic translation.

What you'll be able to do

  • A command-line application with tests, packaged and versioned with Git
  • A data pipeline that downloads, cleans, analyses and plots real data
  • SQL queries and pandas analysis on any dataset, with no data leakage

Prerequisites

None. Start from scratch: you do not need to know how to code or remember high-school maths.

Units of the course

Unit 1 · Digital foundations

How a computer, the operating system, the terminal and Git work, and how to set up your own computer for programming. The foundation everything else runs on.

5 lessons · ≈ 10 h of study

  1. How a computer works
  2. Operating system and terminal
  3. Git and version control
  4. Python, virtual environments and pip
  5. Set up your computer

See the unit: Digital foundations

Unit 2 · Engineering with Python

Python as an engineering tool, from variables, lists and dictionaries to classes, generators, decorators and testing, with an optional final block on profiling and concurrency.

16 lessons · ≈ 54 h of study

  1. Variables, types and expressions
  2. Operators, formatting and precision
  3. Conditionals and loops
  4. Functions
  5. Lists and tuples
  6. Dictionaries and sets
  7. Comprehensions and the collections module
  8. Exceptions and error handling
  9. Files, CSV and JSON
  10. Classes and objects
  11. Inheritance, composition and special methods
  12. Iterators and generators
  13. Decorators and context managers
  14. Types, dataclasses and tests
  15. Advanced Python (optional): measure before you optimise
  16. Advanced Python (optional): concurrency and async

See the unit: Engineering with Python

Unit 3 · Computer science

Data structures, algorithms, complexity and memory, with a final advanced and optional block on concurrency and distributed systems.

8 lessons · ≈ 26 h of study

  1. Complexity and Big O notation
  2. Arrays, linked lists, stacks and queues
  3. Hash tables and sets
  4. Recursion
  5. Sorting and searching
  6. Trees and graphs
  7. Advanced (optional): threads, races and locks
  8. Advanced (optional): distributed systems in 45 minutes

See the unit: Computer science

Unit 4 · Data for AI

The tools used to prepare any dataset before training anything. NumPy in depth, pandas, SQL, visualisation and a cleaning and exploratory analysis workflow that avoids information leaks.

7 lessons · ≈ 23 h of study

  1. NumPy in depth
  2. pandas (I): selecting, filtering and grouping
  3. pandas (II): joining tables, missing values and time series
  4. SQL with sqlite3 (I): querying, grouping and joining
  5. SQL with sqlite3 (II): window functions, CTEs and indexes
  6. Visualisation — seeing the data before modelling it
  7. Data cleaning and exploratory analysis

See the unit: Data for AI

Course projects

  • CLI application: a task manager ≈ 25 h
    A command-line task manager with JSON persistence, tests and a layered design.
  • A data pipeline: Mauna Loa CO₂ ≈ 30 h
    Real NOAA data (public domain) with a header that lies: fingerprinted ingestion, schema as code, quarantine, quality checks, a feature table in SQLite, incremental idempotent loads and a DAG with retries.

The full explanations, auto-graded exercises, exams and projects are inside the academy. Estimated hours for someone starting from scratch: lessons with practice and review, challenges, exams and the recommended projects. It's the same estimate you'll see inside the academy.

Along the way you earn yang, the academy's currency: 10 for every lesson, 50 for every unit exam you pass and 150 for every verified project, plus 15 for today's challenge and 100 for the weekly one. You spend it in the shop on mascots and colours; it can't be bought with money.

Shall we start?

Create your account and activate your subscription: you get the whole syllabus from day one.