ESS-ALGO.AE1
Essential Algorithms Using Python and C#
Explore computer algorithms for solving real-world problems using Python and C# programming language.
- Practice in 42 Hands-On Labs — nothing to install
- 21 Interactive Lessons and 189 topics mapped to the official exam objectives
- 101 Practice Test Questions
Beginner Self-paced · 1 year access 5.0/5 (15 Reviews)
42 Hands-On LiveLabs
Practice real IT tasks in guided environments.
- Real environments
- Auto-graded
- No installation
01 / Skills you'll get
What you will be able to do
- Create algorithms to solve computational problems.
- Implementing data structures for storing and accessing data
- Expertly handling sorting algorithms like sort, merge sort, quicksort, and binary search
- Determining algorithm’s space and time complexities
- Learning advanced algorithms techniques like recursion, backtracking, and divide & conquer
- Gain confidence to answer computer algorithm related technical questions during job interviews
- Enhance your programming skills in both Python and C#
Course Highlights
-
21 Structured Lessons Comprehensive coverage of core course objectives
-
42 Hands-On LiveLabs Interactive guided scenarios with instant evaluation
-
101 Practice Questions Assessment tests with detailed answer rationales
-
1 Year Full Access Self-paced learning accessible anytime on all devices
02 / Lessons & labs
See exactly what you will learn and practice
Lessons
21 Interactive Lessons · 189 topics01 Introduction 7 topics +
- Why You Should Study Algorithms
- Algorithm Selection
- Who This Course Is For
- Getting the Most Out of This Course
- How This Course Is Structured
- What You Need to Use This Course
- Conventions
02 Algorithm Basics 7 topics · 3 LiveLab +
- Approach
- Algorithms and Data Structures
- Pseudocode
- Algorithm Features
- Practical Considerations
- Summary
- Exercises
3 LiveLab in this lesson — see the labs panel →
03 Numerical Algorithms 10 topics · 6 LiveLab +
- Randomizing Data
- Finding Greatest Common Divisors
- Performing Exponentiation
- Working with Prime Numbers
- Performing Numerical Integration
- Finding Zeros
- Gaussian Elimination
- Least Squares Fits
- Summary
- Exercises
6 LiveLab in this lesson — see the labs panel →
04 Linked Lists 10 topics · 1 LiveLab +
- Basic Concepts
- Singly Linked Lists
- Doubly Linked Lists
- Sorted Linked Lists
- Self-Organizing Linked Lists
- Linked-List Algorithms
- Multithreaded Linked Lists
- Linked Lists with Loops
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
05 Arrays 8 topics · 5 LiveLab +
- Basic Concepts
- One-Dimensional Arrays
- Nonzero Lower Bounds
- Triangular Arrays
- Sparse Arrays
- Matrices
- Summary
- Exercises
5 LiveLab in this lesson — see the labs panel →
06 Stacks and Queues 5 topics · 5 LiveLab +
- Stacks
- Queues
- Binomial Heaps
- Summary
- Exercises
5 LiveLab in this lesson — see the labs panel →
07 Sorting 5 topics · 3 LiveLab +
- O(N2) Algorithms
- O(N log N) Algorithms
- Sub O(N log N) Algorithms
- Summary
- Exercises
3 LiveLab in this lesson — see the labs panel →
08 Searching 6 topics · 4 LiveLab +
- Linear Search
- Binary Search
- Interpolation Search
- Majority Voting
- Summary
- Exercises
4 LiveLab in this lesson — see the labs panel →
09 Hash Tables 5 topics · 1 LiveLab +
- Hash Table Fundamentals
- Chaining
- Open Addressing
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
10 Recursion 28 topics · 3 LiveLab +
- Basic Algorithms
- Factorial
- Fibonacci Numbers
- Rod-Cutting
- Tower of Hanoi
- Graphical Algorithms
- Koch Curves
- Hilbert Curve
- Sierpiński Curve
- Gaskets
- The Skyline Problem
- Backtracking Algorithms
- Eight Queens Problem
- Knight's Tour
- Selections and Permutations
- Selections with Loops
- Selections with Duplicates
- Selections Without Duplicates
- Permutations with Duplicates
- Permutations Without Duplicates
- Round-Robin Scheduling
- Recursion Removal
- Tail Recursion Removal
- Dynamic Programming
- Bottom-Up Programming
- General Recursion Removal
- Summary
- Exercises
3 LiveLab in this lesson — see the labs panel →
11 Trees 11 topics · 4 LiveLab +
- Tree Terminology
- Binary Tree Properties
- Tree Representations
- Tree Traversal
- Sorted Trees
- Lowest Common Ancestors
- Threaded Trees
- Specialized Tree Algorithms
- Interval Trees
- Summary
- Exercises
4 LiveLab in this lesson — see the labs panel →
12 Balanced Trees 6 topics · 1 LiveLab +
- AVL Trees
- 2-3 Trees
- B-Trees
- Balanced Tree Variations
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
13 Decision Trees 5 topics · 1 LiveLab +
- Searching Game Trees
- Searching General Decision Trees
- Swarm Intelligence
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
14 Basic Network Algorithms 9 topics · 1 LiveLab +
- Network Terminology
- Network Representations
- Traversals
- Strongly Connected Components
- Finding Paths
- Transitivity
- Shortest Path Modifications
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
15 More Network Algorithms 10 topics · 1 LiveLab +
- Topological Sorting
- Cycle Detection
- Map Coloring
- Maximal Flow
- Network Cloning
- Cliques
- Community Detection
- Eulerian Paths and Cycles
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
16 String Algorithms 7 topics · 2 LiveLab +
- Matching Parentheses
- Pattern Matching
- String Searching
- Calculating Edit Distance
- Phonetic Algorithms
- Summary
- Exercises
2 LiveLab in this lesson — see the labs panel →
17 Cryptography 8 topics · 1 LiveLab +
- Terminology
- Transposition Ciphers
- Substitution Ciphers
- Block Ciphers
- Public-Key Encryption and RSA
- Other Uses for Cryptography
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
18 Complexity Theory 15 topics +
- Notation
- Complexity Classes
- Reductions
- 3SAT
- Bipartite Matching
- NP-Hardness
- Detection, Reporting, and Optimization Problems
- Detection ≤p Reporting
- Reporting ≤p Optimization
- Reporting ≤p Detection
- Optimization ≤p Reporting
- Approximate Optimization
- NP-Complete Problems
- Summary
- Exercises
19 Distributed Algorithms 4 topics · 1 LiveLab +
- Types of Parallelism
- Distributed Algorithms
- Summary
- Exercises
1 LiveLab in this lesson — see the labs panel →
20 Interview Puzzles 4 topics +
- Asking Interview Puzzle Questions
- Answering Interview Puzzle Questions
- Summary
- Exercises
21 Appendix A: Summary of Algorithmic Concepts 19 topics +
- Lesson 1: Algorithm Basics
- Lesson 2: Numeric Algorithms
- Lesson 3: Linked Lists
- Lesson 4: Arrays
- Lesson 5: Stacks and Queues
- Lesson 6: Sorting
- Lesson 7: Searching
- Lesson 8: Hash Tables
- Lesson 9: Recursion
- Lesson 10: Trees
- Lesson 11: Balanced Trees
- Lesson 12: Decision Trees
- Lesson 13: Basic Network Algorithms
- Lesson 14: More Network Algorithms
- Lesson 15: String Algorithms
- Lesson 16: Cryptography
- Lesson 17: Complexity Theory
- Lesson 18: Distributed Algorithms
- Lesson 19: Interview Puzzles
Hands-On Labs Our edge
42 LiveLabs- Understanding Algorithm Complexity Through Graph Visualization
- Learning Common Run Time Functions
- Understating about Big O Notation
- Creating Pseudorandom Numbers
- Making Random Walks
- Calculating Greatest Common Divisors
- Testing of Primality
- Performing Numerical Integration
- Using Back Substitution
- Finding Cells
- Implementing Linear Search in an Unsorted Array
- Finding Median
- Finding Average
- Learning about Array Types
- Adding Matrices
- Reversing An Array
- Understanding Stacks
- Understanding Queues
- Merging Trees
- Understanding Binomial Trees
- Understanding the Heap Sort Algorithm
- Understanding Sorting Algorithm
- Summarizing the Algorithms
- Understanding the Linear Search Algorithm
- Understanding Binary Search
- Understanding Interpolation Search
- Tracing Fibonacci Computation Using Dynamic Programming
- Understanding Open Addressing
- Understanding the Factorial
- Learning about the Koch Curves
- Understanding Eight Queens Problem
- Evaluating Binary Tree Properties and Structure
- Understanding Tree Terminology
- Calculating Number of Nodes
- Learning About Tree Traversal
- Deleting Values
- Understanding Random Search
- Understanding Network Terminology
- Using the Brute Force Approach
- Understanding Pattern Matching
- Discussing about Network and String Algorithms
- Calculating the Euler's Totient Function
- Differentiating Cipher Techniques Based on Functionality
03 / FAQs
Questions before you start
What are the prerequisites for the Essential Algorithms using Python and C# course?+
Will I learn both Python and C# in this course?+
Who is this Essential Algorithms course intended for?+
Ace Technical Round Interviews
Upgrade your programming skills to land your dream job.
- 1 year of full access
- 42 LiveLab included
- Certificate of completion