Module outline:📋 Module Topics🎯 Student Learning Outcomes

COP3530 — Data Structures

Module 2 — Lists and Arrays: Structure and Introduction to Big O Notation

This module builds a solid foundation in two of the most fundamental data structures—lists and arrays—exploring how they organise data in memory, how core operations work, and how Big O notation gives us a precise language for comparing algorithmic efficiency. Work through the topics in order, then test your understanding with the interactive activities.

Module Artifacts — 11 items

Module Topics .json

Covers foundational concepts of arrays and lists—including definitions, memory layout, zero-based indexing, dynamic sizing, and core operations such as accessing, searching, inserting, and deleting elements—serving as the structural outline that guides learners and instructors through the sequence of topics in this module.

Text Content .html

Covers how Big O notation is applied to common list and array operations, explaining how to analyse and compare the time complexity of tasks such as access, search, insertion, and deletion so learners can reason about which data structure suits a given use case.

Topic Detail .html

Introduces the concepts of lists and arrays as fundamental data structures, explaining the problem they solve—organising collections of data in memory—and providing learners with a foundation for understanding how programs store and manipulate multiple values efficiently.

Topic Detail .html

Explains how arrays are laid out in contiguous memory, how index-based addressing works at a low level, and why this structure has direct implications for performance, giving learners the mental model needed to reason about array efficiency.

Topic Detail .html

Describes how lists differ from arrays by supporting dynamic resizing, explaining the underlying mechanisms that allow lists to grow and shrink at runtime and what that flexibility costs in terms of memory and performance.

Topic Detail .html

Defines and illustrates the four core data operations—access, search, insertion, and deletion—as applied to lists and arrays, giving learners the vocabulary and conceptual baseline needed before comparing algorithmic efficiency across data structures.

Topic Detail .html

Introduces computational complexity as a mathematical and conceptual framework for measuring how algorithm resource usage scales with input size, distinguishing it from raw execution speed and establishing the groundwork for Big O analysis.

Topic Detail .html

Explains the fundamentals of Big O notation—including common complexity classes such as O(1), O(n), and O(n²)—and teaches learners how to read, write, and interpret Big O expressions to evaluate how code performance scales with data size.

Topic Detail .html

Covers how Big O notation is applied to common list and array operations, explaining how to analyse and compare the time complexity of tasks such as access, search, insertion, and deletion so learners can reason about which data structure suits a given use case.

Interactive Activity .html

This interactive drag-and-drop activity presents seven key terms related to lists, arrays, and Big O notation that learners must match to their correct definitions, providing immediate feedback on each attempt; instructors can use it as a formative assessment to check students’ understanding of foundational vocabulary before or after the Module 2 lesson.

Interactive Activity .html

A drag-and-drop matching activity where learners pair common list and array operations (e.g., access, insertion, deletion) with their correct Big O time complexity descriptions, receiving immediate feedback on each match to reinforce understanding of algorithmic efficiency.

Topics & Learning Outcomes

View Topics & Learning Outcomes