I'm a marine engineer working on a ship, and I may have several free evenings during the next four months. I'd like to use that time to learn something useful or simply explore a new skill. Excel initially came to mind, but I've also wanted to learn programming so I can create small utilities, bots, or desktop applications.
I studied some Python at university and remember the basics, although I'm rusty and open to other languages if there's a better choice. Since I'll have limited or no internet access onboard, I'd also appreciate recommendations for offline courses, documentation, and libraries. I currently have VS Code and Thonny available.
3 Answers
A less obvious option is ladder logic. Programmable logic controllers are used in many industrial systems, and learning the basics could be relevant to ship machinery and control systems. It may be worth exploring if you want something connected to your engineering background, although Python is probably the more flexible choice for personal projects and automation.
I’d return to Python rather than start over with another language. You already have a foundation, and Python is a good fit for automation, bots, spreadsheet work, and small desktop programs.
A practical resource such as Automate the Boring Stuff with Python would be a strong starting point. Refresh the fundamentals, then build something you would genuinely use—perhaps a file organizer, calculator, expense tracker, or spreadsheet tool. Start with a command-line version and later add a simple Tkinter interface. For four months, completing one useful project is a better goal than trying to learn everything.
Choose a small project and learn through building it. A simple bot, desktop app, file organizer, or expense tracker would all work well. You can begin with Python’s standard library, including pathlib, csv, json, datetime, tkinter, and sqlite3, so you won’t need an internet connection or extra packages for many useful projects.
For offline study, download the Python documentation, a beginner course or book, and the documentation for any libraries you decide to use. If you later want third-party packages, download them and their dependencies in advance with pip, or create a local wheelhouse before leaving. Spend more time writing and debugging code than watching tutorials.
That makes sense. I’ll start with the standard library and prepare the documentation and packages before going onboard. I’d also like to collect a few offline learning materials to follow alongside the projects.

I’ve already downloaded a copy of Automate the Boring Stuff and plan to work through it. Since I’ll be offline, which Python programs or libraries would be worth downloading and studying beforehand? I have VS Code and Thonny, but I’m not sure what else I’ll need.