Save for later

Practical Data Structures & Algorithms in Java + HW

LAST UPDATED: November 2020

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.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Udemy and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.5 based on 750 ratings
Length 11.5 total hours
Starts On Demand (Start anytime)
Cost $14
From Udemy
Instructor Imtiaz Ahmad
Download Videos Only via the Udemy mobile app
Language English
Subjects Programming
Tags Programming Languages Development

Get a Reminder

Send to:

Similar Courses

What people are saying

data structure

Good in-depth guide on Data Structures - gives good practical knowledge.

Would definitely recommend for beginner programmers or those unfamiliar with data structures as the instructor goes in great detailed.

A must go through course if you are keen on learning Data Structures especially through java.

In depth explanation and covered everything in data structure and Algorithm which i use to fear a lot in interview.

However, I feel this course lacks from just being the perfect course on Data structure algorithm as it does not cover on topics of backtracking, dynamic programming, pattern matching, etc.

I wish our professor could teach us this way I have completed about 40% of the course .I did not have any idea of data structures while I started , now I am in a better place.

I feel it deserves 5 stars but the note about the 5 stars is not matching The best course on data structure and algorithms It quite good, good explanations.

It is still ok Many data structures are missing instructor doesn't give answers o QnA forum Numerous mistakes in subtitles.

So far, this coarse has thought me Data Structures clearly, and this also has assignments/home works to be completed on our own, by which we understand how much did we exactly understand.... and in the next class the solution for the assignments are given so that we can cross-check our work.

// it is very basic Great Data Structure course.

Instructor Ahmad is well experienced and you can tell from the way he presents you data structure course. would be great to mention what is the standard of this course .I would love to get some advance or professional level of Data Structure and Algorithm from this author I am halfway through and must say that this is the best java explaining I have heard so far.

I would like to suggest providing (lecture by lecture) a comparative overview between the algorithms or the data structures discussed.

Excellent Imtiaz really helped me eliminate my code fear it was really good course implementing data structure in java and teaching it in the intresting was helpfull.

Read more

so far

really enjoyed and understood the concepts Good So far it's great love his algorithm explanations!

From what I've seen so far, this course gets a solid 4.5/5.

So far the best course I saw on algos and data structures.

I would say this is probably the best Java course I've taken so far!

So far it is very good :-).

So far in the course, he has created and maintained a perfect balance within his method of teaching the visual concept of how things work as well as their implementations.

I am expecting more basics of data structures but so far the lessons are not covered all the basics.

I've finished 50% and like it so far.

So far, so good.

There are a few bugs/omissions in some of the lessons so far and I would have appreciated better tests in the test driver classes (i.e.

So far so good.

Although, I have just finished the warm-up section and am just done with the 1st lecture of the ADT section, I loved the experience so far.

SO far this has been really amazing.

The best Data structure class I've taken so far....It is way better than most college professor !

Read more

data structures and algorithms

So, I would say to take the course if you need good high level descriptions of data structures and algorithms and are willing to accept the negatives outlined above.

If you are a beginner I recommend you learn the basics of OOP somewhere else; and learn them good before you dive into data structures and algorithms...

This was a great class and it was a great introduction to data structures and algorithms.

Great Intro into Data Structures and Algorithms.

awesome course for those who want to get started with data structures and algorithms.

This course covers the theory+ practical part of various data structures and algorithms pretty well.

Excellent Overview of the Basic Data Structures and Algorithms with great exercises that truly challenge your knowledge of each lecture.

Data Structures and Algorithms is such a technical concept in Computer Science and its easy to get lost in theory.

Overall, I highly recommend this course to anyone who wants to learn Data Structures and Algorithms in Java.

Instructor explained some confusing data structures and algorithms very well so I was able to understand them without too much trouble.

I would like to see more homework/puzzles using data structures and algorithms.

The course' good one to start with for data structures and algorithms but there need to be included lots more topics like other algorithms, Binary tree ways of traversing, assignments, quizzEs This is the third course I took from Imtiaz and once more, I was very pleased with the topics covered.

A great course for anyone who wishes to learn about the basic Data Structures and Algorithms implemented with Java.

This was a great course covering some of the basics of Java, and a good look at common data structures and algorithms.

Read more

easy to follow

It is easy to follow and practice from the very basics.. Good teaching style with easy to follow lessons.

Easy to follow instructions in the video!

Easy to follow explanations.

He explains things clearly and is easy to follow.

very detailed and easy to follow.

The lecturer takes his time, his voice is very clear and the examples are easy to follow and understand.

Easy to follow course with good pauses in the video to work on problems before seeing solutions.

Nicely presented and easy to follow.

its good but miss some hw I liked the succinct and easy to follow explanation of important points Excellent course.

good examples and too the point, you really need to practice Just thank you Imtiaz Easy to follow and incredibly well explained.

I've already learnt a lot so far, and find it easy to follow.

:) clearity of video and way of expressing because the instructions are easy to follow and the instructor is welcoming with the subject.

Job well done It's easy to follow He explains in better way with slow pace...and gives practical example which is related to real scenario.

It's easy to follow along It's a good course What a great teacher!!

Read more

computer science

He is one of the best instructor i have ever experienced in my whole computer science learning.

I used the course to supplement my university required the data structure course in Computer science and I've learned a great deal.

Practice is important for data strucutre learning and even for computer science learning.

I even want to say data strucutre is the core of computer science learning.

Great practical intro to data structures and beginner sorting and search algorithms, would help anyone in their first and second year of computer science as quick courses to take before class starts.

A great course to revise the fundamentals of computer science for anyone.

Yes, The course is veruy helpful in solidifying my understanding of computer science.

Would recommend to anyone learning java/computer science.

great lessons and explanation of abstract computer science concepts.

I am watching these videos in conjunction with my Data Structures and Analysis class as part of a Computer Science degree program I am pursuing.

Thank you so much Brilliant explanation on one of the most toughest topics in computer science.

I dropped out of the Computer Science program because of topics like this.

I have been teaching myself to code and plan to take computer science in the fall, I am taking an online Data Structures and Algorithms course right now but don't understand all of the information.

Read more

highly recommend

I would highly recommend for anyone who wants to refresh basic data structures.

Highly recommend it.

I would highly recommend this course to someone who did programming ages back, forgot all the basics or looking to brush up all the basic concepts and is looking to get some hands-on experience with Java language.

Highly recommend this course!

I highly recommend it to everyone that writes or wants to write any code.

I would highly recommend this instructor.

Explanation is very simple and understandable also inserting most important in between is nice I would highly recommend this course to everyone looking for a quick brush up of their basic algorithms OR just starting out on your coding journey.

Highly recommended!

Really enjoying the content so far, he takes the time to explain each concept within chapter 1 so far, with great detail and imagery to assist in the learning process, I would highly recommend this course!

i highly recommend that course for any beginner Great for beginners, teacher explains very well.

Very clearly illustrated, includes all details of the knowledge, highly recommend!

Read more

very well explained

Very well explained and put together!

Very well explained, concepts covered clearly an at a good pace Imtiaz Ahmad you have made programming simple and it's the way that you put across is great.

Clear descriptions with good practical focus while approaching everything Very well explained but I wish there could have been more video/animation content.

very well explained!

excellent content great content At the moment seems to be a very well explained course.

Very well explained.

Read more

binary search

For me this feel really disrespectful I didn't see the practical implementation of Binary Search Tree and Heap Data structures.

The only suggestion is would add is to break up the Advanced Data Structures into smaller courses with a slower pace so that it's easier to follow, especially with Binary Search Trees, Heaps, and Graphs.

The last section, Advanced Data Structures gives some nice overviews of Binary Search Trees, Heaps, and Graphs.

I would like to have more practice in the course on binary search trees, heaps and graphs.

For binary search tree and heap, there is no implementation/practice problem.

Although, once improvements I would like to suggest is to add the implementation of Binary search tree and cover the concepts like Hashing, BFS and DFS and if so this video would be the best in the market to learn Data structure.

The course was very good but I missed a practical implementation of Binary Search Tree and Heap.

More examples and assignments on Binary Search tree will make it a 5 Star!

Could have added coding examples on binary search algorithm One of the most concise courses I have ever taken, in and out, of Udemy.

Read more

linked list

Wrong Circular Linked List explanation & implementation - tail node doesn't point to a head node.

Pictorial way helped me a lot in understanding Linked list and searches Thanks I actually already know this.

The instructor makes quite a few mistakes and is also quite inconsistent in his tutorials especially in linked list section which caused me many hours of debugging.

I ended up learning linked list by myself through google.

Edit: despite facing many issues in linked list section, i must say that sorting section is very well taught, the diagrams and step by step debug really helped me understand that topic.

Circular linked list I think the way he has implemented it, is different and I think that part is not correct.

Circular linked list is a linked list where all nodes are connected to form a circle.

A circular linked list can be a singly circular linked list or doubly circular linked list.

At the time of writing this review, I am working on his videos where he explains the concepts behind a linked list.

You might need to update the Circular linked list section, you have missed the part that the last node will point to the first node, which I think is the real reason why this is called a circular linked list in the first place.

But the code for doubly linked list is inaccurate and sometimes does not make sense.

Linked list concept is crystal clear now.

Well explained, breaking a linked list down in the way that he did makes it seem crazy that my teacher couldn't put so simply.

Now that I understand the structures, the whole idea is a snap, and I can already guess at how doubly linked lists work.

Read more

explains everything

Definitely like how he explains everything.

The instructor explains everything in very easy to understand terminology.

Imtiaz explains everything so clearly......i got all the concepts in one go.

The course is great, the content of the course is great, and Imtiaz is amazing, he explains everything in GREAT detail and with simple words and examples everyone can understand.

The instructor explains everything really well.

love this course especially it actually forces me to do things on my own Imtiaz really explains everything clearly.

He careful explains everything as he goes through the lesson.

Explains everything he does and uses such a simple but effective example to illustrate the concept.

He explains everything thoroughly which makes me understand things a little better.

Read more

way of teaching

Please correct this and I'll give 5 stars )) I liked the way of teaching.

Nice way of teaching.

the way of teaching is also good especially the Big O theory and its background.

The instructor is clear and approachable in his way of teaching.

Read more

liked the way

I liked the way Imtiaz explained the various data structures.

I liked the way of explaining, as everything was taught from the basic.

Awesome explanations ..Gives me a lot confidence on coding I liked the way Imtiaz explained the concept of each alogirthm and datastructure before and then gave assignments with some hints to start off with.

Liked the Instructions/Explanation I liked the way Imtiaz has explained.

Read more


An overview of related careers and their average salaries in the US. Bars indicate income percentile.

IT CAP - Software Development $56k

Technologist, Software Development $72k

Software Development 1 $80k

Analyst - Software Development $90k

Junior Software Development $92k

Software Specialist - Development $102k

Vendor - Software Development $106k

Software Development Professional $107k

Software Research & Development $112k

Software Development Engineer2 $120k

SeniorManager, Software Development $131k

Senior IT Software Development $144k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.5 based on 750 ratings
Length 11.5 total hours
Starts On Demand (Start anytime)
Cost $14
From Udemy
Instructor Imtiaz Ahmad
Download Videos Only via the Udemy mobile app
Language English
Subjects Programming
Tags Programming Languages Development

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now