Online Course – Certified Professional Internship in Google Algorithms

Learn to think like a computer scientist. Upgrade your understanding of the fundamentals of algorithm design and analysis.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Intermediate level

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Deep understanding of algorithms
  • Ability to implement algorithms in a programming language
  • Preparing for technical interviews in the field of computer science
  • Ability to speak fluently about algorithms with computer programmers and other computer scientists
  • Skills for analyzing and evaluating important concepts in algorithms
  • Experience in conducting American tests and assessments
  • Developing practical programming skills

What you will learn in the course

Courses for which the course is suitable

  • Software developer
  • Data Scientist
  • Algorithm Engineer
  • Systems developer
  • Computer programmer
  • Systems Analyst
  • Software Engineer
  • Application developer
  • Artificial Intelligence Expert
  • Game developer

Internship – 4-part course series

Algorithms are the heart of computer science and, in and of themselves, the subject has many practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with some programming experience. The specialization is comprehensive but emphasizes the big picture and conceptual understanding over low-level applications and mathematical details.

After completing this internship, you will be in an excellent position to successfully pass technical interviews and speak fluently about algorithms with other computer programmers and computer scientists.

About the presenter

Tim Rupgarden has been a professor in the Department of Computer Science at Stanford University since 2004. He has taught and published extensively on the subject of algorithms and their applications.

Hands-on Learning Project

  • Learners will practice and solidify the fundamentals of algorithms through various types of assessments.
  • Every week there is an American test to test your understanding of the most important concepts.
  • There are weekly programming assignments, in which you will implement one of the algorithms learned in lecture in a programming language of your choice.
  • Each course ends with an American final exam.

Details of the courses that make up the specialization

Courses specializing in algorithms

Divide and conquer, sorting and searching, and random algorithms

Course 1
16 hours
4.8 (5,224 ratings)

What you will learn:

  • Asymptotic notation (“Big O”)
  • Sorting and searching
  • Divide and conquer (Lord’s method, addition of numbers and matrices, nearest pair)
  • Random algorithms (QuickSort, Min-cut Shrinkage Algorithm)

Skills you will gain:

  • Algorithms
  • Random algorithm
  • Sorting algorithm
  • Divide and conquer algorithms

Graph search, shortcuts, and data structures

Course 2
13 hours
4.8 (1,973 ratings)

What you will learn:

  • Data structures (heaps, balanced trees, hashing tables, Bloom filters)
  • Graph primitives (uses of breadth-first and depth-first search, connectivity, shortest paths)
  • Applications (from demography to social network analysis)

Skills you will gain:

  • Graphs
  • data structure
  • Algorithms
  • Hash table

Grid algorithms, minimal trees, and dynamic programming

Course 3
15 hours
4.8 (1,259 ratings)

What you will learn:

  • Grid algorithms (programs, minimal trees, clusters, Huffman codes)
  • Dynamic programming (knapsack, sequence ordering, optimal search trees)

Skills you will gain:

  • Minimal wood
  • Algorithms
  • Dynamic programming
  • Greedy algorithm

Short paths again, NP-complete problems and what to do about them

Course 4
13 hours
4.8 (811 ratings)

What you will learn:

  • Short paths (Bellman-Ford, Floyd-Warshall, Johnson)
  • NP-Completeness and What It Means for an Algorithm Designer
  • Strategies for dealing with difficult computational problems (analysis of strategies, local search)

Skills you will gain:

  • data structure
  • Algorithms
  • NP-complete
  • Dynamic programming