Artem Ryblov’s Data Science Weekly
581 subscribers
127 photos
152 links
@artemfisherman’s Data Science Weekly: Elevate your expertise with a standout data science resource each week, carefully chosen for depth and impact.

Long-form content: https://artemryblov.substack.com
Download Telegram
Основы алгоритмов

С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования. Кроме теории мы собрали и практические задания разного уровня сложности, а также подготовили систему автоматической проверки эффективности алгоритмов — всё это поможет вам закрепить и отточить новые навыки.

Link: https://academy.yandex.ru/handbook/algorithms

Navigational hashtags: #armknowledgesharing #armcourses
General hashtags: #algorithms #datastructures #datastructuresandalgorithms #python

@data_science_weekly
👍1
Algorithmic concepts by Afshine Amidi and Shervine Amidi

This guide is a concise and illustrated guide for anyone who wants to brush up on their fundamentals in the context of coding interviews, computer science classes or to satisfy their own curiosity.

It is divided into 4 parts
- Foundations: main types of algorithms and related mathematical concepts
- Data structures: arrays, strings, queues, stacks, hash tables, linked lists and associated theorems and tricks
- Graphs and trees: graph concepts and graph traversal algorithms along with important types of trees
- Sorting and search: common, efficient sorting and search algorithms

Link
https://superstudy.guide/algorithms-data-structures/foundations/algorithmic-concepts

Navigational hashtags: #armknowledgesharing #armtutorials
General hashtags: #algorithms #datastructures #datastructuresandalgorithms #graphs #trees #sorting #search

@data_science_weekly
Harvard CS50 (2023) – Full Computer Science University Course

This is CS50, Harvard University’s introduction to the intellectual enterprises of computer science and the art of programming, for concentrators and non-concentrators alike, with or without prior programming experience. (Two thirds of CS50 students have never taken CS before.) This course teaches you how to solve problems, both with and without code, with an emphasis on correctness, design, and style. Topics include computational thinking, abstraction, algorithms, data structures, and computer science more generally. Problem sets inspired by the arts, humanities, social sciences, and sciences. More than teach you how to program in one language, this course teaches you how to program fundamentally and how to teach yourself new languages ultimately. The course starts with a traditional but omnipresent language called C that underlies today’s newer languages, via which you’ll learn not only about functions, variables, conditionals, loops, and more, but also about how computers themselves work underneath the hood, memory and all. The course then transitions to Python, a higher-level language that you’ll understand all the more because of C. Toward term’s end, the course introduces SQL, via which you can store data in databases, along with HTML, CSS, and JavaScript, via which you can create web and mobile apps alike. Course culminates in a final project.

Course Contents
⌨️ Lecture 0 - Scratch
⌨️ Lecture 1 - C
⌨️ Lecture 2 - Arrays
⌨️ Lecture 3 - Algorithms
⌨️ Lecture 4 - Memory
⌨️ Lecture 5 - Data Structures
⌨️ Lecture 6 - Python
⌨️ Lecture 7 - SQL
⌨️ Lecture 8 - HTML, CSS, JavaScript
⌨️ Lecture 9 - Flask
⌨️ Lecture 10 - Emoji
⌨️ Cybersecurity

Links:
- https://cs50.harvard.edu/x
- https://www.youtube.com/watch?v=LfaMVlDaQ24

Navigational hashtags: #armknowledgesharing #armcourses
General hashtags: #cs #computerscience #harvard #algorithms #datastructures #datastructuresandalgorithms #python #sql #C #arrays

@data_science_weekly
👍2
Exceptional Resources for Data Science Interview Preparation. Part 1: Live Coding

In this article, we will understand what a live coding interview is and how to prepare for it.

This blog-post will primarily be useful to Data Scientists and ML engineers, while some sections, for example, Algorithms and Data Structures, will be suitable for all IT specialists who will have to go through the live coding section.

Table of contents
- Preparing for an Algorithmic Interview
- Resources
- Algorithms and Data Structures
- Programming in Python
- Solving a Practical Data Science Problem
- Hybrid
- Learning How to Learn
- Let’s sum it up
- What’s next?

NB:
I'm the author of the article.
It was initially published in Russian (on habr.com), then I added additional resources in English to make up for deleting resources in Russian language and published it on medium.com.
So, for Russian speakers I recommend to read Russian version, for English speakers I recommend to read English version and both will benefit from starring the repository, which will be maintained and updated when new resources become available.

Links:
- Medium (eng)
- Habr (rus)

Navigational hashtags: #armknowledgesharing #armarticles
General hashtags: #interview #interviewpreparation #livecoding #leetcode #algorithms #algorithmsdatastructures #datastructures #python #sql #kaggle

@data_science_weekly
👍8
Introduction To Algorithms by MIT

This is an introductory course covering elementary data structures (dynamic arrays, heaps, balanced binary search trees, hash tables) and algorithmic approaches to solve classical problems (sorting, graph searching, dynamic programming). Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.

Link: Direct Link

Navigational hashtags: #armknowledgesharing #armcourses
General hashtags: #algorithms #datastructures #mit

@data_science_weekly
👍3
NeetCode: A better way to prepare for coding interviews

The best free resources for Coding Interviews. Period.
- Organized study plans and roadmaps (Blind 75, Neetcode 150).
- Detailed video explanations.
- Public Discord community with over 30,000 members.
- Sign in to save your progress.

Links:
- Roadmap
- Practice (Core Skills, Blind 75, Neetcode 150, Neetcode All)
- Algorithms and Data Structures for Beginners (course) paid
- Advanced Algorithms (course) paid

Navigational hashtags: #armknowledgesharing #armsites #armtutorials
General hashtags: #leetcode #python #algorithms #datastructures #interviewpreparation #technicalinterview

@data_science_weekly
👍3
Grokking Algorithms. An illustrated guide for programmers and other curious people by Aditya Y. Bhargava

Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day.

You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python.

By the end of this book, you will have mastered widely applicable algorithms as well as how and when to use them.

Table of Contents:
1. Introduction to algorithms
2. Selection sort
3. Recursion
4. Quicksort
5. Hash tables
6. Breadth-first search
7. Dijkstras algorithm
8. Greedy algorithms
9. Dynamic programming
10. K-nearest neighbors

Link: Book

Navigational hashtags: #armknowledgesharing #armbooks
General hashtags: #algorithms #datastructures #leetcode

@data_science_weekly
👍1
Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum, Luther College

This textbook is about computer science. It is also about Python. However, there is much more.

The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence.

This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving.

Authors cover abstract data types and data structures, writing algorithms, and solving problems. They look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.

Links:
- Site
- Book

Navigational hashtags: #armbooks #armcourses
General hashtags: #python #algorithms #datastructures #programming #cs #computerscience

@data_science_weekly
👍5