You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.2 KiB

layout
simple

CMPT 225 - Introduction

CMPT: 225, D100 --- Data Structures & Programming

Graded Work

  • 4 Assignments, 32%
    • Programming & Written Components
    • Programs:
      • In C++
      • running on ESIL Linux machines
      • using command line tools
  • 3 Tests, 33%
    • In class
  • 1 Final Exam, 35%

Lectures

  • Slides + audio recording will be posted after lectures.

Labs

  • There are help times (first labs are next week)

Instructor Office Hours

  • Will be primarily online --- times TBA.

Instructor Contact

  • Via Canvas or email (for email: write from your SFU account, use subject "225: ...")

Some Basic Rules

  • In class, do not distract others.
  • In class, no taking photos/videos/recording
  • Help each other, but submit your own work.
  • Masks are mandatory in class:
    • may be removed while asking a question
    • if you cannot wear a mask, please email me
  • Please stay on "your" side of the table
    • and stay 6' away if you don't have a mask on

Course Content

  • Algorithms: processes that operate on data
  • Programs: implementations of algorithms
  • Data in programs: stored in data structures
    • simple D.S.: variables
    • most algorithms required compound D.S.s: e.g. arrays, lists, ...
    • most non-trivial applications require non-trivial D.S.s
  • Data Type: collection of values + operations on these values
  • Multiple data types:
    • Cleaner/simpler slg. design
    • better code
  • Abstract Data Type: defined by values + operations without reference to how things are implemented
  • ADTs provide an abstract view of data:
    • let us reason about algorithms at a high level, ignoring implementation details
  • Good ADT choices reduce program complexity & increase likelihood of success ( which is good).
  • a[i] vs. a(i)

We will look at:

  • fundamental ADTs
  • fundamental data structures (to implement them)
  • sorting algorithms
  • with attention to:
    • correctness
    • efficiency/speed
    • how to implement
    • how to choose (for an application)

Pre-regs:

  • Basic Programming (e.g. CMPT 125)
  • Discrete Math (e.g. MACM 101)

(students get these in many different ways)

To Do

  • Read chapters 1 + 3 of text
  • Lear about CSIL

End