From 8e9ef5ba62b8bee028428384ad5666e245eb854c Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Sun, 17 Feb 2019 21:53:36 +0100 Subject: content update --- .../cartesian-coordinate-system.svg | 404 --------------------- .../basic-math-in-programming/default.pug | 206 ----------- .../basic-math-in-programming/drawing1.svg | 264 -------------- .../basic-math-in-programming/kmplot.fkt | 37 -- .../basic-math-in-programming/kmplot.svg | 395 -------------------- .../levenshtein-distance.svg | 211 ----------- .../basic-math-in-programming/meta.json | 3 - .../basic-math-in-programming/test.png | Bin 454303 -> 0 bytes 8 files changed, 1520 deletions(-) delete mode 100644 slides/presentations/basic-math-in-programming/cartesian-coordinate-system.svg delete mode 100644 slides/presentations/basic-math-in-programming/default.pug delete mode 100644 slides/presentations/basic-math-in-programming/drawing1.svg delete mode 100644 slides/presentations/basic-math-in-programming/kmplot.fkt delete mode 100644 slides/presentations/basic-math-in-programming/kmplot.svg delete mode 100644 slides/presentations/basic-math-in-programming/levenshtein-distance.svg delete mode 100644 slides/presentations/basic-math-in-programming/meta.json delete mode 100644 slides/presentations/basic-math-in-programming/test.png (limited to 'slides/presentations/basic-math-in-programming') diff --git a/slides/presentations/basic-math-in-programming/cartesian-coordinate-system.svg b/slides/presentations/basic-math-in-programming/cartesian-coordinate-system.svg deleted file mode 100644 index 8090e31..0000000 --- a/slides/presentations/basic-math-in-programming/cartesian-coordinate-system.svg +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (0,0) - - - - - - - - - - - - - - - - diff --git a/slides/presentations/basic-math-in-programming/default.pug b/slides/presentations/basic-math-in-programming/default.pug deleted file mode 100644 index 7ca262b..0000000 --- a/slides/presentations/basic-math-in-programming/default.pug +++ /dev/null @@ -1,206 +0,0 @@ -section - h1 Why understanding of basic math is important for computer programing - p September 21, 2018, rev2 - a(href="https://twitter.com/mitjafelicijan") @mitjafelicijan - -section - h2 Agenda - ol - li Levenshtein distance - li Shortest path algorithm - li Distance Formula - li - -section.center - q We Cannot Solve Our Problems With The Same Thinking We Used When We Created Them. - footer — Albert Einstein - -section - h2 How we usually find solutions and why this is problematic? - - ul - li We search for code example instead of algorithms. - li We copy and paste and do testing on trial&error principle. - li We don't take enough time to properly understand problem we a re trying to solve. - li Brute force solutions we make are usually not optimized - -section - h2 Levenshtein distance - p The Levenshtein distance is a string metric for measuring difference between two sequences. Informally, the Levenshtein distance between two words is the minimum number of single-character edits (i.e. insertions, deletions or substitutions) required to change one word into the other. - - hr - - div.center - img(src="levenshtein-distance.svg", height="150") - - hr - - div.center - img(src="test.png") - - hr - - pre - code.language-python - | def levenshtein(seq1, seq2): - | oneago = None - | thisrow = range(1, len(seq2) + 1) + [0] - | for x in xrange(len(seq1)): - | twoago, oneago, thisrow = oneago, thisrow, [0] * len(seq2) + [x + 1] - | for y in xrange(len(seq2)): - | delcost = oneago[y] + 1 - | addcost = thisrow[y - 1] + 1 - | subcost = oneago[y - 1] + (seq1[x] != seq2[y]) - | thisrow[y] = min(delcost, addcost, subcost) - | return thisrow[len(seq2) - 1] - - - hr - - h4 Going further - ul - li - a(href="https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance") https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance - li - a(href="https://en.wikipedia.org/wiki/Levenshtein_distance") https://en.wikipedia.org/wiki/Levenshtein_distance - li - a(href="https://rosettacode.org/wiki/Levenshtein_distance") https://rosettacode.org/wiki/Levenshtein_distance - - - - - - - - - - - - -section - h2 Basic linear algebra - - pre - code.language-css - | body { - | background: black; - | } - - pre - code.language-javascript - | $(document).ready(function() { - | $('pre code').each(function(i, block) { - | hljs.highlightBlock(block); - | }); - | }); - - hr - figcaption.right Step 1: Finding nearest point - - div.center - img(src="drawing1.svg") - - hr - figcaption.right Step 1: Finding nearest point - - $$ \large{ \mathbb{R}^2 ∈ \vec{a} \bar{a} } $$ - $$ \large{ e^{i\pi} + 1 = 0 } $$ - $$ \large{ x = {-b \pm \sqrt{b^2-4ac} \over 2a} } $$ - - hr - figcaption.right Step 2: Finding nearest point - - pre - code.language-python - | fruits = ["apple", "banana", "cherry"] - | for x in fruits: - | if x == "banana": - | break - | print(x) - - hr - figcaption.right Finding nearest point - - $$ \large{ \mathbb{R}^2 ∈ \vec{a} \bar{a} } $$ - $$ \large{ e^{i\pi} + 1 = 0 } $$ - $$ \large{ x = {-b \pm \sqrt{b^2-4ac} \over 2a} } $$ - - hr - figcaption.right Finding nearest point - - pre - code.language-c - | #include - | int main () { - | for( ; ; ) { - | printf("This loop will run forever.\n"); - | } - | return 0; - | } - - hr - figcaption.right Finding nearest point - - pre - code.language-python - | fruits = ["apple", "banana", "cherry"] - | for x in fruits: - | if x == "banana": - | break - | print(x) - - hr - figcaption.right Finding nearest point - - pre - code.language-sql - | SELECT `CustomerName`, `City` FROM `Customers`; - - hr - figcaption.right Finding nearest point - - pre - code.language-go - | package main - | import "fmt" - | func main() { - | sum := 0 - | for i := 0; i < 10; i++ { - | sum += i - | } - | fmt.Println(sum) - | } - - hr - figcaption.right Finding nearest point - - pre - code.language-javascript - | $(document).ready(function() { - | $('pre code').each(function(i, block) { - | hljs.highlightBlock(block); - | }); - | }); - - hr - figcaption.right Finding nearest point - - pre - code.language-css - | body { - | background: black; - | } - -section - h3 Grid example - div.grid.col-1-1 - div Lipsum - div Lipsum - - div.grid.col-2-1 - div Lipsum - div Lipsum - - div.grid.col-1-2 - div Lipsum - div Lipsum diff --git a/slides/presentations/basic-math-in-programming/drawing1.svg b/slides/presentations/basic-math-in-programming/drawing1.svg deleted file mode 100644 index 19212c3..0000000 --- a/slides/presentations/basic-math-in-programming/drawing1.svg +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - a - - - - - diff --git a/slides/presentations/basic-math-in-programming/kmplot.fkt b/slides/presentations/basic-math-in-programming/kmplot.fkt deleted file mode 100644 index 85e4ec6..0000000 --- a/slides/presentations/basic-math-in-programming/kmplot.fkt +++ /dev/null @@ -1,37 +0,0 @@ - - - - 1 - 1 - 1 - -0.3319027181688177 - 6.615164520743903 - -1.445161290322586 - 6.5032258064516 - - - 1 - - - 0 - 0 - 1 - 1 - - - f(x) = 0 - - 0 - - - - g(x) = 0 - 0 - - - - Cantarell - Cantarell - Cantarell - - diff --git a/slides/presentations/basic-math-in-programming/kmplot.svg b/slides/presentations/basic-math-in-programming/kmplot.svg deleted file mode 100644 index 877038c..0000000 --- a/slides/presentations/basic-math-in-programming/kmplot.svg +++ /dev/null @@ -1,395 +0,0 @@ - - -Qt SVG Document -Generated with Qt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -X -Y - - - -+0.4 - - - -+0.8 - - - -+1.2 - - - -+1.6 - - - -+2.0 - - - -+2.4 - - - -+2.8 - - - -+3.2 - - - -+3.6 - - - -+4.0 - - - -+4.4 - - - -+4.8 - - - -+5.2 - - - -+5.6 - - - -+6.0 - - - -+6.4 - - - -−1.0 - - - -−0.5 - - - -+0.5 - - - -+1.0 - - - -+1.5 - - - -+2.0 - - - -+2.5 - - - -+3.0 - - - -+3.5 - - - -+4.0 - - - -+4.5 - - - -+5.0 - - - -+5.5 - - - -+6.0 - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/slides/presentations/basic-math-in-programming/levenshtein-distance.svg b/slides/presentations/basic-math-in-programming/levenshtein-distance.svg deleted file mode 100644 index f8546da..0000000 --- a/slides/presentations/basic-math-in-programming/levenshtein-distance.svg +++ /dev/null @@ -1,211 +0,0 @@ - -{\displaystyle \qquad \operatorname {lev} _{a,b}(i,j)={\begin{cases}\max(i,j)&{\text{ if }}\min(i,j)=0,\\\min {\begin{cases}\operatorname {lev} _{a,b}(i-1,j)+1\\\operatorname {lev} _{a,b}(i,j-1)+1\\\operatorname {lev} _{a,b}(i-1,j-1)+1_{(a_{i}\neq b_{j})}\end{cases}}&{\text{ otherwise.}}\end{cases}}} - - - \ No newline at end of file diff --git a/slides/presentations/basic-math-in-programming/meta.json b/slides/presentations/basic-math-in-programming/meta.json deleted file mode 100644 index f34a689..0000000 --- a/slides/presentations/basic-math-in-programming/meta.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "title": "Why understanding of basic math is important for computer programing" -} diff --git a/slides/presentations/basic-math-in-programming/test.png b/slides/presentations/basic-math-in-programming/test.png deleted file mode 100644 index 5b57317..0000000 Binary files a/slides/presentations/basic-math-in-programming/test.png and /dev/null differ -- cgit v1.2.3