Loading...

Course Description

Students are introduced to new types of data structures such as trees (including binary and multiway trees), heaps, stacks, and queues. Students also design new algorithms for each data structure studied, create and perform simple operations on graph data structures, describe and implement common algorithms for working with advanced data structures, and recognize which data structure is the most appropriate for solving a particular problem.

Learning outcomes

  • Work with procedural and object-oriented aspects of the Java language.
  • Develop sound techniques on designing, developing, and documenting well-structured programs using proper software engineering principles.
  • Continue to apply problem solving skills and provide a foundation for advanced programming courses using an OOP (object-oriented programming) methodology.
  • Describe and implement common data structures––lists, stacks, queues, graphs, and trees––for solving complex programming problems.
  • Use mathematical techniques to analyse the efficiency of the various algorithms presented, as well as the common operations on the data structures discussed.

Course topics

  • Module 1: Analysis of Algorithms & Searching and Sorting
  • Module 2: Stacks & Queues
  • Module 3: Lists & Iterators
  • Module 4: Trees & Binary Search Trees
  • Module 5: Heaps and Priority Queues, Graphs & Hashing

Required text and materials

Students are responsible for purchasing the required materials on their own:

  • Lewis, J., DePasquale, P., & Chase, J. Java Foundations: Introduction to Program Design and Data Structures (5th ed.). Pearson.
    Type: Textbook. ISBN: 9780135205976 / 9780135206638

Note: This item can be purchased directly from the following link

Additional requirements

Java Development Environment: Since this is a programming course, you will also require a development environment to compile and run your programs. Module 1 contains instructions for installing either JCreator LE or Eclipse for the Windows environment, or BlueJ for the Apple Mac environment. All of these are suitable for a learning programmer. The environment you may have used for COMP 1131 and 1231 is sufficient for this course as well.

Assessments

Please be aware that should your course have a final exam, you are responsible for the fee to the online proctoring service, ProctorU, or to the in-person approved Testing Centre. Please contact exams@tru.ca with any questions about this.

To successfully complete this course, students must achieve a passing grade of 50% or higher on the overall course, and 50% or higher on the final mandatory examination.

Note: The final exam for this course is only available as a paper exam and must be taken in person at an approved Testing Centre. Please email exams@tru.ca with any questions.

Quiz 12%
Assignment 1: Analysis of Algorithms8%
Quiz 22%
Assignment 2 : Stacks and Queues8%
Quiz 32%
Assignment 3: Lists and Iterators8%
Quiz 42%
Assignment 4: Trees and Binary Search Trees8%
Quiz 52%
Assignment 5: Heaps, Priority Queues, Graphs and Hashing8%
Mandatory Final Exam50%
Total100%

Recommended requisite(s)

  • COMP 1231

Exclusions

  • COMP 2230
Loading...

Enrol now - select a section to enrol in

Section Title
Data Structures and Algorithms
Section Schedule
Any Time (30 weeks duration)
Course Fee(s)
Canadian in BC/YT non-credit $837.62 Click here to get more information
Canadian outside BC/YT non-credit $946.70 Click here to get more information
International Student non-credit $1,661.15 Click here to get more information
Available for Credit
3 credits

Open Learning faculty member information

An Open Learning faculty member is available to assist students. Students will receive the necessary contact information at the start of the course.

Required fields are indicated by .