Storage
Foo
Variables
Industry Practice
Handling your code
100

Bit

A 1 or 0. 8 of these make a byte. They exist in the hardware of your computer. Literally every part/aspect of the code is stored in bits.

100

Function

Like a math function, f(x) -> y, functions take in some number of inputs, and then spit out some number of outputs. They need to be defined (somewhere), like variables. Once you've defined a function, you can call it.

100

Definition

AKA a declaration (occasionally AKA as initialization), this is where you set one thing equal to something else. If you don't do this part, then when you reference something later, the computer won't know what's going on. This applies to classes, functions, and variables.

100

Github

A mix of a portfolio and an internet-based file storage system. You can upload files here, and other people can see it. Most open source projects have Github pages.

100

Module

Typically a separate file (or files) that holds code that you reference directly or indirectly in your main file.

200

Memory

Can be in the form of ROM (Read Only Memory) or RAM (Random Access Memory). Mostly, you'll probably noticably interact with RAM. When your code runs, all variables are stored in RAM, as are functions.

200

Return

The output of a function. If you set a = f(b)

Then a will be equal to whatever f(b) outputs, not the function call.

200

Scope

The region of code where a definition applies. Some things are global, some are only locally defined.

200

Repository

A folder on Github (or somewhere else) that holds all the code and info for a project/app

200

Command Line

A text-based environement where you can write instructions for your computer. The terminal is a way to access the command line, and as such, usually using one means using the other as well.

300
Address

Basically where the bits are located. Every variable holds an address to a spot in memory. Pointers in the C family, for example, use addresses more explicitly.

300

Method

A special kind of function that is attached to an object, like an attribute.

300

Typecasting

When you tell the program what sort of type a variable should be. Really helps with bug-finding. (Types are things like int, f64, char, bool, any class, list, None)

300

Library

A module that someone else wrote. You can reference them in your code. (Numpy, Matplotlib, etc are libraries)

300

IDE

An Integrated Development Environment. This combines multiple helpful features into one. It has debuggers, automatic formatting, interpretters, compilers, graphical interface, and more.

400

Path

Your operating system holds things in directories (AKA Folders), and there's a lot of data on your computer. Specifying a path tells the computer where to look for information (i.e. C:/Home/Users/images/screenshots/picture.jpg)

400

Initializer

A special kind of method that runs when an instance of an object is created.

400

Parameter

The first half of a variable declaration, found in the function definition. What you name the parameter is what it is named inside the function.

400

Time complexity

A way of measuring how quickly a program runs that is unconcerned with data input size. It measures time per input.

400

Kernel

The space where your whole operating system runs, and everything that runs at all runs inside the operating system. A separate kernel is as seperate as you can get on the same computer.

500

Local

This means the data is on your computer, and does not need to be found on the internet. Downloading + installing something is the process of making something local, by creating a copy that lives on your computer. This also scales down to scope.

500

Operation

A mathematical operation, or a sampling, or a sending. exmples: print(), draw(), +, if():, =, analogRead, np.load(file.csv). They cost computing power. If the computer is doing something, then each component of that action is an operation.

500

Argument

The value that you input to the function in a function call. The function will not care about the name of the argument, just the address it pointed to, and the data held there.

500

MVP

Minimum Viable Product. Usually you will need to refactor after you have your MVP, but it is good at roughing out the architecture and important features.

500

Refactoring

When you change something in your code, especially if it has ripple effects.