Get Data Structures and Algorithms course from Google for free

Data Structures and Algorithms is one subject that almost every programmer has heard of. For technical interviews, this is a must subject but not the most favorite after all. Students applying for technical interviews have to know about this subject. To facilitate the students in this endeavor, Google has recently released a course titled ‘Intro to Data Structures and Algorithms’ on the Udacity platform completely free of any cost.

About the course:

It is a free data structure and algorithm course offered by Google. The time taken to complete the course is about 4 weeks and is classified in the intermediate level. It is self-paced which means you can learn at your speed and there are no time constraints. This course is taught in the python programming language. It is based on the pattern of interviews and frequently asked technical questions will be reviewed in it. There will be practice problems and quizzes to test your ability. You will also practice mock interviews to get specific recommendations on improvement.

For whom is this course:

This course is suitable for anyone who wants to learn Data Structure and Algorithms. People who do not know about data structure and algorithms and want to learn about them and ones looking to refresh their skills can also enroll in this course. It is also suitable for those looking to prepare for technical interviews involving data structure and algorithms.

Prerequisites and Requirements

  • Proficient in spoken and written English
  • Python (intermediate)
  • Algebra (intermediate)

Now if you don’t know python, no issues, in lesson 1 they have included python basics topics and problems, so just focus on learning them and move ahead.
Algebra can be learned as you progress, so if you can understand written and spoken English and want to learn Data Structure and Algorithms, python and algebra must not stop you till you are willing to learn.

Course Content

The course is divided into 9 lessons:

Lesson 1: Introduction and Efficiency

  • A basic introduction to topics covered in this course.
  • Learn the definition of efficiency as well as an explanation of the notation commonly used to describe efficiency.
  • Practice describing efficiency with code snippets.

Lesson 2: List-Based Collections

  • Learn the formal definition of a list, see definitions and examples of list-based data structures, arrays, linked lists, stacks, and queues.
  • Examine the efficiency of common list methods, and practice using and manipulating these data structures.

Lesson 3: Searching and Sorting

  • Explore how to search and sort with list-based data structures, including binary search and bubble, merge, and quicksort.
  • Examine the efficiency of each and learn how to use recursion in searching and sorting.
  • See and write examples of these methods, as well as more sorting algorithms like insertion sort.

Lesson 4: Maps and Hashing

  • Understand the concepts of sets, maps (dictionaries), and hashing.
  • Examine common problems and approaches to hashing, and practice with examples of hash tables and hash maps.

Lesson 5: Trees

  • Learn the concepts and terminology associated with tree data structures.
  • Investigate common tree types, such as binary search trees, heaps, and self-balancing trees.
  • See examples of common tree traversal techniques, examine the efficiency of traversals and common tree functions, and practice manipulating trees.

Lesson 6: Graphs

  • Examine the theoretical concept of a graph and understand common graph terms, coded representations, properties, traversals, and paths.
  • Practice manipulating graphs and determining the efficiency associated with graphs.

Lesson 7: Case Studies in algorithms

  • Explore famous computer science problems, specifically the Shortest Path Problem, the Knapsack Problem, and the Traveling Salesman Problem.
  • Learn about brute-force, greedy, and dynamic programming solutions to such problems.

Lesson 8: Technical interviewing techniques

  • Learn about the “algorithm” for answering common technical interviewing questions.
  • See how to clarify and explain practice interview questions using the concepts taught in this course, and get tips for giving interviewers exactly what they’re looking for in an interview.

Lesson 9: Practice Interviews

  • Use Pramp to meet with another Udacity student and get live technical interview practice.

To enroll in this course, click the button below