Section 2
Coding Environment Setup
6. Environment setup - section overview
01:31 (Preview)
7. Downloading Python and Visual Studio Code
8. Python environments
9. Welcome to your new home - VS Code
10. Getting to know Jupyter Notebooks
Section 3
Python 101 - The (very) Basics
11. Python basics - section overview
02:03 (Preview)
12. Variables and Python data types
13. Functions in Python
14. Loops in Python
15. Control flow
16. Solution walkthrough
17. Basic object-oriented programming concepts
4. Use what works for you...but we have suggestions
Wait...this isn't Machine Learning

When it comes to operating systems and software tools, put two software engineers in a room and you’ll get (at least) three opinions on what the best tool stack is! Across all of the engineers at digiLab, I don’t think any of us use the exact same tools in our development environments - so, there are generally no hard and fast rules on what works best.

Probably the most fundamental decisions are what operating system and development environment to use.

The headline from this lesson is that you should use whatever operating system and development environment you feel most comfortable with.

If you’ve got some coding experience or already work with Python, keep using what works for you. But if this is all new to you, we’re going to make some recommendations to help you get up and running with as little friction as possible.

Operating systems

Chances are you’re already familiar with one particular operating system so that’s not even a choice you really have to make. You’ll find that most of the Academy tutors will use MacOS, but everything can be just as easily accomplished on Windows or Linux. The only real difference will be when you install packages but that in itself is a simple procedure regardless of the operating system.

Development environments

The next decision is what to write your code in. There are a lot of options; at one end of the spectrum, we have relatively simple code editors that provide syntax highlighting but little else. Sublime text is a good example here. At the other end of the spectrum, we have tools like PyCharm, which is a fully featured integrated development environment (IDE) specifically for working with Python.

In all of our data science courses, we’re going to be using Jupyter Notebooks. A Jupyter Notebook is a specific file format that is exceptionally popular with engineers and data scientists and we’ll dive into them a little later in the course.

Jupyter Lab

I mention them now because this means there are really only two front runners for what we should write our Python code in, Jupyter Lab or Visual Studio Code (VS Code). Jupyter Lab is a development environment specifically developed for working with Jupyter Notebooks, and it has many of the features that one would expect from a modern IDE.

Visual Studio Code

VS Code is another extremely popular IDE developed by Microsoft. It is lightweight and has excellent support for Jupyter Notebooks. Generally speaking, VS Code is more versatile than Jupyter Lab, more popular with developers across more languages and has an excellent extension eco-system.

Although I use VS Code for my non-Python development work, my personal preference for working with Notebooks is probably Jupyter Lab, but I was outnumbered! The rest of the digiLab team is on team VS Code all the way! To be fair, VS Code actually has some nice Notebook features not natively available in Jupyter Lab. So we’ll be using VS Code throughout, but you can happily code along with any Academy course using whatever development environment you prefer.

I guess I should also say that, technically, you don’t have to use Jupyter Notebooks. You could write all of your code in pure Python (.py) files. But there’s a reason Notebooks are so popular in the data science community, which you’ll come to appreciate. So for now, just trust me, Notebooks are the way to go - everything else is up to you!

Next Lesson
5. Additional resources and getting help