Skip to Main Content

CS201

Download as PDF

Data Structures and Algorithms

SCIS Sch of Computing & Info Sys

Course (UG/PG)

Undergraduate

Offering Unit/Department

Course Description

This course builds on students’ earlier programming experiences, moving beyond syntax and logic, to the question of how to build “better” programs focusing on organizing data and designing algorithms for efficiency. The materials as well as the assignments rely heavily on proficiency with Java programming language.

Students will learn:
• the concept of efficiency, why it is important for programs to be efficient and scalable, how to manage the trade-offs of computational time as well as resources such as memory, and how to compare the efficiency of various algorithms,
• problem-solving through judicious organization of data, how abstract data types allow encapsulation and localization, as well as how their concrete implementations in the form of various data structures allow for efficient access and modification of data,
• algorithmic strategies such as divide-and-conquer, iteration, recursion, randomization, etc., to achieve more effective problem solving and more efficient solutions.

This course is different from Computational Thinking, as it goes into the theoretical underpinnings of efficiency, covers more data structures, and delves deeply into the implementations of those data structures.

Course Learning Outcomes

  • Understand the efficiency notations of functions, e.g., Big O, Omega, Theta
  • Analyze the efficiency of an algorithm and derive its Big O notation
  • Knows the operations of fundamental data structures, e.g., trees, graphs
  • Implement a data structure
  • Develop algorithms to solve computational problems using the data structures covered in the scope of the course

Discipline-Specific Competencies

Applications Development, Formal Proof Construction, Algorithm Analysis, Computational Modelling, Data Engineering

SMU Graduate Learning Outcomes

Disciplinary Knowledge, Critical thinking & problem solving, Self-directed learning

Grading Basis

GRD - Graded

Course Units

1