Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
If I had to pick the single most important topic in software development, it would be data structures and algorithms. Think of it as the fundamental tools available to every computer programmer. The better you get with these tools the more confident a programmer you’ll become. Software development is a vast field requiring all kinds of skill-sets but getting good at this single topic is a huge leap forward in your programming journey and it’ll certainly pave the way for a successful programming career.
The topics in this course are going to cover data structures such as lists, stacks, queues, trees and some of the most powerful sorting, searching, and graph algorithms that have revolutionized the field of computing. Throughout the course I keep things practical and provide real life examples of how all of these algorithms work and when & where they can be applied to write efficient computer programs.
I’ll be moving at a slow and steady pace introducing each topic followed by a PRACTICAL programming assignment so you can immediately apply what you learned. All homework assignments in the course will be accompanied with step by step solution videos demystifying each problem as I code up the solutions. My goal is to make sure, that after you complete this course you feel completely confident going into a coding interview because you will have built a solid foundation in computer programming. So go ahead and signup and I’ll see you in the course.
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
Course Overview (Watch this First!)Preview
|Section 1: Prerequisite: Intro to Object Oriented Programming|
Intro to OOP Class & ObjectPreview
Program Flow and Using the Constructor
Java Behind The Scenes
|Section 2: Data Structures|
Source Code For the Course
Abstract Data TypesPreview
Running Time of an Algorithm and Big O NotationPreview
Data Structure: Stack + HWPreview
Data Structure: Stack Continued
Data Structure: Queue Data Structure + HW
Data Structure: Linked List Intro
Data Structure: Singly Linked List
Data Structure: Circular Linked List
Data Structure: Doubly Linked List - Part 1 + HW
Data Structure: Doubly Linked List - Part 2
Data Structure: Doubly Linked List - Part 3 + HW
|Section 3: Popular Searching and Sorting Algorithms|
Algorithm: Linear Search
Algorithm: Binary Search (Overview)Preview
Algorithm: Binary Search (Practical) + HW
Recursion in Java
Recursive Linear & Binary Search (Practical) + HW
Big O Notation Part 2
Algorithm: Selection Sort (Overview)
Algorithm: Selection Sort (Practical) + HW
Algorithm: Insertion Sort (Overview)
Algorithm: Insertion Sort (Practical) + HW
Algorithm: Merge Sort (Overview)
Algorithm: Merge Sort Continued (The Merge Process)
Algorithm: Merge Sort (Practical) + HW
Algorithm: Quick Sort (Overview)
Algorithm: Quick Sort Continued
Algorithm: Quick Sort (Practical) + HW
|Section 4: Advanced Data Structures (Being Uploaded)|
Data Structure: Binary Search Tree
Data Structure: Binary Search Tree Continued
Data Structure: Heaps Overview (Newly Added)
Data Structure: Graphs Overview + HW
Data Structure: Graphs (Practical) + Solution
Bonus Lecture: Lifetime Access to All My Courses
I'm a passionate software consultant and programmer of enterprise software architectures. I've spent a considerable amount of time building financial software on Wall St. and worked for companies like S&P, Goldman Sachs, AOL along with helping various startups solve mission critical software problems. In my 13 years of experience, I've developed massive enterprise level software using programming languages like Java, C++, Python, PL/SQL and Ruby. I've learned many lessons along the way, and I hope to share this knowledge with aspiring software developers. I've always had a passion for teaching in seminars and corporations during my consulting projects. My online school Eliminate Code Fear gives me the opportunity to share my knowledge with students of all backgrounds and experiences across the globe! I'm really excited for this opportunity to bring to you real-world practical experience! Join my initiative and we'll work together to bring out the best programmer in you!