This is a list of resources for people who wants to get into the world programming and do not have the necessary background for that.
Albert Meyer, and Adam Chlipala. 6.042J Mathematics for Computer Science. Spring 2015. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
This course includes 18 hours and 43 minutes of video content (33 minutes are optional). The video content is backed with a lot of examples. The course provides a complete mathematical background for computer science. Optional content is marked with italic text.
There are also some supplementary content which is marked with bold text (if also optional bold italic). Currently, supplementary content consists of 52 minutes of video and 1 hour and 2 minutes of reading metarial.
- Introduction
- “What is Discrete Mathematics? How is discrete mathematics used in computer science? How do MPCS students benefit from learning discrete mathematics?” https://masters.cs.uchicago.edu/page/math-needed-computer-science (Reading: 0:09)
- The math needed for computer science (Video: 0:15)
- Intro to Proofs
- Welcome to 6.042 (Video: 0:02)
- Intro To Proofs: Part 1 (Video: 0:09)
- Intro to Proofs: Part 2 (Video: 0:07)
- Definitions To Know For Proofs
- Modus Ponens
- Proof Methods
- Proof By Contradiction (Video: 0:08)
- Proof By Contradiction
- Proof By Cases (Video: 0:07)
- When to Prove by Cases
- Friends and Strangers
- A Bogus Proof by Cases
- A Bogus Proof by Contradiction
- Well Ordering Principle
- Well Ordering Principle 1 (Video: 0:06)
- Domain for Well Ordering Principle
- Well Ordering Principle 2 (Video: 0:05)
- Well Ordering Proofs and Counterexamples
- Well Ordering Principle 3 (Video: 0:06)
- WOP Proof for Geometric Sum
- Well Ordering Principle - Examples
- A Bogus Well Ordering Principle Proof 1 Logic & Propositions
- Propositional Operators (Video: 0:09)
- Propositional Operators
- Digital Logic (Video: 0:10)
- Truth Tables (Video: 0:13)
- Equivalence and Truth Table
- Implies (Video: N/A)
- Propositional Logic (Video: N/A)
- Soundness and Validity
- Logical Connectives
- Quantifiers & Predicate Logic
- Predicate Logic 1 (Video: 0:13)
- Predicate Logic 2 (Video: 0:12)
- Satisfiability
- Predicate Logic 3 (Video: 0:08)
- Name That Predicate!
- Quantifiers
- Propositions with Quantifiers
- Predicate Logic
- Sets
- Sets Definitions (Video: 0:12)
- Sets Operations (Video: 0:09)
- Difference
- Binary Relations
- Relations (Video: 0:25)
- Range of a Relation
- Relational Mappings (Video: 0:09)
- Total Injection
- Finite Cardinality (Video: 0:11)
- A inj B
- Total Relations
- Surjective Relations
- Inverse Relations
- In- ,Sur-, and Bijections
- Mapping Lemma: Sizes of Domains and Codomains
- Induction
- Induction (Video: 0:22)
- Bogus Induction (Video: 0:05)
- Same Colored Horses
- Strong Induction (Video: 0:10)
- Unstacking Game Score
- WOP vs Induction (Video: 0:08)
- Strong vs Ordinary Induction vs WOP
- Induction by n+3
- Induction Rules
- Postage by Induction
- A Bogus Induction
- State Machines - Invariants
- State Machines Invariants (Video: 0:26)
- State Machine Invariants
- Derived Variables (Video: 0:06)
- Derived Variables and Termination
- Integer Multiplication
- Chocolate Bars
- Recursive Definition
- Recursive Data (Video: 0:13)
- Matching Parentheses
- Functions of F18
- Structural Induction (Video: 0:06)
- Structural Induction: Definition
- Counting Cases
- Recursive Functions (Video: 0:14)
- Infinite Sets
- Cardinality (Video: 0:13)
- Cantor, Schroeder-Bernstein
- Countable Sets (Video: 0:10)
- Cantor's Theorem (Video: 20)
- Cantor's Diagonal Argument
- Countable and Uncountable Sets
- The Halting Problem (Video: 0:16)
- Halting Problem Basics
- Russell's Paradox (Video: 0:13)
- Russell's Paradox and ZFC
- Set Theory Axioms (Video: 0:09)
- Set Theory Axioms
- GCDs
- GCDs & Linear Combinations (Video: 0:10)
- Euclidean Algorithm (Video: 0:09)
- Run Euclid Run
- Pulverizer (Video: 0:12)
- GCDs I
- Revisiting Die Hard (Video: 0:05)
- Prime Factorization (Video: 0:08)
- Unique Primes
- Divisors
- GCDs II
- Congruences
- Congruence mod n (Video: 0:13)
- Divisibility and Congruence
- Inverses mod n (Video: 0:04)
- Inverses mod n
- Multiplicative Inverses
- Inverses With Linear Combinations
- Euler's Theorem
- Modular Exponentiation Euler's Function (Video: 0:06)
- Euler's Totient Function
- The Ring Z (Video: 0:17)
- The Ring
- Z mod n
- Fermat's Little Theorem
- Euler's Theorem
- RSA Encryption
- RSA Public Key Encryption (Video: 0:22)
- RSA Encryption
- Reducing Factoring To SAT (Video: 0:07)
- Relative Primality
- RSA computations
- Digraphs: Walks & Paths
- Digraphs: Walks & Paths (Video: 0:04)
- Walks and Paths
- Digraphs: Connected Vertices (Video: 0:07)
- Longest Path
- Adjacency Matrix
- Counting Paths
- Directed Acyclic Graphs (DAGs) & Scheduling
- DAGs (Video: 0:11)
- DAGs
- Scheduling (Video: 0:13)
- Scheduling Prerequisites
- Time versus Processors (Video: 0:10)
- Processor Time Bounds
- The Divisibility DAG
- Partial Orders and Equivalence
- Partial Orders (Video: 0:11)
- Population Partial Order
- Representing Partial Orders As Subset Relations (Video: 0:07)
- Equivalence Relations (Video: 0:07)
- Relational Properties
- Properties Of Relations
- Equivalence Relations & Partial Orders
- Degrees & Isomorphism
- Degree (Video: 0:11)
- Counting Degrees & Edges
- Isomorphism (Video: 0:11)
- Isomorphism
- Extreme Graphs
- Isomorphic Graphs
- Non-Isomorphic Graphs
- Coloring & Connectivity
- Coloring (Video: 0:16)
- Chromatic Number
- Connectivity (Video: 0:03)
- k-Connectivity (Video: 0:08)
- k-Connected
- Graph Coloring I
- Graph Coloring II
- Connected Components in Integers
- Trees
- Trees (Video: 0:06)
- Trees: Many Definitions
- Tree Coloring (Video: 0:02)
- 2-Colorable Trees
- Spanning Trees (Video: 0:11)
- Span all the Graphs!
- Tree or Not Tree?
- Leaves
- Minimum Spanning Trees
- Graph Algorithm
- Stable Matching
- Stable Matching (Video: 0:11)
- Eşleme Kuramı ve 2012 Nobel Ekonomi Ödülü (Reading (in Turkish): 0:41)
- Matching Ritual (Video: 0:09)
- Derived Variables
- Mating Ritual
- Optimal Stable Matching (Video: 0:09)
- Boy Optimal
- Bipartite Matching (Video: 0:04)
- Bipartite Equivalence Relation
- Hall's Theorem (Video: 0:16)
- Bottleneck
- Bipartite Graphs
- Matching
- Stable Matching Invariants
- Sums & Products
- Arithmetic Sums (Video: 0:04)
- Perturbation by Young Gauss
- Geometric Sums (Video: 0:11)
- Annuities
- Book Stacking (Video: 0:08)
- Harmonic Numbers
- Integral Method (Video: 0:10)
- Integral Method Demystified
- Stirling's Formula (Video: 0:06)
- Applying Stirling's Formula
- Convergence of Geometric Series
- Summation
- Sum's Upper Lower Bounds
- Asymptotics
- Asymptotic Notation (Video: 0:08)
- Asymptotics as Relations
- Asymptotic Properties (Video: 0:10)
- Little oh Big Oh
- Theta
- Asymptotic Blunders (Video: 0:04)
- Asymptotics the Right Way
- Practice with Big O
- Practice with Order of Growth
- Counting with Bijections
- Sum And Product Rules (Video: 0:07)
- Counting Practice
- Counting with Bijections (Video: 0:12)
- Selecting Donuts
- Counting Functions
- Repetitions & Binomial Theorem
- Generalized Counting Rules (Video: 0:10)
- Choosing Integers
- Two Pair Poker Hands (Video: 0:08)
- Binomial Theorem (Video: 0:06)
- Multinomial Theorem (Video: 0:08)
- Pigeonhole Principle, Inclusion-Exclusion
- The Pigeonhole Principle (Video: 0:04)
- Prove that there are at least 4 months in every year which includes 5 Tuesdays.
- Rolling Dice
- Inclusion-Exclusion Example (Video: 0:13)
- Inclusion-Exclusion 2 Sets (Video: 0:07)
- Pigeonhole Principle
- 6.042 TEAL Table
- Class Schedules
- Intro to Discrete Probability
- Tree Model (Video: 0:25)
- Socks and Shoes
- Simplified Monty Hall Tree (Video: 0:08)
- Simplify Prize Tree
- Sample Spaces (Video: 0:10)
- Sum Rule Practice
- Addition Rule
- Fun With Coins
- Conditional Probability
- Conditional Probability Definitions (Video: 0:12)
- Dicey Sum
- Law of Total Probability (Video: 0:04)
- Cavities and Candy
- Bayes' Theorem (Video: 0:12)
- Two Boys
- Monty Hall Problem (Video: 0:09)
- Conditional Probability
- Dicey Game
- Watch Out For Crocodiles
- Independence & Causality
- Independence (Video: 0:04)
- Independent Dice Rolls
- Mutual Independence (Video: 0:08)
- Mutually Independent Dice Rolls
- Independent vs Disjoint
- Labeled Balls
- Paradox
- Random Variables, Density Functions
- Bigger Number Game (Video: 0:12)
- Random Variables: Independence (Video: 0:16)
- Odd Heads and Matches
- Random Variables: Uniform & Binomial (Video: 0:12)
- Late For A Date
- A Random Number
- PDF to CDF
- Dice And Coin Game
- Expectation
- Expectation (Video: 0:19)
- Uneven Dice
- Expected Number Of Heads (Video: 0:05)
- Expected Number of Heads
- Total Expectation (Video: 0:04)
- Another Dice and Coin Game
- Mean Time to Failure (Video: 0:11)
- Three Machines Failing
- Linearity of Expectation (Video: 0:19)
- Fair and Biased Coins
- Binomial Board Breaking
- Great Expectations
- Expectation of a Uniform Distribution
- Deviation: Markov & Chebyshev Bounds
- Deviation From The Mean (Video: 0:08)
- Don't Expect the Expectation
- Markov Bounds (Video: 0:09)
- Markov Bound
- Chebyshev Bounds (Video: 0:10)
- Inside the TA's Brain
- Variance (Video: 0:15)
- Practice with Variance
- Flipping Coins
- Practice with Bounds
- Implications of Expectation
- Sampling & Confidence
- Law Of Large Numbers (Video: 0:14)
- Not So Strong
- Independent Sampling Theorem (Video: 0:07)
- Sampling Coin Tosses
- Birthday Matching (Video: 0:12)
- Birthdays On Naboo
- Sampling & Confidence (Video: 0:13)
- Confidence
- Random Sampling
- Above Average Number of Fingers
- Random Walks & Pagerank
- Random Walks (Video: 0:11)
- Stationary Distributions (Video: 0:16)
- Page Rank (Video: 0:11)
- Random Walks
- Random Walks (cont.)
- A beginner's guide to quantum computing (Video: 0:10)
- Linear Algebra
- Linear Algebra for Computer Scientists (Video: 0:17)
- Why is Linear Algebra Useful? (Video: 0:10)
- Numerical methods example: Fast inverse square root (Reading: 0:12)
https://cs50.harvard.edu/summer/2020/
This course is an intensive introduction to the intellectual enterprises of computer science and the art of programming. It is a fast-moving course that demands a substantial commitment of time and effort for students to be successful. It teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets are inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.
This course includes 18 hours and 9 minutes of video content. The video content is backed with a lot of examples.
- Week 0: Scratch (Video: 1:02)
- Week 1: C (Video: 1:46)
- Week 2: Arrays (Video: 1:47)
- Week 3: Algorithms (Video: 1:29)
- Week 4: Memory (Video: 1:48)
- Week 5: Data Structures (Video: 1:45)
- Week 6: Python (Video: 1:48)
- Week 7: SQL (Video: 1:46)
- Week 8: HTML, CSS, JavaScript
- Introduction (Video: 0:02)
- HTTP (Video: 0:19)
- HTML (Video: 0:30)
- CSS (Video: 0:37)
- JavaScript (Video: 0:48)
- Homepage (Video: 0:09)
- Week 9: Web Programming
- Flask (Video: 0:54)
- Databases (Video: 0:29)
- Finance (Video: 0:27)
- Conclusion (Video: 0:01)
- Week 10: Information (Video: 0:52)