Programming Languages
Tutorials on Python, C, C++, Java, JavaScript, TypeScript, Go, R and Haskell — from beginner syntax to advanced techniques.
Chapter 10 — Concurrency
"Don't communicate by sharing memory; share memory by communicating." — Rob Pike
Read article →Chapter 11 — Testing
Go's standard library includes everything you need for testing: the testing package plus the go test command.
Read article →Chapter 12 — Modules and Dependencies
A module is a unit of versioning and distribution: a tree of Go packages identified by a module path, with explicit dependencies and a recorded build list. Modules replaced the older GOPATH workflow in Go 1.11+ and have
Read article →Chapter 13 — Practical Go
A grab bag of the topics you need most often in real services: HTTP, JSON, logging, configuration, structured project layout, and a few production-ready patterns.
Read article →Chapter 14 — Errors and Context in Depth
Chapters 6, 7 and 10 introduced error, %w and context.Context in a few paragraphs each. This chapter is the full treatment: how to design errors so callers can act on them, how to wrap and inspect them, where panics belo
Read article →Chapter 1 — Arrays and Slices
When you append past cap, Go allocates a new larger backing array and copies. Two slices that share a backing array see each other's writes.
Read article →Chapter 2 — Stack
A stack is a LIFO (last-in, first-out) container with two main operations: Push — put an element on top. Pop — take the top element off.
Read article →Chapter 3 — Queue (Ring Buffer)
A queue is a FIFO (first-in, first-out) container. The two main operations are: Enqueue / Push — add to the back. Dequeue / Pop — remove from the front.
Read article →Chapter 4 — Sorting
Sorting is the canonical algorithms topic. Knowing several sorts and their trade-offs is part of any working programmer's vocabulary. This chapter implements five classic algorithms in Go and explains when to use each.
Read article →Chapter 5 — Hash Tables
A hash table maps keys to values with expected O(1) lookup, insert, and delete. The trick: a hash function turns a key into an integer, which is reduced (modulo the bucket count) into an index, and an entry is stored at
Read article →Chapter 6 — Binary Heap (Priority Queue)
A binary heap is an array-based complete binary tree that satisfies the heap property
Read article →Chapter 7 — Balanced Binary Search Tree (AVL)
A binary search tree (BST) stores keys so that for every node N: All keys in the left subtree are < N.key. All keys in the right subtree are > N.key.
Read article →Chapter 8 — Graphs
A graph is a set of vertices connected by edges. Edges may be: Directed (arrows) or undirected (lines). Weighted (edge has a number) or unweighted.
Read article →Design considerations & assumptions
This document satisfies the Checkout.com offline assessment request to capture key design considerations and assumptions.
Read article →Payment Gateway Challenge (Go + Echo + PostgreSQL)
Implementation of the Checkout.com offline payment-gateway assessment, using Go, Echo, PostgreSQL, and the official Mountebank bank simulator from the reference repo.
Read article →🎉 JavaScript Full Curriculum - COMPLETE!
I've successfully created 8 complete modules with 80 detailed lessons and extensive code examples. This represents 100% of the entire curriculum and provides students with comprehensive JavaScript and full-stack developm
Read article →🎯 JavaScript Full Curriculum - Complete Package
I've created a comprehensive JavaScript curriculum package that includes
Read article →🚀 Quick Start Guide for Instructors
This JavaScript curriculum is designed to take students from absolute beginners to full-stack developers. Here's how to use it effectively
Read article →🎯 JavaScript Full Curriculum - MAJOR MILESTONE ACHIEVED!
I've successfully created 6 complete modules with 60 detailed lessons and extensive code examples. This represents 75% of the entire curriculum and provides students with comprehensive JavaScript and full-stack developme
Read article →🎯 JavaScript Full Curriculum — "From Zero to Full-Stack Ready"
A comprehensive, hands-on JavaScript curriculum designed to take students from absolute beginners to full-stack developers ready for production work.
Read article →Module 1: JavaScript Foundations
Goal: Understand JavaScript syntax, variables, operators, and basic programming logic.
Read article →Lesson 1: Introduction to Programming & JavaScript
By the end of this lesson, you will be able to: Understand what JavaScript is and why it matters Know where JavaScript runs (browser + Node.js) Set up your development environment Write your first "Hello World" program U
Read article →Lesson 2: Variables and Data Types
By the end of this lesson, you will be able to: Understand what variables are and why we use them Declare variables using var, let, and const Identify and work with different data types Convert between different data typ
Read article →Lesson 3: Operators
By the end of this lesson, you will be able to: Use arithmetic operators for calculations Apply assignment operators to store results Compare values with comparison operators Combine conditions with logical operators Use
Read article →