
Master Data Structures, Algorithms, and Programming Concepts with John Edgar
Explore a comprehensive course on data structures, algorithms, and programming, covering topics such as stacks, queues, trees, sorting, recursion, and more. Join John Edgar to enhance your problem-solving skills and develop efficient coding techniques.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Today: Administrivia Introduction to 225, Stacks Course website: http://www.cs.sfu.ca/~mori/courses/cmpt225/ All slides available before lecture on website Acknowledgement John Edgar 2
Data Structures Algorithms Programming John Edgar 3
Data Structures and Abstract Data Types Stacks Queues Priority Queues Trees Graphs Hash Tables Algorithms Programming John Edgar 4
Data Structures Algorithms Tools Recursion Efficiency O Notation Algorithms to support data structures Sorting Programming John Edgar 5
Data Structures Algorithms Programming C++ coding skills Memory management, pointers John Edgar 6
Develop problem solving techniques To take a problem statement And develop a computer program to solve the problem A solution consists of two components Algorithms Data storage John Edgar 7
Problem solving Use abstraction to design solutions Design modular programs Use recursion as a problem-solving strategy Provide tools for the management of data Identify abstract data types (ADTs) Examine applications that use the ADTs Construct implementations of the ADTs John Edgar 8
Instructor: Greg Mori Office hours: Tues 14:30-15:30, Wed 15:30-16:30 in TASC1 8007 TAs: Hossein, Jinling, Yasaman Office hours: Thurs 11:00-13:00, Fri 11:00-12:00 in CSIL John Edgar 9
CMPT 125/126/128 and MACM 101 Familiarity with algorithms E.g. searching, sorting Some running time analysis, recursion Knowledge/use of fundamental data types E.g. numbers, characters, booleans Basic programming skills E.g. Loops, ifs, I/O Java or C++ John Edgar 10
What does this do? int nums[] = {4,20,19,3,-1,42,22,18}; for (int i=0; i<8; i++) { for (int j=i+1; j<8; j++) { if (nums[i] < nums[j]) { int t = nums[j]; nums[j] = nums[i]; nums[i] = t; } } } John Edgar 11
See syllabus for list of topics John Edgar 12
Assignments 12% Labs 8% Written midterm exam in class 15% Programming exams in CSIL 20% Final exam 45% Grades will be recorded in CourSys John Edgar 13
Individual programming assignments Dates on syllabus Note late policy 4 grace days for the trimester Academic Honesty (cheating) We re very serious about it 17 cheating cases last time I taught this course See syllabus John Edgar 14
Tuesdays in CSIL ASB 9840 NONE TOMORROW Instruction from TAs and fellow students Released in advance (Lab 0 available now) 1% each credit if late, but DON T fall behind John Edgar 15
All programming assignments in C++ Labs will use Linux, command-line interface Programming midterm will be in lab If you ve never used Linux, go to the lab this week (starting today is a good idea) Do Lab 0 Do a Linux command-line interface tutorial John Edgar 16
Midterm exam in class March 11 Programming exams in CSIL in final 2 lab slots Final exam Saturday April 20 8:30-11:30 location TBA Comprehensive, covers whole course All exams are closed-book See syllabus regarding medical factors John Edgar 17
No required books I.e. no homework questions, etc. from books Reading alternative descriptions before/after lecture highly recommended C++ language help Reference books, online resources listed John Edgar 18