From 19fcd3399378c57fcdb84789e96e470115e45ea7 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Tue, 8 Nov 2022 18:02:20 +0400 Subject: [PATCH] Ad content for design patterns and math skills --- .../100-gof-design-patterns.md | 7 ++++- .../101-architectural-patterns.md | 8 +++++- .../102-dependency-injection.md | 8 +++++- .../103-null-object-pattern.md | 8 +++++- .../104-type-object-pattern.md | 7 ++++- .../content/111-design-patterns/readme.md | 7 ++++- .../112-basic-math-skills/100-probability.md | 13 ++++++++- .../101-combinatorics.md | 10 ++++++- .../content/112-basic-math-skills/readme.md | 28 ++++++++++++++++++- 9 files changed, 87 insertions(+), 9 deletions(-) diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md b/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md index 80a8498fd..d80982929 100644 --- a/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md +++ b/content/roadmaps/103-computer-science/content/111-design-patterns/100-gof-design-patterns.md @@ -1 +1,6 @@ -# Gof design patterns \ No newline at end of file +# GoF Design Patterns + +Gang of Four (GoF) design patterns are a set of 23 design patterns that were first described in the book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The book is commonly referred to as the "Gang of Four book". + +Free Content +Design Patterns for Humans diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md b/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md index 9dc6d42a6..c301c1bef 100644 --- a/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md +++ b/content/roadmaps/103-computer-science/content/111-design-patterns/101-architectural-patterns.md @@ -1 +1,7 @@ -# Architectural patterns \ No newline at end of file +# Architectural Patterns + +Architectural patterns are a high-level design pattern that focuses on the overall structure of the system. They are similar to design patterns, but they are more concerned with the structure of the system. They are used to solve problems that are common to many software systems. + +Free Content +10 Common Software Architectural Patterns in a nutshell +Architectural Pattern - Wikipedia diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md b/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md index 450bde1c7..4bf9e4d22 100644 --- a/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md +++ b/content/roadmaps/103-computer-science/content/111-design-patterns/102-dependency-injection.md @@ -1 +1,7 @@ -# Dependency injection \ No newline at end of file +# Dependency Injection + +Dependency injection is a software design pattern that allows us to decouple the dependencies of a class from the class itself. This allows us to write more flexible and testable code. + +Free Content +Dependency Injection - StackOverflow +What is Dependency Injection? diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md b/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md index 534a248fb..49b8a648f 100644 --- a/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md +++ b/content/roadmaps/103-computer-science/content/111-design-patterns/103-null-object-pattern.md @@ -1 +1,7 @@ -# Null object pattern \ No newline at end of file +# Null Object Pattern + +Null object pattern is a design pattern that is used to represent a null value with an object. It is a way to avoid null reference exceptions by providing a default object that does nothing. It is a way to provide a default behavior in case data is not available. + +Free Content +Design Patterns - Null Object Pattern +Null Object Design Pattern - Geeks for Geeks diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md b/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md index b7d326203..09056d4bf 100644 --- a/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md +++ b/content/roadmaps/103-computer-science/content/111-design-patterns/104-type-object-pattern.md @@ -1 +1,6 @@ -# Type object pattern \ No newline at end of file +# Type Object Pattern + +Type object pattern is a creational design pattern that allows us to create a new object of a type without exposing the object creation logic to the client. It is used when we need to create a new object of a type, but we don't know which type we need to create until runtime. It is like a factory pattern, but instead of returning a new object of a type, it returns a new object of a type that is already created. + +Free Content +Type Object Pattern diff --git a/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md b/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md index 9dfa41d0d..a44af17e0 100644 --- a/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md +++ b/content/roadmaps/103-computer-science/content/111-design-patterns/readme.md @@ -1 +1,6 @@ -# Design patterns \ No newline at end of file +# Design Patterns + +Design patterns are solutions to common problems in software design. They are formalized best practices that the programmer can use to solve common problems when designing an application or system. + +Free Content +Design Patterns - Wikipedia diff --git a/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md b/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md index 86dc03cc9..c220858f1 100644 --- a/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md +++ b/content/roadmaps/103-computer-science/content/112-basic-math-skills/100-probability.md @@ -1 +1,12 @@ -# Probability \ No newline at end of file +# Probability + +Probability is the study of how likely an event is to occur. It is a measure of how certain we are that an event will happen. + +MIT 6.042J - Probability Introduction +MIT 6.042J - Conditional Probability +MIT 6.042J - Independence +MIT 6.042J - Random Variables +MIT 6.042J - Expectation I +MIT 6.042J - Expectation II +MIT 6.042J - Large Deviations +MIT 6.042J - Random Walks diff --git a/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md b/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md index 949d807aa..d6b6f8a07 100644 --- a/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md +++ b/content/roadmaps/103-computer-science/content/112-basic-math-skills/101-combinatorics.md @@ -1 +1,9 @@ -# Combinatorics \ No newline at end of file +# Combinatorics + +Combinatorics is the study of counting. It is a branch of mathematics that is used to solve problems in a variety of fields, including computer science, statistics, and physics. In computer science, combinatorics is used to solve problems related to counting the number of possible outcomes of a given problem. For example, if you are given a set of 10 objects, how many different ways can you arrange them? Or, if you are given a set of 10 objects, how many different ways can you choose 3 objects from that set? These are examples of combinatorial problems. + +Free Content +Math Skills: How to find Factorial, Permutation and Combination +Make School: Probability +Make School: More Probability and Markov Chains +Probability and Combinatorics Topic diff --git a/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md b/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md index e56bea4b7..d4adf7aaf 100644 --- a/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md +++ b/content/roadmaps/103-computer-science/content/112-basic-math-skills/readme.md @@ -1 +1,27 @@ -# Basic math skills \ No newline at end of file +# Basic Math Skills + +Math is a fundamental skill for computer science. + +Lec 1 | MIT 6.042J Mathematics for Computer Science, Fall 2010 + +##### Math for Fast Processing + +Integer Arithmetic, Karatsuba Multiplication +The Chinese Remainder Theorem (used in cryptography) + +##### Discrete Math + +Computer Science 70, 001 - Spring 2015 - Discrete Mathematics and Probability Theory +Discrete Mathematics by Shai Simonson (19 videos) +Discrete Mathematics By IIT Ropar NPTEL + +##### Probability + +MIT 6.042J - Probability Introduction +MIT 6.042J - Conditional Probability +MIT 6.042J - Independence +MIT 6.042J - Random Variables +MIT 6.042J - Expectation I +MIT 6.042J - Expectation II +MIT 6.042J - Large Deviations +MIT 6.042J - Random Walks