Best of AlgorithmsNovember 2025

  1. 1
    Article
    Avatar of dr92d50hhGeorge·28w

    Don't forget about the Advent of Code this year neither

    Advent of Code is an annual December event featuring daily programming puzzles that help developers practice problem-solving skills and algorithmic thinking. Each day from December 1st to 25th presents a new coding challenge that can be solved in any programming language, making it a popular way for developers to sharpen their skills during the holiday season.

  2. 2
    Article
    Avatar of spotifySpotify Labs·28w

    Shuffle: Making Random Feel More Human

    Spotify redesigned its shuffle feature to balance statistical randomness with user perception. While the previous implementation used pure randomization (Mersenne Twister), users complained about repetitive patterns. The new 'Fewer Repeats' system generates multiple random sequences, scores them based on listening history and recency, then selects the freshest option. This approach maintains mathematical randomness while reducing perceived repetition. Premium users now get this as default, with classic random shuffle still available as 'Standard Shuffle'.

  3. 3
    Article
    Avatar of hnHacker News·27w

    Think in Math. Write in Code.

    Programming languages are implementation tools, not thinking tools. Mathematical reasoning provides a flexible, constraint-free medium for solving computational problems before writing code. The article argues that steps like problem understanding and solution design should happen in mathematical terms first, allowing developers to focus on optimal implementation choices afterward. It demonstrates how mathematical abstraction enables multiple perspectives on the same concept (unlike rigid code abstractions), delays representation decisions until requirements are clear, and helps identify hidden assumptions through formal definitions and proofs.

  4. 4
    Video
    Avatar of freecodecampfreeCodeCamp·26w

    Learn programming fundamentals first. Then you can use AI to help you become more efficient.

    Mastering programming fundamentals like data structures, algorithms, and design patterns is essential before relying on AI tools. Understanding these core concepts enables developers to effectively communicate with and leverage AI for productivity, rather than becoming dependent on it without foundational knowledge.

  5. 5
    Article
    Avatar of freecodecampfreeCodeCamp·27w

    Learn Discrete Mathematics

    A comprehensive 9-hour course covering discrete mathematics fundamentals essential for computer science, including combinatorics, number theory, prime numbers, graph theory, and their applications in machine learning and algorithms. The course includes practical Python implementations using itertools, explores key concepts like permutations, binomial coefficients, modular arithmetic, and advanced topics such as Stirling numbers and the Chinese remainder theorem.