Skip to content

About This Site

graph TD
    V[Variables] --> C[Control Flow]
    C --> F[Functions]
    F --> O[Objects]

Wyatt’s Notes offers comprehensive study materials for programming across multiple languages and paradigms. These notes cover C++ as the primary focus, with additional resources for Python, Java, and other major languages, building from fundamentals to advanced systems programming.

These notes are created by Wyatt, an educator and content developer with expertise in multiple programming languages and paradigms. Content emphasises hands-on coding, problem-solving, and the software engineering principles that distinguish professional developers.

Materials are structured to build practical skills progressively. Every concept includes worked code examples, common pitfalls, and the best practices that experienced developers rely on in production environments.

  • Language-specific notes for C++, Python, Java, and more
  • Programming paradigms covering procedural, object-oriented, and functional styles
  • Data structures and algorithms implemented across multiple languages
  • Software engineering principles including design patterns and testing

Wyatt develops resources across programming, computer science theory, and systems administration, providing the full-stack perspective that enhances programming materials. Content is informed by industry standards, open-source best practices, and academic CS curricula.

Choose your language to find structured topic breakdowns. Each section progresses from syntax fundamentals to advanced idioms. Use the practice problems to develop your coding skills through hands-on experience.

Visit wyattsnotes.wyattau.com for the full network of study resources.

This site provides comprehensive study materials covering:

  • Fundamentals
  • Data structures
  • Algorithms
  • Design patterns
  • Concurrency

Each topic includes detailed explanations, worked examples, and practice problems designed to build deep understanding.

  1. Start with fundamentals, begin with the core topics before moving to advanced material
  2. Work through examples, every concept includes worked examples with step-by-step solutions
  3. Test yourself, use the practice problems and diagnostic tests to identify knowledge gaps
  4. Cross-reference, related topics on other sites in the Wyatt’s Notes network provide additional perspectives
  • Flashcards, spaced repetition flashcards for key concepts and formulas
  • Practice Problems, graded problems from basic to advanced
  • Diagnostic Tests, identify your strengths and weaknesses
  • Worked Examples, step-by-step solutions to common problems

These notes are informed by standard university textbooks including SICP, Clean Code, Design Patterns. While the notes follow the general structure of these texts, they are not a substitute for reading the primary sources.

basic programming knowledge

Wyatt’s Notes is a network of 45+ study sites covering physics, mathematics, computer science, programming languages, and more. Each site is built with Astro and Starlight, using SolidJS for interactive components.

For questions, corrections, or suggestions, visit wyattsnotes.wyattau.com or open an issue on GitHub.

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Consult the recommended textbooks and additional resources for deeper understanding of this topic.