Sorry, your browser is not supported
To have the best experience using Skillshare, we recommend that you use one of these supported browsers.

Data Structures and Algorithm Paradigm and concepts part 1/2

Andrew Joseph, Linux Enthusiast,Software Programmer,Consultant

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
23 Videos (1h 33m)
    • 1.1 Intro, Learning objectives

    • 1.2 Algorithm

    • 1.3 Array

    • 1.4 Exhuastive Search

    • 1.5 Greedy Algorithm

    • 1.6 sort

    • 2.1 Intro, Learning objectives

    • 2.2 Two-dimensional Array

    • 2.3 Subset

    • 2.4 Search

    • 2.5 Sort

    • 2.6 Application and Summary

    • 3.1 Intro & Learning objectives

    • 3.2 String

    • 3.3 Pattern matching

    • 3.4 Application & Summary

    • 4.1 Intro & Learning objectives

    • 4.2 Concept of stack data structure

    • 4.3 Application of stack

    • 4.4 Memoization

    • 4.5 DP(Dynamic Programming)

    • 4.6 DFS(Depth First Search)

    • 4.7 Application & Summary


About This Class


What is the course about?

This is the first part which covers Introduction to Algorithms, Arrays, Greedy Algorithm, Sort, Subset, strings, pattern matching, Stack, Memoization, Dynamic programming(DP), DFS(Depth First Search).

Second and final part (click here) covers advance stacks, back-tracking, Divide and conquer, Queues(types and application), BFS(Breadth First Search), Lists, Insertion Sort, Merge Sort, Binary Tree, Expression Tree, Heaps.

This course covers the essential information that every serious programmer needs to know about algorithms and data structures. This course will cover basic iterable data types, sorting, and searching algorithms. This comprehensive course will give you enough understanding on algorithms and data structures from where you can take yourself to higher level of expertise.

Programming assignments and laboratory exercises are required to do by students. Please remember that this is a serious course on programming. I believe that subjects like algorithms and data structures cannot be learned in few hours. It required continuous practice. Students may have to put a lot of efforts in order to become expert in programming and make the best use of this course.

What kind of material is included?

1. This course consists of high quality training content using quality videos with industry oriented hands-on examples.

2. I have tried to include the juice of my 10 years of experience in this course.

3. The focus is on giving real life essential tricks and skills.

4. This course will have sets of online assignments and objective type quizzes.

5. I suggest students to take this course with pen and paper handy. Note the important points and take part in discussions. The exercise is the most important part in learning any subject. I advise students to take the problems after each section.

How long will the course take to complete?

1. This is the comprehensive course covering almost all the topics of algorithms and data structures.

2. The course is around 5 hours in duration. I advise students to cover not more than one lesson/section per day and do not move to the next lesson/section without doing the exercise.

How is the course structured?

1. A perfect blend of theory and programming.

Why take this course?

1. This is the comprehensive course covering almost all the topics of algorithms and data structures.

3. This course will tends to replace text books ie it will be a complete reference of algorithms and data structures.

4. For the college going students, this course helps in improving grades in college curriculum and increases the chances at the final Campus Interview.

Visit to get discounts on my courses + additional free resources

1 of 1 students recommendSee All

Very well made, it is evident that each concept and examples were carefully choosen. Animations are awesome too :).
Yu-Chiang Hsu

Computer technician!





Andrew Joseph

Linux Enthusiast,Software Programmer,Consultant

As an programming enthusiast, I want to share my knowledge and interests here.
My name is Andrew Joseph.
I started learning about programming since high school, dived in "Basic" first, which eventually made me major in Electronics and Communications.
After completing the college, in 2005, I started working in the software and system departments at large corporations. Since then I have grown my Linux skills at various levels. Through the years I've worked in many positions as a Linux ...

See full profile