Online Course – Certified Professional Internship in Google Data Structures and Algorithms, University of California San Diego

Improve your programming skills with advanced techniques in algorithmic programming. Advance your career in software engineering or data science by learning algorithms through puzzle solving. Succeed in coding exams by expertly implementing algorithmic challenges. Apply the techniques you learn to real-world problems, like analyzing a large social network or sequencing the genome of a dangerous pathogen.

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

  • In-depth understanding of theoretical and practical algorithms
  • Experience in implementing coding problems in a programming language
  • Road network and social network analysis
  • Calculating the shortest route between cities
  • Assembling genomes from millions of DNA fragments
  • Understanding algorithms for personalized medicine

What you will learn in the course

Courses for which the course is suitable

  • Software Engineer
  • Algorithm developer
  • Data Analyst
  • Data Scientist
  • Network Engineer
  • Personalized Medicine Specialist
  • Game developer
  • Application developer
  • Bioinformatics researcher
  • Coding Solutions Developer

Internship – 6-part course series

Computer science legend Donald Knute once said, “I don’t understand things unless I try to program them.” We also believe that the best way to learn an algorithm is to program it.

We have attempted to fill this gap by building a diverse team of instructors that includes leading experts in theoretical and practical algorithms at UCSD, and a former software engineer at Google. This unique combination of skills sets this specialization apart from other algorithms courses.

In our internship, you will learn algorithms by implementing nearly 100 coding problems in a programming language of your choice. We have invested over 3000 hours designing our challenges as an alternative to the American questions typically found in online courses.

Hands-on Learning Project

In the internship there are two practical projects:

  • Large chains
  • Assembling a genome

You will analyze both road networks and social networks, and learn how to calculate the shortest route between New York and San Francisco faster than standard algorithms.

Next, you will learn how to assemble genomes from millions of short DNA segments and how assembly algorithms are helping with recent developments in personalized medicine.

Details of the courses that make up the specialization

Algorithmic processing tools

Course 1

40 hours
4.6 (12,438 ratings)

  • What you’ll learn:
    • Essential algorithmic techniques
    • Designing efficient algorithms
    • Practice solving algorithmic interview problems
    • Implementing effective and reliable solutions
  • Skills you will acquire:
    • Python programming
    • Linear Programming (LP)
    • NP-complete
    • Dynamic programming

Course 2: Data Structures

22 hours
4.6 (5,446 ratings)

  • What you’ll learn:
    • Common data structures in various computational problems
    • Implementing data structures in different programming languages
    • Typical use cases for data structures
  • Skills you will acquire:
    • Graph theory
    • Graphs
    • Algorithms on graphs

Course 3: Algorithms on Graphs

54 hours
4.7 (2,255 ratings)

  • What you’ll learn:
    • Using algorithms on graphs to find optimal routes
    • Real-world applications such as road networks and social networks
  • Skills you will acquire:
    • data structure
    • Algorithms
    • Algorithm design
    • String (Computer Science)

Course 4: Algorithms on Strings

18 hours
4.5 (1,084 ratings)

  • What you’ll learn:
    • Algorithms for searching textual information
    • Applications in search engines and personalized medicine
  • Skills you will acquire:
    • Software testing
    • Computer Programming
    • Algorithms
    • Debugging
    • Dynamic programming

Course 5: Advanced Algorithms and Complexity

27 hours
4.6 (691 ratings)

  • What you’ll learn:
    • Advanced algorithms based on basic algorithms
  • Skills you will acquire:
    • Priority queue
    • Binary search tree
    • Distribution table
    • list
    • Stack (abstract data type)

Course 6: The Genome Assembly Programming Challenge

17 hours
4.5 (338 ratings)