The soul of programming is said to be data structures and algorithms. Data structures aim to hold the data while the algorithms aim to solve the problem using the data. Data structures are the key to the computer algorithms which help the programmers to manage the data efficiently. The perfect selection of data helps to enhance the efficiency of the computer programme.
Computer science in this era is all about sorting and computing from given data. So, it is necessary to have a powerful knowledge about data structure, it will help one deal with different ways of arranging, storing and processing the data. It helps in utilizing maximum space and also decreases the complexity in deletion of data, addition as well as insertion of data.
To be a successful data processor one should acquire all the skills appropriately and should master their skills that will make them stand out of the crowd. Each and every company searches for an employee who has the ability to overcome all the problems and keep up to the needs and the requirements of the company. This is the platform where they can shape their skills for the same.
The Highlights
Approx. 22 hours course
100% online learning
Intermediate level
Flexible deadlines
Offered By the University of California and national research University of Economics Higher School.
Candidates with prior knowledge about any of the programming knowledge and have completed the first part of the Data Structures and Algorithms Specialization course.
Application Details
Follow the steps given below for filling the application form:
Step1: Visit the course page.
Step2: Click on ‘enrol for free’.
Step3: Log in or sign in and click on ‘Start the 7 days free trial’ option.
Step4: Enter the card details and other relevant information.
Step5: After the trial is over, the course fees will be deducted from the candidates account every month.
The Syllabus
Videos
Arrays
Singly-Linked Lists
Doubly-Linked Lists
Stacks
Queues
Trees
Tree Traversal
Readings
Welcome
Slides and External References
Slides and External References
Slides and External References
Available Programming Languages
FAQ on Programming Assignments
Acknowledgements
Assignment
Basic Data Structures
Programming Assignment
Programming Assignment 1: Basic Data Structures
Videos
Dynamic Arrays
Amortized Analysis: Aggregate Method
Amortized Analysis: Banker's Method
Amortized Analysis: Physicist's Method
Amortized Analysis: Summary
Reading
Slides and External References
Assignment
Dynamic Arrays and Amortized Analysis
Videos
Introduction
Naive Implementations of Priority Queues
Binary Trees
Basic Operations
Complete Binary Trees
Pseudocode
Heap Sort
Building a Heap
Final Remark
Overview
Naive Implementations
Trees for Disjoint Sets
Union by Rank
Path Compression
Analysis (Optional)
Readings
Slides
Tree Height Remark
Slides and External References
Slides and External References
Slides and External References
Slides and External References
Assignments
Priority Queues: Quiz
Quiz: Disjoint Sets
Priority Queues and Disjoint Sets
Programming Assignment
Programming Assignment 2: Priority Queues and Disjoint Sets
Plugin
Survey
Videos
Applications of Hashing
Analysing Service Access Logs
Direct Addressing
Hash Functions
Chaining
Chaining Implementation and Analysis
Hash Tables
Phone Book Data Structure
Universal Family
Hashing Phone Numbers
Hashing Names
Analysis of Polynomial Hashing
Find Substring in Text
Rabin-Karp's Algorithm
Recurrence of Substring Hashes
Improving Running Time
Julia's Diary
Julia's Bank
Blockchain
Merkle Tree
Readings
Slides and External References
Slides and External References
Slides and External References
Slides and External References
Assignments
Hash Tables and Hash Functions
Hashing
Programming Assignment
Programming Assignment 3: Hash Tables
Videos
Introduction
Search Trees
Basic Operations
Balance
AVL Trees
AVL Tree Implementation
Split and Merge
Readings
Slides and External References
Slides and External References
Assignment
Binary Search Trees
Videos
Applications
Splay Trees: Introduction
Splay Trees: Implementation
(Optional) Splay Trees: Analysis
Readings
Slides and External References
Slides and External References
Assignment
Splay Trees
Programming Assignment
Programming Assignment 4: Binary Search Trees
Instructors
UC San Diego Frequently Asked Questions (FAQ's)
1: How long will it take for me to complete the entire course?
The course is for approximately 22 hours but the time that a candidate takes to complete it depends upon their grasping power and speed.
2: Can I pay the fees using paytm or Gpay?
Candidates need to pay the course fee using credit or debit card. By providing the card details for the same.
3: What if I want a refund for the course?
No there is no refund available for the course after the trial is over. You can cancel the enrollment before the 7 days trial if it doesn’t fit the candidate`s requirement.
4: I am a beginner. Can I enroll for the course with no background in this field?
This is an intermediate level course and one needs to have knowledge about anyone programming knowledge to enrol for the course. For a beginner with no background in this field, the course will become tough and the candidate will not be able to finish it successfully.
5: What is the fee payment method?
Candidates need to pay the fee online after the 7 day trial period is completed.
6: The certification for the course will be provided in which form?
The candidate will get a digital certificate of the course after successful completion of the same.
7: Is there any financial aid available for the course?
Yes, there is financial aid available for those who need it. They will have to give their application to process.
8: When will the course start from?
The course will start as soon as the candidate pays their enrolment fees. They will also get informed about the payment through SMS for the same.
9: For how long do I have to pay for the course on a monthly basis?
The candidate is supposed to pay for the course every month until they successfully finish the course.