hello.

this series is an attempt at filling a gap in most accessible software development education. a vast array of resources exist at the beginning of ones journey, but relatively very little exist that help provide the tools necessary to take a problem and work towards a solution. I hope to offer something understandable here, using experience I’ve run into in the past.

algorithms in this series will be expressed using TypeScript, though examples will be as language agnostic as possible (and therefore, may look odd to a seasoned TypeScript/JavaScript programmer). we will mention more specific language details or even other mention other languages if salient to their respective audiences - namely C and Rust.

if you aren’t a TypeScript programmer, be assured we will only rely on a smaller subset of the language’s vast feature-set. as a quick explainer:

let mutable_variable = 0;
const immutable_variable = 0;

const function = (parameter: ParameterType): ReturnType => {
	// ...
};

// like a C struct typedef or a Rust struct
// simple defines a blueprint of how an object should look
type Object = {
	property_1: Type;
	property_2: Type;
	method(parameter: ParameterType): ReturnType;
};

const instance: Object = {
	property_1: 0,
	property_2: 0,
	method(parameter: ParameterType): ReturnType {
		// ...
		return 0;
	},
};

along with control flow, arithmetic, and accessor features found in basically any language.