Exploration of principles and data structures combines hands-on coding in Python and C++, emphasizing practical implementation and efficiency analysis.
Exploration of principles and data structures combines hands-on coding in Python and C++, emphasizing practical implementation and efficiency analysis.
This comprehensive course offers an interactive approach to learning data structures and algorithms, currently taught at prestigious institutions including UCSD, USD, and UPR. Through active learning methods including STOP and Think questions, Exercise Breaks, and Code Challenges, students gain practical experience implementing algorithms in C++ or Python. The course covers essential topics from basic data structures to advanced concepts in algorithm analysis, complexity theory, and data compression. While coding examples use C++ and Python, the theoretical concepts are language-agnostic, making the course valuable for all computer science students.
4.5
(11,966 ratings)
Instructors:
English
English
What you'll learn
Learn the algorithms behind essential data structures from arrays to graphs
Master theoretical analysis of algorithms including worst-case and average-case scenarios
Develop skills to choose appropriate data structures for specific problems
Understand the distinction between Abstract Data Types and Data Structures
Implement complex data structures in C++ or Python
Analyze and optimize algorithm performance using Big-O notation
Skills you'll gain
This course includes:
PreRecorded video
Graded assignments, exams
Access on Mobile, Tablet, Desktop
Limited Access access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by
Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.
There are 8 modules in this course
This comprehensive course delves into fundamental data structures and algorithms, combining theoretical understanding with practical implementation. Students explore dynamic arrays, linked structures, trees, graph algorithms, and hash tables through an active learning approach. The course emphasizes both theoretical analysis (including worst-case, average-case, and amortized complexity) and practical applications. Special attention is given to understanding Abstract Data Types versus Data Structures, and the course concludes with practical applications in information theory and data compression. The interactive format includes hands-on coding challenges, theoretical exercises, and real-world problem-solving scenarios.
Introduction and Review
Module 1
Introductory Data Structures
Module 2
Tree Structures
Module 3
Introduction to Graphs
Module 4
Hashing
Module 5
Implementing a Lexicon
Module 6
Coding and Information Compression
Module 7
Conclusions
Module 8
Fee Structure
Instructors
1 Course
Bioinformatics Researcher and Computer Science Educator
Niema Moshiri has transitioned from a Ph.D. student to an Associate Teaching Professor in the Department of Computer Science and Engineering at the University of California, San Diego. His academic journey began with a B.S. in Bioengineering: Bioinformatics, followed by a Ph.D. in Bioinformatics and Systems Biology from UCSD, where he was co-advised by Siavash Mirarab and Pavel Pevzner. His research focuses on computational biology, particularly in phylogenetics and phylogenomics, as well as computational viral epidemiology. As an educator, Moshiri has made significant contributions to computer science education, including co-authoring the interactive online textbook "Data Structures: An Active Learning Approach" and developing Massive Adaptive Interactive Texts (MAITs) for use in flipped classrooms and MOOCs. He is affiliated with the Department of Biomedical Informatics at the UC San Diego School of Medicine and the Halicioglu Data Science Institute. Moshiri's work extends to reviewing for numerous scientific journals and conferences in bioinformatics and computer science education.
1 Course
Data Structures Expert and Serverless Security Researcher
Liz Izhikevich serves as a graduate student in Computer Science at the University of California, San Diego, where she has made significant contributions to computer science education and research. As co-founder of the Data Science Student Society (DS3) at UCSD, she has helped create a vibrant community for data science students. Her academic work spans teaching and curriculum development, particularly in Advanced Data Structures courses, where she co-authored the interactive textbook "Data Structures" with Niema Moshiri. Her research focuses on serverless distributed systems and security, exploring challenges in resource isolation, security monitoring, and data protection within serverless computing environments. Beyond her academic pursuits, she has contributed to the development of innovative teaching methodologies and educational resources that have enhanced the computer science curriculum at UCSD, while maintaining active involvement in the university's research community through her work on serverless security architectures.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
4.5 course rating
11,966 ratings
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.