Personal Notes
Computer Science Fundamentals
Intro to Computer Systems
Programming Languages
C++ Primer
- Chapter 1 Getting Started
- Chapter 2 Variables and Basic Types
- Chapter 3 Strings, Vectors, and Arrays
- Chapter 4 Expressions
- Chapter 5 Statements
- Chapter 6 Functions
- Chapter 7 Classes
- Chapter 8 The IO Library
- Chapter 9 Sequential Containers
- Chapter 10 Generic Algorithms
- Chapter 11 Associative Containers
- Chapter 12 Dynamic Memory
- Chapter 13 Copy Control
- Chapter 14 Overloaded Operations and Conversions
- Chapter 15 Object-Oriented Programming
- Chapter 16 Templates and Generic Programming
Fluent Python
- Chapter 1 The Python Data Model
- Chapter 2 An Array of Sequences
- Chapter 3 Dictionaries and Sets
- Chapter 4 Text versus Bytes
- Chapter 5 First-Class Functions
- Chapter 6 Design Patterns with First-Class Functions
- Chapter 7 Function Decorators and Closures
- Chapter 8 Object References, Mutability, and Recycling
- Chapter 9 A Pythonic Object
- Chapter 10 Sequence Hacking, Hashing, and Slicing
- Chapter 11 Interfaces - From Protocols to ABCs
- Chapter 12 Inheritance - For Good or For Worse
- Chapter 13 Operator Overloading - Doing it Right
- Chapter 14 Iterables, Iterators, and Generators
- Chapter 15 Context Managers and else Blocks
- Chapter 16 Coroutines
- Chapter 17 Concurrency with Futures
- Chapter 18 Concurrency with asyncio
- Chapter 19 - Dynamic Attributes and Properties
- Chapter 20 - Attribute Descriptors
- Chapter 21 Class Metaprogramming
- Fluent Python Extra - doctest
Effective Python
Learning Go
- Chapter 1 Setting Up Your Go Environment
- Chapter 2 Predeclared Types and Declarations
- Chapter 3 Composite Types
- Chapter 4 Blocks, Shadows, and Control Structures
- Chapter 5 Functions
- Chapter 6 Pointers
- Chapter 7 Types, Methods, and Interfaces
- Chapter 8 Generics
- Chapter 9 Errors
- Chapter 10 Modules, Packages, and Imports
- Chapter 15 Writing Tests
100 Go Mistakes
Data Structures & Algorithms
Cracking the Coding Interview
- Chapter 1 Arrays and Strings
- Chapter 2 Linked Lists
- Chapter 3 Stacks and Queues
- Chapter 4 Trees and Graphs
- Chapter 5 Bit Manipulation
- Chapter 6 Math and Logic Puzzles
- Chapter 8 Recursion and Dynamic Programming
- Chapter 10 Sorting and Searching
- Chapter 12 C and C++
- Chapter 16 Moderate
- Chapter 17 Hard
Random Notes of Coding
- Problem List
- Chapter 1 Arrays
- Chapter 2 Linked Lists
- Chapter 3 Hash Tables
- Chapter 4 Strings
- Chapter 5 Stacks and Queues
- Chapter 6 Binary Trees (1)
- Chapter 7 Binary Trees (2)
- Chapter 8 Binary Trees (3)
- Chapter 9 Backtracking
- Chapter 10 Greedy Algorithms (1)
- Chapter 11 Greedy Algorithms (2)
- Chapter 12 Monotonic Stack
- Chapter 13 Dynamic Programming (1)
- Chapter 14 Dynamic Programming (2)
- Chapter 15 Dynamic Programming (3)
- Chapter 16 Dynamic Programming (4)
- Chapter 17 Graphs (1)
- Chapter 18 Graphs (2)
- Chapter 19 Graphs (3)
- Summary of Algorithm Problems and Techniques
- Algorithms to Remember
- (Extra) HackerRank Exercises