Data Structures: Course Outline - Computational Geometry Lab
Transcript of Data Structures: Course Outline - Computational Geometry Lab
![Page 1: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/1.jpg)
Data Structures: Course Outline
Pat MorinCOMP2402
Carleton University
Pat Morin COMP2402 Data Structures: Course Outline
![Page 2: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/2.jpg)
Me
I Professor Dr. Patrick Ryan Morin
I Call me “Pat”
I Not “sir”, “doctor Morin”, or “mister Morin”I Use your hand (or say excuse me) to get my attention
I My official office hours are 10:00–12:00 on Wednesdays
I From 8:30–16:30, Monday–Friday, I can usually be found in5177HP
Pat Morin COMP2402 Data Structures: Course Outline
![Page 3: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/3.jpg)
Me
I Professor Dr. Patrick Ryan MorinI Call me “Pat”
I Not “sir”, “doctor Morin”, or “mister Morin”I Use your hand (or say excuse me) to get my attention
I My official office hours are 10:00–12:00 on Wednesdays
I From 8:30–16:30, Monday–Friday, I can usually be found in5177HP
Pat Morin COMP2402 Data Structures: Course Outline
![Page 4: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/4.jpg)
Me
I Professor Dr. Patrick Ryan MorinI Call me “Pat”
I Not “sir”, “doctor Morin”, or “mister Morin”
I Use your hand (or say excuse me) to get my attention
I My official office hours are 10:00–12:00 on Wednesdays
I From 8:30–16:30, Monday–Friday, I can usually be found in5177HP
Pat Morin COMP2402 Data Structures: Course Outline
![Page 5: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/5.jpg)
Me
I Professor Dr. Patrick Ryan MorinI Call me “Pat”
I Not “sir”, “doctor Morin”, or “mister Morin”I Use your hand (or say excuse me) to get my attention
I My official office hours are 10:00–12:00 on Wednesdays
I From 8:30–16:30, Monday–Friday, I can usually be found in5177HP
Pat Morin COMP2402 Data Structures: Course Outline
![Page 6: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/6.jpg)
Me
I Professor Dr. Patrick Ryan MorinI Call me “Pat”
I Not “sir”, “doctor Morin”, or “mister Morin”I Use your hand (or say excuse me) to get my attention
I My official office hours are 10:00–12:00 on Wednesdays
I From 8:30–16:30, Monday–Friday, I can usually be found in5177HP
Pat Morin COMP2402 Data Structures: Course Outline
![Page 7: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/7.jpg)
Me
I Professor Dr. Patrick Ryan MorinI Call me “Pat”
I Not “sir”, “doctor Morin”, or “mister Morin”I Use your hand (or say excuse me) to get my attention
I My official office hours are 10:00–12:00 on Wednesdays
I From 8:30–16:30, Monday–Friday, I can usually be found in5177HP
Pat Morin COMP2402 Data Structures: Course Outline
![Page 8: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/8.jpg)
What is a Data Structure?
I Stores data
I Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored data
I Example: What is the data stored at position i? (get(i))I Example: What is the smallest data value greater than or
equal to x? (find(x))
I Can add or remove data (sometimes)
I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 9: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/9.jpg)
What is a Data Structure?
I Stores dataI Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored data
I Example: What is the data stored at position i? (get(i))I Example: What is the smallest data value greater than or
equal to x? (find(x))
I Can add or remove data (sometimes)
I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 10: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/10.jpg)
What is a Data Structure?
I Stores dataI Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored data
I Example: What is the data stored at position i? (get(i))I Example: What is the smallest data value greater than or
equal to x? (find(x))
I Can add or remove data (sometimes)
I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 11: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/11.jpg)
What is a Data Structure?
I Stores dataI Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored dataI Example: What is the data stored at position i? (get(i))
I Example: What is the smallest data value greater than orequal to x? (find(x))
I Can add or remove data (sometimes)
I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 12: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/12.jpg)
What is a Data Structure?
I Stores dataI Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored dataI Example: What is the data stored at position i? (get(i))I Example: What is the smallest data value greater than or
equal to x? (find(x))
I Can add or remove data (sometimes)
I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 13: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/13.jpg)
What is a Data Structure?
I Stores dataI Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored dataI Example: What is the data stored at position i? (get(i))I Example: What is the smallest data value greater than or
equal to x? (find(x))
I Can add or remove data (sometimes)
I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 14: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/14.jpg)
What is a Data Structure?
I Stores dataI Examples: Integers, Strings, Floats, . . .
I Can answer questions about the stored dataI Example: What is the data stored at position i? (get(i))I Example: What is the smallest data value greater than or
equal to x? (find(x))
I Can add or remove data (sometimes)I Example: Add the element x at position i (add(i,x))
Pat Morin COMP2402 Data Structures: Course Outline
![Page 15: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/15.jpg)
Why Study Data Structures?
I Data structures underly every computer system
I Computer file system (data structure maps file names ontohard drive sectors)
I Google and other search engines (data structure mapskeywords onto webpages containing those keywords)
I Video games (data structures determine if game objectscollide)
I Geographic systems (data structures find data relevant to thecurrent view/location)
I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 16: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/16.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)
I Google and other search engines (data structure mapskeywords onto webpages containing those keywords)
I Video games (data structures determine if game objectscollide)
I Geographic systems (data structures find data relevant to thecurrent view/location)
I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 17: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/17.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)I Google and other search engines (data structure maps
keywords onto webpages containing those keywords)
I Video games (data structures determine if game objectscollide)
I Geographic systems (data structures find data relevant to thecurrent view/location)
I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 18: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/18.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)I Google and other search engines (data structure maps
keywords onto webpages containing those keywords)I Video games (data structures determine if game objects
collide)
I Geographic systems (data structures find data relevant to thecurrent view/location)
I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 19: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/19.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)I Google and other search engines (data structure maps
keywords onto webpages containing those keywords)I Video games (data structures determine if game objects
collide)I Geographic systems (data structures find data relevant to the
current view/location)
I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 20: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/20.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)I Google and other search engines (data structure maps
keywords onto webpages containing those keywords)I Video games (data structures determine if game objects
collide)I Geographic systems (data structures find data relevant to the
current view/location)I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 21: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/21.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)I Google and other search engines (data structure maps
keywords onto webpages containing those keywords)I Video games (data structures determine if game objects
collide)I Geographic systems (data structures find data relevant to the
current view/location)I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 22: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/22.jpg)
Why Study Data Structures?
I Data structures underly every computer systemI Computer file system (data structure maps file names onto
hard drive sectors)I Google and other search engines (data structure maps
keywords onto webpages containing those keywords)I Video games (data structures determine if game objects
collide)I Geographic systems (data structures find data relevant to the
current view/location)I . . .
I Fortunes have been made (and lost) because of datastructures
I Many problems are solved efficiently just by using the rightdata structure
Pat Morin COMP2402 Data Structures: Course Outline
![Page 23: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/23.jpg)
How do We Study Data Structures?
I What does the data structure represent?
I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?
I adding elements, removing elements, membership testing,finding elements, range searching,. . .
I What kind of performance does it have?
I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 24: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/24.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?
I adding elements, removing elements, membership testing,finding elements, range searching,. . .
I What kind of performance does it have?
I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 25: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/25.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?
I adding elements, removing elements, membership testing,finding elements, range searching,. . .
I What kind of performance does it have?
I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 26: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/26.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?I adding elements, removing elements, membership testing,
finding elements, range searching,. . .
I What kind of performance does it have?
I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 27: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/27.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?I adding elements, removing elements, membership testing,
finding elements, range searching,. . .
I What kind of performance does it have?
I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 28: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/28.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?I adding elements, removing elements, membership testing,
finding elements, range searching,. . .
I What kind of performance does it have?I how long does each operation take?
I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 29: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/29.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?I adding elements, removing elements, membership testing,
finding elements, range searching,. . .
I What kind of performance does it have?I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 30: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/30.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?I adding elements, removing elements, membership testing,
finding elements, range searching,. . .
I What kind of performance does it have?I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 31: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/31.jpg)
How do We Study Data Structures?
I What does the data structure represent?I A collection, a set, a sequence, a map, the world,. . .
I What operations does it support?I adding elements, removing elements, membership testing,
finding elements, range searching,. . .
I What kind of performance does it have?I how long does each operation take?I how much space does it use?
I First two define the interface
I Performance is determined by the implementation
Pat Morin COMP2402 Data Structures: Course Outline
![Page 32: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/32.jpg)
Who Studies Data Structures?
I Computer scientists are best equipped (skills-wise) to
I choose which data structures to use for a particular applicationI implement data structuresI design new data structures
Pat Morin COMP2402 Data Structures: Course Outline
![Page 33: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/33.jpg)
Who Studies Data Structures?
I Computer scientists are best equipped (skills-wise) toI choose which data structures to use for a particular application
I implement data structuresI design new data structures
Pat Morin COMP2402 Data Structures: Course Outline
![Page 34: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/34.jpg)
Who Studies Data Structures?
I Computer scientists are best equipped (skills-wise) toI choose which data structures to use for a particular applicationI implement data structures
I design new data structures
Pat Morin COMP2402 Data Structures: Course Outline
![Page 35: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/35.jpg)
Who Studies Data Structures?
I Computer scientists are best equipped (skills-wise) toI choose which data structures to use for a particular applicationI implement data structuresI design new data structures
Pat Morin COMP2402 Data Structures: Course Outline
![Page 36: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/36.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 37: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/37.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreer
I Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 38: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/38.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 39: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/39.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your boss
I give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 40: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/40.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitors
I save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 41: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/41.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of work
I allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 42: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/42.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughs
I make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 43: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/43.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you rich
I . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 44: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/44.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 45: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/45.jpg)
When Should We Study Data Structures?
I Start as soon as possible
I Continue for the rest of your carreerI Knowing the right data structure can
I help you impress your bossI give your software an advantage over your competitorsI save you a lot of workI allow you to make new scientific breakthroughsI make you richI . . .
I Learning about data structures is rewarding for its own sake
Pat Morin COMP2402 Data Structures: Course Outline
![Page 46: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/46.jpg)
Where Do We Study Data Structures?
I Here, in school
I Later, at work
I “I took your course on data structures about two years agonow, and today I was reminded why it was probably one ofthe most useful ones I’ve ever taken. I use a softwarepackage for game development and noticed that a certainfeature was behaving strangely. I tinkered with it andconfirmed it was not caused by something I was doing (or notdoing). Nope! Turns out hashing was implemented incorrectlyand it simply did not test for certain hashing collisions. Thisoccurred very rarely, but most noticeably with strings. Isubmitted a bug report and it has been elevated in their bugtracker to the highest priority.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 47: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/47.jpg)
Where Do We Study Data Structures?
I Here, in school
I Later, at work
I “I took your course on data structures about two years agonow, and today I was reminded why it was probably one ofthe most useful ones I’ve ever taken. I use a softwarepackage for game development and noticed that a certainfeature was behaving strangely. I tinkered with it andconfirmed it was not caused by something I was doing (or notdoing). Nope! Turns out hashing was implemented incorrectlyand it simply did not test for certain hashing collisions. Thisoccurred very rarely, but most noticeably with strings. Isubmitted a bug report and it has been elevated in their bugtracker to the highest priority.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 48: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/48.jpg)
Where Do We Study Data Structures?
I Here, in school
I Later, at work
I “I took your course on data structures about two years agonow, and today I was reminded why it was probably one ofthe most useful ones I’ve ever taken. I use a softwarepackage for game development and noticed that a certainfeature was behaving strangely. I tinkered with it andconfirmed it was not caused by something I was doing (or notdoing). Nope! Turns out hashing was implemented incorrectlyand it simply did not test for certain hashing collisions. Thisoccurred very rarely, but most noticeably with strings. Isubmitted a bug report and it has been elevated in their bugtracker to the highest priority.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 49: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/49.jpg)
Administrative Stuff
I Instructor: Pat MorinI Office hours: Wednesday 10:00–12:00, 5177HP
I TA Office hours will be posted on culearn
I Webpage: culearn.carleton.ca
I Textbook: Open Data Structures (in Java)
Pat Morin COMP2402 Data Structures: Course Outline
![Page 50: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/50.jpg)
Grading Scheme
Assignments 5 × 10% = 50%Mid-Term Exam 15%Final Exam 35%
100%
I Assignments are marked by a submission server
I Exams are multiple-choice Scantron
Pat Morin COMP2402 Data Structures: Course Outline
![Page 51: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/51.jpg)
Grading Scheme
Assignments 5 × 10% = 50%Mid-Term Exam 15%Final Exam 35%
100%
I Assignments are marked by a submission server
I Exams are multiple-choice Scantron
Pat Morin COMP2402 Data Structures: Course Outline
![Page 52: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/52.jpg)
Grading Scheme
Assignments 5 × 10% = 50%Mid-Term Exam 15%Final Exam 35%
100%
I Assignments are marked by a submission server
I Exams are multiple-choice Scantron
Pat Morin COMP2402 Data Structures: Course Outline
![Page 53: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/53.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:
I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 54: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/54.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)
I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:
I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 55: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/55.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)
I tests (for correctness and speed)I displays and records your mark
I Pros:
I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 56: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/56.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)
I displays and records your mark
I Pros:
I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 57: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/57.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:
I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 58: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/58.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:
I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 59: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/59.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:I Submit as often as you like (most recent mark is recorded)
I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 60: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/60.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:I Submit as often as you like (most recent mark is recorded)I No surprise marks
I TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 61: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/61.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 62: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/62.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:
I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 63: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/63.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:I No marks for trying
I Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 64: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/64.jpg)
Automatic Assignment Marking
I To submit an assignment, you zip it up and submit to a serverthat
I unzips (zip files only, please)I compiles (must compile)I tests (for correctness and speed)I displays and records your mark
I Pros:I Submit as often as you like (most recent mark is recorded)I No surprise marksI TA time is allocated to helping you
I Cons:I No marks for tryingI Improperly packaged, non-compiling code = 0
Pat Morin COMP2402 Data Structures: Course Outline
![Page 65: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/65.jpg)
Student feedback on Submission Server
I “The submitting server was great. I was able to get 100% onevery assignment.”
I “The marking server was very cool, I very much enjoyed toability to know how well I did instantly.”
I “Without it I don’t think I would have done as well on theassignments because for a lot of them I thought I was doing itright, but the server then told me otherwise.”
I “. . . has both pros and cons (a notable con is the improbabilityof getting anything other than 0 or 100% on a question),. . . ”
I “There server submission was OK, but given the choice I’drather have a TA look at my work and mark it, then theycould tell me what was exactly wrong with it.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 66: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/66.jpg)
Student feedback on Submission Server
I “The submitting server was great. I was able to get 100% onevery assignment.”
I “The marking server was very cool, I very much enjoyed toability to know how well I did instantly.”
I “Without it I don’t think I would have done as well on theassignments because for a lot of them I thought I was doing itright, but the server then told me otherwise.”
I “. . . has both pros and cons (a notable con is the improbabilityof getting anything other than 0 or 100% on a question),. . . ”
I “There server submission was OK, but given the choice I’drather have a TA look at my work and mark it, then theycould tell me what was exactly wrong with it.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 67: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/67.jpg)
Student feedback on Submission Server
I “The submitting server was great. I was able to get 100% onevery assignment.”
I “The marking server was very cool, I very much enjoyed toability to know how well I did instantly.”
I “Without it I don’t think I would have done as well on theassignments because for a lot of them I thought I was doing itright, but the server then told me otherwise.”
I “. . . has both pros and cons (a notable con is the improbabilityof getting anything other than 0 or 100% on a question),. . . ”
I “There server submission was OK, but given the choice I’drather have a TA look at my work and mark it, then theycould tell me what was exactly wrong with it.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 68: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/68.jpg)
Student feedback on Submission Server
I “The submitting server was great. I was able to get 100% onevery assignment.”
I “The marking server was very cool, I very much enjoyed toability to know how well I did instantly.”
I “Without it I don’t think I would have done as well on theassignments because for a lot of them I thought I was doing itright, but the server then told me otherwise.”
I “. . . has both pros and cons (a notable con is the improbabilityof getting anything other than 0 or 100% on a question),. . . ”
I “There server submission was OK, but given the choice I’drather have a TA look at my work and mark it, then theycould tell me what was exactly wrong with it.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 69: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/69.jpg)
Student feedback on Submission Server
I “The submitting server was great. I was able to get 100% onevery assignment.”
I “The marking server was very cool, I very much enjoyed toability to know how well I did instantly.”
I “Without it I don’t think I would have done as well on theassignments because for a lot of them I thought I was doing itright, but the server then told me otherwise.”
I “. . . has both pros and cons (a notable con is the improbabilityof getting anything other than 0 or 100% on a question),. . . ”
I “There server submission was OK, but given the choice I’drather have a TA look at my work and mark it, then theycould tell me what was exactly wrong with it.”
Pat Morin COMP2402 Data Structures: Course Outline
![Page 70: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/70.jpg)
Textbook: Open Data Structures (in Java)
I opendatastructures.org
I trade paperback $29.95 from Amazon, Chapters, or CUBookstore (actually a bit more from the bookstore)
I PDF and HTML are free at opendatastructures.org
I CC-BY License: Use the code later in your own projectsI Supplementary text:
I Mathematics for Computer Science (free PDF)
Pat Morin COMP2402 Data Structures: Course Outline
![Page 71: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/71.jpg)
Textbook: Open Data Structures (in Java)
I opendatastructures.org
I trade paperback $29.95 from Amazon, Chapters, or CUBookstore (actually a bit more from the bookstore)
I PDF and HTML are free at opendatastructures.org
I CC-BY License: Use the code later in your own projectsI Supplementary text:
I Mathematics for Computer Science (free PDF)
Pat Morin COMP2402 Data Structures: Course Outline
![Page 72: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/72.jpg)
Textbook: Open Data Structures (in Java)
I opendatastructures.org
I trade paperback $29.95 from Amazon, Chapters, or CUBookstore (actually a bit more from the bookstore)
I PDF and HTML are free at opendatastructures.org
I CC-BY License: Use the code later in your own projectsI Supplementary text:
I Mathematics for Computer Science (free PDF)
Pat Morin COMP2402 Data Structures: Course Outline
![Page 73: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/73.jpg)
Textbook: Open Data Structures (in Java)
I opendatastructures.org
I trade paperback $29.95 from Amazon, Chapters, or CUBookstore (actually a bit more from the bookstore)
I PDF and HTML are free at opendatastructures.org
I CC-BY License: Use the code later in your own projects
I Supplementary text:I Mathematics for Computer Science (free PDF)
Pat Morin COMP2402 Data Structures: Course Outline
![Page 74: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/74.jpg)
Textbook: Open Data Structures (in Java)
I opendatastructures.org
I trade paperback $29.95 from Amazon, Chapters, or CUBookstore (actually a bit more from the bookstore)
I PDF and HTML are free at opendatastructures.org
I CC-BY License: Use the code later in your own projectsI Supplementary text:
I Mathematics for Computer Science (free PDF)
Pat Morin COMP2402 Data Structures: Course Outline
![Page 75: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/75.jpg)
Lectures
I Mostly: On the board, using chalk
I Less often: On the projector, writing and testing code
Pat Morin COMP2402 Data Structures: Course Outline
![Page 76: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/76.jpg)
Lectures
I Mostly: On the board, using chalk
I Less often: On the projector, writing and testing code
Pat Morin COMP2402 Data Structures: Course Outline
![Page 77: Data Structures: Course Outline - Computational Geometry Lab](https://reader035.fdocuments.in/reader035/viewer/2022071600/613d0f31736caf36b758d4bd/html5/thumbnails/77.jpg)
The End
I Questions?
Pat Morin COMP2402 Data Structures: Course Outline