Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Alexander Kulikov Pavel Pevzner There are many excellent books on Algorithms — why in the world we would write another one???

Slide 3

Slide 3 text

There are many excellent books on Algorithms — why in the world we would write another one??? Because we feel that while these books excel in introducing algorithmic ideas, they have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill. Instead, we give flipped classes where students watch our recorded lectures, solve algorithmic puzzles, complete programming challenges using our automated homework checking system before the class, and come to class prepared to discuss their learning.

Slide 4

Slide 4 text

PROGRAMMING IS AN ART OF NOT MAKING OFF-BY-ONE ERRORS.

Slide 5

Slide 5 text

www.coursera.org/specializations/data-structures-algorithms www.edx.org/micromasters/ucsandiegox-alg orithms-and-data-structures

Slide 6

Slide 6 text

Toolbox

Slide 7

Slide 7 text

Good Programming Practices Stick to a specific code style! Mixing various code styles in your programs make them less readable. See https://en.wikipedia.org/wiki/Programming_style! Use meaningful names for variables! Using a name like speed instead of s will help your team members to read your program and will help you to debug it. Turn on all compiler/interpreter warnings! Although inexperienced programmers sometimes view warnings as a nuisance, they help you to catch some bugs at the early stages of your software implementations.. Pag 46

Slide 8

Slide 8 text

Challenges

Slide 9

Slide 9 text

Challenges

Slide 10

Slide 10 text

Practice 1 .

Slide 11

Slide 11 text

Tools .

Slide 12

Slide 12 text

Learning Strategy .

Slide 13

Slide 13 text

Learning Strategy .

Slide 14

Slide 14 text

Exams https://www.coursera.org/learn/algorithmic-toolbox/quiz/CDZh6/logarithms/attempt https://www.coursera.org/learn/algorithmic-toolbox/quiz/gTD7f/big-o/attempt https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/implementing- binary-search-of-an-array

Slide 15

Slide 15 text

Puzzles https://www.coursera.org/learn/algorithmic-toolbox/quiz/7tj1W/puzzle-car-fueling/attempt http://dm.compsciclub.ru/app/list

Slide 16

Slide 16 text

Puzzles https://www.coursera.org/learn/algorithmic-toolbox/quiz/Ew5sd/puzzle-largest-number/attempt http://dm.compsciclub.ru/app/list

Slide 17

Slide 17 text

Big Notation https://www.coursera.org/learn/algorithmic-toolbox/ungradedLab/Qmv41/big-o-notation-plots/lab

Slide 18

Slide 18 text

Course 2

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

https://www.coursera.org/learn/data-structures/home/welcome

Slide 21

Slide 21 text

Quizzes & Homeworks

Slide 22

Slide 22 text

https://www.coursera.org/learn/data-structures/resources/kt3AF