Menu

Search

4.21 out of 5
4.21
242 reviews on Udemy

Coding Interview Jumpstart: Algorithms and Problem Solving

Learn the principles behind fundamental computer science algorihms asked on interviews for top tech companies.
Instructor:
Branko Fulurija
16,625 students enrolled
Having higher chances to get a job in a place where algorithmic problem solving is a part of interview.
Have one more tool during coding interviews.
Better understanding of principles behind fundamental computer science algorihms.
Becoming a better problem solver.

WHAT IS THIS COURSE ABOUT?

In this course we will together make the first steps in the exciting world of algorithms. If you have never learned anything about algorithms, don’t be afraid or intimidated. Algorithms aren’t as hard as people often consider them to be. I’m convinced that any programmer can master the art of problem solving and algorithms if he or she has the motivation to succeed. In fact, I believe that most of the algorithms can be very easy to understand if they are explained in a clear and simple way. 

Considering that I know how hard can the beginning be, because I have been in the same situation once, I have invested my knowledge and experience into this course, to help you guys making the first steps towards mastering algorithms and bringing you one step  closer to your dream job.

HOW IS THIS COURSE STRUCTURED?

Section 1: Introduction

In this section, I will introduce you with the material and the structure of the course. 

Section 2: Algorithm Analysis

In section 2, we are going to talk about algorithm analysis. For some of you, this will be your first step into the world of algorithms and you will understand why is this such an important topic.

We are going to learn several things:

  • First, we will learn about the importance of analysis, and why do we have to analyze our solutions.

  • Then we are going to focus on Asymptotic notation, which is basically a language that allows us to analyze program running time by identifying its behavior as the input size for the algorithm increases.

  • After that we will focus on a specific type of notation, called Big-O notation, and we  will use the Big-O notation to compare algorithms.

  • Finally we are going to practice these concepts by calculating time and space complexity of some given algorithms.

Section 3: Sorting

Sorting is one of the most common algorithms in the world, if you look all around you can find a lot of applications that are using a sorting algorithm to put elements of some list in a certain order. The elements don’t have to be numbers, they can be strings or maybe some events which are sorted by date.

In this section we will learn several sorting algorithms:

  • Bubble Sort

  • Selection Sort

  • Insertion Sort

  • Merge Sort

  • Quick Sort

  • Counting Sort

For each algorithm we will determine the time and space complexity and compare trade-offs.

At the end of this section you will learn the most important sorting algorithms and you will be able to determine what is the best algorithm to use depending on the type and range of the data which needs to be sorted.

Section 4: Binary Search


This section is dedicated to a fundamental searching algorithm in computer science: binary search.

We start with an explanation about the basic idea of the algorithm and its implementation. 

Then we are going to explore some variations of binary search and how we can implement them:

  • Finding the first occurrence of a target value in the input array

  • Finding the last occurrence of a target value in the input array

  • Finding the number of occurrences of a target value in the input array

Section 5: BONUS: Interview Problems 

This section is a special bonus section, here I will post detailed interview problems solutions. I encourage you to post some interesting problems in the discussions, and each one-two weeks I will choose new problems and post a new video in this section where we solve those new problems.

I also encourage you to post questions about problems that you don’t know how to solve or if you have some bugs in your code and you’re not sure why your program isn’t working

Introduction

1
Course Introduction
2
Course Overview
3
Resources and help

Algorithm Analysis

1
Section Introduction
2
Lecture info
3
Why analyzing algorithms?
4
Asymptotic notation
5
Big-O notation
6
Time Complexity Examples
7
Time Complexity Quiz

Test your knowledge of algorithm analysis.

8
Space Complexity Examples
9
Space Complexity Quiz

Sorting

1
Section Introduction
2
Bubble Sort introduction
3
Bubble Sort implementation
4
Selection Sort introduction
5
Selection Sort implementation
6
Insertion Sort introduction
7
Insertion Sort implementation
8
Merge Sort introduction
9
Merge Sort implementation
10
Quick Sort introduction
11
Quick Sort implementation
12
Counting Sort introduction
13
Counting Sort implementation
14
Sorting Quiz

Binary Search

1
Section Introduction
2
Binary Search introduction
3
Binary Search implementation
4
First occurrence
5
Last occurrence
6
Number of occurrences
7
Binary Search Quiz

BONUS: Interview Problems

1
Section Introduction
2
Coding Interview Problem #1 - Unique Number
3
Unique number
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.2
4.2 out of 5
242 Ratings

Detailed Rating

Stars 5
96
Stars 4
84
Stars 3
47
Stars 2
11
Stars 1
4
d1ba7411c2ad91f45c64f855e4a067ec
30-Day Money-Back Guarantee

Includes

6 hours on-demand video
3 articles
Full lifetime access
Access on mobile and TV

External Links May Contain Affiliate Links read more

Join our Telegram Channel To Get Latest Notification & Course Updates!
Join Our Telegram For FREE Courses & Canva PremiumJOIN NOW