Maths Principles for CS

Subdecks (3)

Cards (72)

  • People often say you don't need to know any math to program a computer and that's truthy
  • Any sufficiently advanced technology is indistinguishable from Magic but magic isn't real
  • Math Explains It All
  • Developers often avoid learning math because it looks scary but it actually makes complicated magic like computer graphics and neural networks easier to understand
  • Understanding math unlocks the secrets of the entire physical Universe
  • There's a few abstract math concepts for programmers that you just can't ignore and understanding them will make you think more like a true engineer
  • The first person who survives until the end and cracks the code will win this one of a kind Balenciaga fireship hoodie
  • Boolean
    A binary variable that can have two possible values: true or false
  • Boolean operators

    • And
    • Or
    • Not
  • Conjunction
    And operation
  • Disjunction
    Or operation
  • Negation
    Not operation
  • Boolean logic example
    • If you're both rich and handsome you'll definitely get a girlfriend
    • If you're not rich and not handsome you'll have to pay for an only Fan's girlfriend
    • If you're rich or handsome you can still get a girlfriend but your selection is more limited
  • Boolean logic can be represented with Venn diagrams and truth tables
  • Numeral system
    A system for representing numbers
  • Base 2 (binary)

    The numeral system used by computers, where each place is multiplied by 2
  • Base 10 (decimal)

    The numeral system commonly used by humans, where each place is multiplied by 10
  • Base 16 (hexadecimal)

    A numeral system that uses the digits 0-9 and A-F, where each digit represents 4 bits
  • Base 64
    A numeral system that uses 64 characters to represent binary data as text
  • Floating-point numbers
    A way to represent very large or very small numbers by using an exponent
  • Floating-point numbers can have rounding errors due to the limited precision of the representation
  • Logarithm
    The inverse of exponentiation, representing how many times a base number must be multiplied by itself to get a target number
  • Binary logarithm
    A logarithm with base 2
  • Common logarithm
    A logarithm with base 10
  • Set
    An unordered collection of unique values
  • Intersection (inner join)

    The set of elements common to two sets
  • Union (full outer join)

    The set of all elements from two sets
  • Difference
    The set of elements in one set that are not in another set
  • Discrete math
    The study of mathematical structures that have a finite number of elements
  • Combinatorics
    The study of counting and enumerating discrete structures
  • Graph
    A collection of nodes (vertices) connected by edges
  • Directed graph
    A graph where the edges have a direction
  • Undirected graph

    A graph where the edges have no direction
  • Weighted edge
    An edge with a numerical value assigned to it
  • Cyclic graph
    A graph where a node can be reached from itself by traversing edges
  • Acyclic graph
    A graph where no node can be reached from itself by traversing edges
  • Big O notation
    A way to express the time and space complexity of an algorithm
  • Constant time (O(1))
    An algorithm that takes the same amount of time regardless of input size
  • Linear time (O(n))
    An algorithm where the time taken is proportional to the input size
  • Quadratic time (O(n^2))
    An algorithm where the time taken is proportional to the square of the input size