Courses Johns Hopkins Engineering for Professionals

Data Structures - 605.202

Investigates abstract data types, recursion, searching and sorting algorithms, and basic algorithm analysis, emphasizing trade-offs among implementations of lists, stacks, queues, priority queues, trees, sets, and dictionaries. Includes four substantial programming assignments in a language-agnostic format.

Intermediate Level 37h 30m 🌐 EN

What you'll learn

  • Study abstract data types including lists, stacks, queues, priority queues, trees, sets, and dictionaries
  • Apply recursion and algorithms for searching and sorting
  • Perform basic algorithm analysis and compare implementation trade-offs
  • Complete four substantial programming assignments in Java, C++, or Python
  • Use this course to satisfy data structures or second-programming-course prerequisites for several JHU EP programs

Skills you'll gain

  • Understand and implement core abstract data types such as lists, stacks, queues, priority queues, trees, sets, and dictionaries
  • Use recursion effectively in data structure and algorithm design
  • Implement and compare algorithms for searching and sorting
  • Perform basic analysis of algorithm efficiency and data structure trade-offs
  • Develop substantial programming projects in Java, C++, or Python using appropriate data structures

Prerequisites

  • One year of college mathematics
  • EN.605.201 Introduction to Programming Using Java or equivalent
  • EN.605.206 Introduction to Programming in Python or equivalent

Who this course is for

  • Prospective students for the Computer Science and Cybersecurity program who need a data structures course for admission
  • Prospective students for the Information Systems Engineering program who must satisfy a conditional data structures prerequisite
  • Prospective students for the Artificial Intelligence program who need a second course in programming
  • Students planning to take EN.605.621 Foundations of Algorithms and EN.605.649 Introduction to Machine Learning
USD 1,475.00
Go to Course

You'll be redirected to Johns Hopkins Engineering for Professionals

Provider

Johns Hopkins Engineering for Professionals

Related Courses

Python Bootcamp

Python Bootcamp covers fundamentals of Python programming, including control structures, advanced data types, functions, modules, packages, multithreading, exception handling, file handling, GUI design, and database connectivity, preparing learners for future work in data science and machine learning.

SYBGEN Inc.

Systems Engineering

This course introduces Systems Engineering principles across the lifecycle of complex systems, covering system design, architecture, requirements analysis, modeling, verification, lifecycle models (Waterfall, V-Model, Spiral, Agile), SysML, risk management, trade-off analysis, and a Smart Home Security System project.

Udacity

IT Systems Design and Analysis

Prepare to design, analyze, and evaluate IT systems using data flow diagrams, ERDs, UML, and feasibility analysis. Learn to assess existing systems, identify inefficiencies, compare solution alternatives, and deliver a digital transformation strategy through a hands-on final project.

Coursera ⭐ 4.70

Hands On FullStack Development Course with Infrastructure Management Product implementation

A 180-day, project-first full-stack infrastructure course where you build and operate production-grade services with CI/CD, testing, observability, and operational playbooks, aimed at taking you from toy projects to real-world deployment experience.

System Design Roadmap ⭐ 4.80

Learn Typescript

Hands-on introduction to TypeScript fundamentals and their application in real projects. Learn core typing concepts, advanced TypeScript features, and how to use TypeScript with React and Express while building safer, more maintainable JavaScript applications.

Coursera ⭐ 4.50

AI Engineering Course

Designed to help software engineers transition to AI engineering, with detailed breakdowns of vector databases, indexing, large language models, attention, and core optimizations so you can understand how LLMs work and use them to build real-world applications.

InterviewReady ⭐ 4.73