User:Dvpetrenko/Books/MIT Orientation

Software Developer Continued Study

 * Chapter 1 - Math
 * Set theory
 * Graph theory
 * Graph (discrete mathematics)
 * Information theory
 * Boolean algebra


 * Chapter 2a - Computer Science
 * Turing machine
 * Algorithms + Data Structures = Programs
 * Data structure
 * Algorithm
 * List of algorithms
 * List of data structures
 * Recursion (computer science)
 * Algorithmic efficiency
 * Computational complexity theory
 * Database
 * Database schema
 * Relational database
 * Distributed database
 * List of relational database management systems
 * FIFO (computing and electronics)
 * Memory management
 * Resource allocation (computer)
 * Heuristic (computer science)
 * Union (set theory)
 * Intersection (set theory)
 * Complement (set theory)
 * Symmetric difference
 * Abstract data type
 * Collection (abstract data type)
 * Array data type
 * List (abstract data type)
 * Linked list
 * Mathematical optimization
 * Program optimization
 * Thread (computing)
 * Scheduling (computing)
 * Multithreading (computer architecture)
 * Processor affinity
 * Fixed-priority pre-emptive scheduling
 * Hyper-threading
 * Starvation (computer science)
 * Operating system
 * Computing platform
 * Kernel (operating system)
 * Shell (computing)
 * Process (computing)
 * Embedded operating system


 * Chapter 2b - Computing Architecture
 * Computer architecture
 * Central processing unit
 * Bus (computing)
 * System bus
 * Computer memory
 * Random-access memory
 * Random access
 * Data buffer
 * Data access object
 * Interrupt
 * Interrupt handler
 * Device driver
 * Instruction set
 * Stack (abstract data type)
 * Memory segmentation
 * Processor register
 * Program counter
 * Hardware register


 * Chapter 3 - Computer Language Architecture (Computer Science)
 * Systems architecture
 * Software architecture
 * High-level language computer architecture
 * Syntax (programming languages)
 * Lexical analysis
 * Operator (computer programming)
 * Compiler
 * Reduction (complexity)
 * Moore reduction procedure
 * P-code machine
 * Code generation (compiler)
 * Machine code
 * Source code
 * Execution (computing)
 * Assembly language
 * Literal (computer programming)
 * Data type
 * Primitive data type
 * Programming language
 * Reserved word
 * Statement (computer science)
 * Expression (computer science)
 * Reference type
 * Variable (computer science)
 * Pointer (computer programming)


 * Chapter 4 - Structured Programming (Craft)
 * Structured programming
 * Non-structured programming
 * Structured program theorem
 * Modular programming
 * Procedural programming
 * Imperative programming
 * Conditional (computer programming)


 * Chaper 5 - OOP
 * Abstraction (software engineering)
 * Encapsulation (computer programming)
 * Inheritance (object-oriented programming)
 * Polymorphism (computer science)


 * Chapter 6 - Software Architecture (Craft)
 * Software architecture description
 * Software design pattern
 * List of software architecture styles and patterns
 * Architectural pattern
 * Functional software architecture
 * Architecture description language