-
Re-introduction to Python - part 9. Exceptions.
Python provides a robust mechanism for handling situations where unforeseen data or circumstances cause the code to behave in unusual ways. With practice, you will learn when you should try hard to think of everything that can go wrong and have provisions for various cases in your code, and when you should "just let it fail".
Read more... -
Re-introduction to Python - part 8. Type hints, modules and reusability.
If you learn to be more specific and expressive about the types of data your code needs to work with, you will be delighted to discover how extra helpful Python tools can be - and it will make your code more readable by other humans. We also learn about the concept of Python modules and how they help write clean, reusable software.
Read more... -
Re-introduction to Python - part 7. Tips and shortcuts (and a Python challenge)
We start this lesson with an interesting exercise you can attempt to solve in Python with what you've learned so far. We then continue to provide a list of general programming tips to follow as well as dangerous Python constructs to avoid (or at least be extra cautious when using them).
Read more... -
Re-introduction to Python - part 6. Retrospective.
How can we actually build code designed to age well and to support continuous evolution - as opposed to piling up more and more cruft until it becomes unmanageable and breaks under its own weight? Begin with the right mindset.
Read more... -
Re-introduction to Python - part 5. Conciseness.
The real power of a programming language kicks in when you learn how to use the features of the language to write less code. Python offers some powerful syntax for constructing and processing data in one-liners. Master those and you are well on your way to becoming a proficient Python developer.
Read more... -
Re-introduction to Python - part 4. Function composition.
How the software engineering principle of "composition" allows us to structure some Python programs as neat data processing pipelines.
Read more... -
Re-introduction to Python - part 3. Exploring dictionaries - the most robust data structure this language supports.
To find a needle in a haystack every time you look, use a dictionary. In this part of our series, we continue exploring data handling fundamentals and programme flow control in Python. We will see how using the right data strucure can make it really easy to quickly look-up specific values in a collection, without having to spend much time searching.
Read more... -
Re-introduction to Python - part 2. Applying logic to collections of data.
To processing data efficiently with Python and really benefit from the features of the languages, we must go beyond basic data types and master the various kinds of data collections.
Read more... -
Re-introduction to Python - part 1. The power of labeling pieces of data.
Most of what we do in programming comes down to transforming data in various ways by applying series of operations on it. In the first part of this series, we introduce the software engineering principle of Abstraction and what it means in practice in a Python programme.
Read more... -
Re-introduction to Python - part 0. What makes a good software engineer?
This series is a fast-paced, hands-on introduction to building modern software with Python, tailored to professionals with limited coding experience. Strong focus on software engineering principles and code quality. Some basic familiarity with programming concepts and Python itself is assumed, although all important ideas are explained in beginner terms.
Read more... -
Why we focus on the fundamentals of software engineering and code quality
In recent years, many professionals have picked up the Python programming language as an easy entry point into coding and business software. Unfortunately, the principles of building good quality software have been neglected - almost forgotten. At A115, our aim is to change this, both in theory and in practice.
Read more...