Skip to main content
CIT341Sciences3 Unitsintermediate

Data Structures

This course introduces foundational data structures and algorithm techniques. It covers basic operations on stacks, lists, and queues, along with concepts of trees, hashing, and binary search trees. Students will learn object-oriented programming principles and develop Java programs for simple applications. The course also explores algorithm design techniques like greedy algorithms, divide-and-conquer, and dynamic programming, as well as internal and external sorting methods.

Transform this course into personalized study materials with AI

45h
Study Time
13
Weeks
3h
Per Week
intermediate
Math Level
Course Keywords
Data StructuresAlgorithmsJava ProgrammingHashingTrees

Course Overview

Everything you need to know about this course

Course Difficulty

Intermediate Level
Builds on foundational knowledge
65%
intermediate
📊
Math Level
Moderate Math
🔬
Learning Type
Hands-on Practice

Course Topics

Key areas covered in this course

1

Data Types

2

Arrays

3

Lists

4

Stacks

5

Queues

6

Hashing

7

Trees

8

Java Programming

9

Algorithms

10

Sorting

11

Graphs

12

Object-Oriented Programming

Total Topics12 topics

Requirements

Knowledge and skills recommended for success

Basic programming knowledge

💡 Don't have all requirements? Don't worry! Many students successfully complete this course with basic preparation and dedication.

Assessment Methods

How your progress will be evaluated (3 methods)

assignments

Comprehensive evaluation of course material understanding

Written Assessment

tutor-marked assessments

Comprehensive evaluation of course material understanding

Written Assessment

final examination

Comprehensive evaluation of course material understanding

Written Assessment

Career Opportunities

Explore the career paths this course opens up for you

Software Developer

Apply your skills in this growing field

Data Analyst

Apply your skills in this growing field

Algorithm Designer

Apply your skills in this growing field

Database Administrator

Apply your skills in this growing field

Systems Analyst

Apply your skills in this growing field

Industry Applications

Real-world sectors where you can apply your knowledge

Software DevelopmentData ScienceDatabase ManagementOperating SystemsNetwork Design

Study Schedule Beta

A structured 13-week journey through the course content

Week
1

Module 1: Foundational Data Structures

3h

Unit 1: Fundamentals

3 study hours
  • Understand data types, abstract data types, and data structures.
  • Classify data types and give examples.
  • Explain the relevance of data structures in programming.
Week
2

Module 1: Foundational Data Structures

3h

Unit 2: Arrays

3 study hours
  • Describe arrays, their dimensionality, and declaration.
  • Explain the terms element and array name.
  • Express a two-dimensional array linearly.
  • Distinguish between static and dynamic arrays.
  • Explain the importance of arrays in computer applications.
Week
3

Module 1: Foundational Data Structures

3h

Unit 3: The List Data Structure

3 study hours
  • Describe a List.
  • Identify the elements of a List.
  • Explain the operations and implementations of Lists.
Week
4

Module 1: Foundational Data Structures

3h

Unit 4: The Stack Data Structure

3 study hours
  • Describe the stack data structure.
  • Identify two basic modes of implementing a stack.
  • Outline the applications of stacks in computing.
  • Explain the two methods of storing a stack.
Week
5

Module 1: Foundational Data Structures

3h

Unit 5: The Queue Data Structure

3 study hours
  • Describe a queue data structure.
  • Give at least three applications of queues.
  • Explain the operations on a queue.
  • Describe two basic modes of queue storage.
Week
6

Module 2: Hashing and Trees

3h

Unit 1: Hashing

3 study hours
  • Explain the basic idea of hashing.
  • Describe hash keys and functions.
  • Give the basic implementation of hash functions.
  • Define a hash table.
  • Explain the applications of hash tables.
Week
7

Module 2: Hashing and Trees

3h

Unit 2: Trees

3 study hours
  • Give a basic definition of a tree.
  • Describe binary trees.
  • Explain tree traversals.
  • Evaluate arithmetic expressions by means of tree traversals.
Week
8

Module 2: Hashing and Trees

3h

Unit 3: Search Trees

3 study hours
  • Explain what a search tree is.
  • Describe a successful search.
  • Describe an unsuccessful search.
  • Explain the implementation of AVL search trees.
Week
9

Module 2: Hashing and Trees

3h

Unit 4: Garbage Collection

3 study hours
  • Describe garbage.
  • Explain garbage collection.
  • Describe the mark-and-sweep garbage collection.
  • Explain the fragmentation problem.
Week
10

Module 2: Hashing and Trees

3h

Unit 5: Memory Allocation

3 study hours
  • Explain the concept of memory allocation.
  • Discuss the first fit allocation technique.
  • Explain the best fit allocation technique.
  • Describe the buddy system.
Week
11

Module 3: Introduction to Java Programming

3h

Unit 1: Object-Oriented Programming Concepts

3 study hours
  • Describe an object.
  • Explain what a class is.
  • Define an Inheritance.
  • Explain the term 'object-oriented programming'.
Week
12

Module 3: Introduction to Java Programming

6h

Unit 2: Variables

3 study hours
  • Define a variable.
  • Describe types of java programming variables.
  • Explain the naming conventions of variables.

Unit 3: Operators

3 study hours
  • Explain the term 'operators'.
  • Describe simple assignment operators.
  • Explain arithmetic operators.
  • Discuss unary operators.
  • Explain equality and relational operators.
  • Discuss the conditional operators.
Week
13

Module 3: Introduction to Java Programming

6h

Unit 4: Expressions, Statements and Blocks

3 study hours
  • Define an expression.
  • Describe statements, giving typical examples of expression statements.
  • Discuss the concept of blocks.

Unit 5: Control Flow Statements

3 study hours
  • Describe control flow statements.
  • Gain knowledge of the decision-making statements.
  • Explain the looping statements.

This study schedule is in beta and may not be accurate. Please use it as a guide and consult the course outline for the most accurate information.

Course PDF Material

Read the complete course material as provided by NOUN.

Access PDF Material

Study Tips & Exam Preparation

Expert tips to help you succeed in this course

1

Create concept maps linking Module 1-2 data structures and operations.

2

Practice implementing list, stack, and queue operations in Java (Module 1).

3

Review tree traversal algorithms (Unit 2, Module 2) and practice coding them.

4

Focus on Java syntax and object-oriented concepts (Modules 3-4).

5

Solve practice problems for each algorithm design technique (Module 5).

6

Understand sorting algorithm complexities and stability (Module 6).

7

Review all TMAs and their solutions.

Related Courses

Other courses in Sciences that complement your learning