What is a Notebook? What is an IDE?

Lessons From my Science Fair Project, Part 12

What was discussed last week…

  • The Marching Cubes Algorithm is used when 3D data needs to be converted or “reconstructed” into a object file form, and the concepts it uses are fond in linear algebra.

Sat >> January 3rd

After doing a whole bunch of nothing around New Year’s Day, I got a text from one of my project teammates, and it was about how he somehow “enhanced” the Marching Cubes Algorithm for 3D reconstructions of the 3D spinal data that I was working with, and he sent over the code.

How did he send the code? Normally, a person would send over code via a file, like a .py (Python) or .js (Javascript) file, for example. However, my friend sent over the code in a notebook that used Python programming language, which made things complicated.

For programming the Marching Cubes Algorithm, I used an IDE, or an Integrated Coding Environment, which is like a text editor specialized for coding and programming, with tools to help expedite the process. Examples of some open-source IDEs are VSCode and Vim, with VSCode being the most popular IDE.

My friend, however, chose to use a notebook for programming: Google Colab.

As you can see, there is a lot lot lot of code in my friend’s Colab! But first, what is a notebook, and what is Google Colab anyways?

A code notebook (e.g. Google Colab, Jupyter Notebook, and NotebookLM) is an interactive, web-based document that combines live, executable code, rich text (Markdown), visualizations, and other outputs in a single file, allowing users to develop, document, and present computational projects step-by-step. They are ideal for exploratory data analysis, teaching, and reproducible research, letting you see code, its results, and explanations all in one place.

-Google’s Gemini, according to a search in 2026

Another important feature about Google Colab in particular is that they have “cells” of code and “cells” of text. One a code “cell” is run, its output data cannot be used in another code cell unless if the output data is stored in an environment variable (rare) or when it’s saved into a file in your Google Drive, and all the data that you pull from and use must also be from Google Drive.

When using an IDE on your local computer/machine, on the other hand, output data can be stored in your local computer hard drive, which makes it much easier to use and distribute across your system.

Back to my situation: because the Marching Cubes algorithm (for my science fair project) was developed within Google Colab, I took on the task of combining and readjusting the data transfer between the code that my friend had made and the preexisting Marching Cubes code that I made in order to connect the algorithm with the 3D data saved on my computer.

In the end of the day, this was all a big hassle, with me having to break up all of the code in to multiple files in order to make sense of it all…

That’s a lot of files!

When working with any team in general, it’s crucial to establish an agreed-upon platform (e.g. PowerPoint vs Google Slides) to base all of the development from, especially in coding environments, which can further complicate matters due to programming being an already highly technical field, so mistakes are very likely to happen.

Lessons Learned

Notebooks and Integrated Development Environments (IDEs) in the context of computer science can both be used for development and programming, but they have different use cases.

Notebooks are better for teaching, giving lessons, and data visualization.

IDEs are better for larger-scale projects, collaborative programming, and developing highly technical programs.

Sticking with notebooks or IDEs (raw code) for collaborative projects is crucial, as trying to bridge the gap between the two mediums may be cumbersome, as with the case is for using code from Google Colab to IDEs, for example.