Data Structures and Algorithms in Python - Full
Course for Beginners
Introduction to Data Structures and Algorithms in
Python
This is a beginner-friendly course on common data structures and
algorithms in Python, taught by Akash NS, the co-founder and CEO of
Jovian. The course is designed to help improve programming skills,
solve coding challenges, and ace technical interviews. By completing the
course, you can earn a verified certificate of accomplishment. The
course runs for 6 weeks with 2-hour video lectures every week,
including live interactive coding using Python. You will also get a
chance to practice your coding skills with weekly programming
assignments consisting of real interview questions. The course is
created by Jovian, a platform for learning data science and machine
learning with a global community of tens of thousands of learners from
over 150 countries.
Course Details
The course is beginner-friendly but requires some basic
knowledge of programming.
You will have access to the course community forum where you
can ask questions, participate in discussions, and share your
progress.
The course covers common data structures and algorithms in
Python and how to use them to ace coding interviews and
technical assessments.
You can earn a verified certificate of accomplishment by
completing the course.
Lesson 1: Binary Search, Linked Lists, and Complexity Analysis
The first lesson covers binary search, linked lists, and complexity
analysis. The lesson includes a recording and all the code used is linked
, below. The course assumes very little background in programming and
mathematics. However, you will need to know basic programming with
Python, such as variables, data types, loops, and functions. You will also
need some high school mathematics knowledge, such as polynomials,
vectors, matrices, and probabilities. But no prior knowledge of data
structures or algorithms is required.
Running the Code
The course uses Jupyter notebooks for interactive programming. You
can run the code using free online resources provided by Jovian. To run
the code, you need to click the "Run" button on the lesson page, then
select "Run on Binder". This will set up a cloud machine for you to
execute the code. You can also use keyboard shortcuts, such as "Shift +
Enter", to execute a cell. Jupyter notebooks are a great way to
experiment with code and see the output in real-time.
A General Strategy for Problem Solving
This tutorial presents a systematic approach to solving coding problems
that can be applied in interviews, coding challenges, and other
problem-solving situations. The approach involves the following steps:
1. State the problem clearly and identify the input and output
formats.
2. Come up with example inputs and outputs that cover all edge
cases.
3. Develop a correct solution in plain English.
4. Optionally, implement the solution and test it using example
inputs.
5. Analyze the algorithm's complexity and identify inefficiencies.
6. Apply the appropriate technique to overcome inefficiencies and
return to Step 3, then implement and analyze the solution.
This general strategy will be applied to a specific problem: finding a
given number in a list arranged in decreasing order while minimizing
the number of times elements are accessed. The solution involves
Course for Beginners
Introduction to Data Structures and Algorithms in
Python
This is a beginner-friendly course on common data structures and
algorithms in Python, taught by Akash NS, the co-founder and CEO of
Jovian. The course is designed to help improve programming skills,
solve coding challenges, and ace technical interviews. By completing the
course, you can earn a verified certificate of accomplishment. The
course runs for 6 weeks with 2-hour video lectures every week,
including live interactive coding using Python. You will also get a
chance to practice your coding skills with weekly programming
assignments consisting of real interview questions. The course is
created by Jovian, a platform for learning data science and machine
learning with a global community of tens of thousands of learners from
over 150 countries.
Course Details
The course is beginner-friendly but requires some basic
knowledge of programming.
You will have access to the course community forum where you
can ask questions, participate in discussions, and share your
progress.
The course covers common data structures and algorithms in
Python and how to use them to ace coding interviews and
technical assessments.
You can earn a verified certificate of accomplishment by
completing the course.
Lesson 1: Binary Search, Linked Lists, and Complexity Analysis
The first lesson covers binary search, linked lists, and complexity
analysis. The lesson includes a recording and all the code used is linked
, below. The course assumes very little background in programming and
mathematics. However, you will need to know basic programming with
Python, such as variables, data types, loops, and functions. You will also
need some high school mathematics knowledge, such as polynomials,
vectors, matrices, and probabilities. But no prior knowledge of data
structures or algorithms is required.
Running the Code
The course uses Jupyter notebooks for interactive programming. You
can run the code using free online resources provided by Jovian. To run
the code, you need to click the "Run" button on the lesson page, then
select "Run on Binder". This will set up a cloud machine for you to
execute the code. You can also use keyboard shortcuts, such as "Shift +
Enter", to execute a cell. Jupyter notebooks are a great way to
experiment with code and see the output in real-time.
A General Strategy for Problem Solving
This tutorial presents a systematic approach to solving coding problems
that can be applied in interviews, coding challenges, and other
problem-solving situations. The approach involves the following steps:
1. State the problem clearly and identify the input and output
formats.
2. Come up with example inputs and outputs that cover all edge
cases.
3. Develop a correct solution in plain English.
4. Optionally, implement the solution and test it using example
inputs.
5. Analyze the algorithm's complexity and identify inefficiencies.
6. Apply the appropriate technique to overcome inefficiencies and
return to Step 3, then implement and analyze the solution.
This general strategy will be applied to a specific problem: finding a
given number in a list arranged in decreasing order while minimizing
the number of times elements are accessed. The solution involves