All Courses
Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues
edX
Course
Intermediate
Free to Audit
Certificate

Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks and Queues

The Georgia Institute of Technology

Work with the principles of data storage in Arrays, ArrayLists & LinkedList nodes. Understand their operations and performance with visualizations. Implement low-level linear, linked data structures with recursive methods, and explore their edge cases. Extend these structures to the Abstract Data Types, Stacks, Queues and Deques.

9 hrs/week5 weeksEnglish47,728 enrolled
Free to Audit

About this Course

The Data Structures & Algorithms course begins with a review of some important Java techniques and nuances in programming. The course requires some prior knowledge of Java and object-oriented programming, but not in data structures or algorithms. This course introduces you to time complexity, and threads this concept throughout all data structures and algorithms presented in the course. You will work with the principles of data storage in Arrays and LinkedList nodes. You will program the low-level data structures: Singly, Circular and Doubly LinkedLists; and explore edge cases and efficiencies. LinkedLists and Arrays are used to implement Abstract Data Types, ADTs: Stacks, Queues and Deques. Harnessing the power of recursion to move through these data structures is necessary. As the size changes in your data structures, it becomes important to examine amortized analysis of the operations. The course design has several components and is built around modules. A module consists of a series of short (3-5 minute) instructional videos. In between the videos, there are textual frames with additional content information for clarification, as well as video errata dropdown boxes. All modules include an Exploratory Lab that incorporates a Visualization Tool specifically designed for this course. The lab includes discovery questions that lead you towards delving deeper into the efficiency of the data structures and examining the edge cases. This is followed by a set of comprehension questions on topics covered in the module that count for 10% of your grade. The modules end with Java coding assignments which are 60% of your grade. Lastly, you'll complete a course exam, which counts for the remaining 30% of your grade. This is a great course that has been derived from the on-campus version of CS1332 at the Georgia Institute of Technology, and is backed with an impressive reputation.

What You'll Learn

  • Develop mature Java programming skills with the use of generics, references and interfaces
  • Understand the principles of data storage in Node objects
  • Program various low-level data structures like Singly, Doubly and Circular LinkedLists
  • Design and implement ADTs like Lists (backed by Arrays), Stacks and Queues
  • Examine the edge cases that occur in these linear data structures
  • Analyze the time complexity of linear data structures and their algorithms
  • Compute amortized analysis for Arrays, ArrayLists, Stacks and Queues
  • Implement recursive methods that operate on linear data structures
  • Extend knowledge of these concepts to other structures like PriorityQueues and Deques

Prerequisites

  • Prerequisites for the course are basic knowledge of the Java programming language and object oriented principles.

Instructors

M

Mary Hudachek-Buswell

Associate Chair, School of Computing Instruction

Topics

Algorithms
Java (Programming Language)
Nodes (Networking)
Operations
Object-Oriented Programming (OOP)
Data Storage Technologies
Data Structures
Time Complexity
Abstract Data Types

Course Info

PlatformedX
LevelIntermediate
PacingUnknown
CertificateAvailable
PriceFree to Audit

Skills

الخوارزميات
جافا
العمليات
البرمجة كائنية التوجه
العُقد
Data Storage Technologies
Data Structures
Time Complexity
Abstract Data Types

Start Learning Now