Start with Introduction to Algorithms for rigorous algorithmic analysis, use The Algorithm Design Manual as a practical bridge into algorithm design, and use The Elements of Computing Systems if you want to connect logic gates, architecture and software. Pick one chapter, problem set or implementation idea, then write down what you understood and what remains unclear.
For video, Computerphile is useful for algorithms, security and theory; CS50 builds programming foundations; MIT OpenCourseWare supports algorithmic intuition; 3Blue1Brown is strongest for mathematical visualisation; and freeCodeCamp.org helps with data structures and algorithms. Use these channels to generate questions, not to create a passive watch history.
For listening, Darknet Diaries can prompt systems and security questions, CoRecursive connects software design with long-term learning, The Changelog introduces commercial and research settings, and Software Engineering Daily gives computer-science research context. After an episode, identify one concept worth verifying through reading or code.
For structured study, CS50x: Introduction to Computer Science builds programming confidence, 6.006 Introduction to Algorithms links programming to formal algorithm analysis, Algorithms Specialization gives a structured path through algorithm design and analysis for applicants wanting more depth, and Nand2Tetris supports systems-focused applicants. Structured courses are most useful when you complete exercises and can explain the method afterwards.