Data Structures: Course Outline - Computational Geometry Lab

77
Data Structures: Course Outline Pat Morin COMP2402 Carleton University Pat Morin COMP2402 Data Structures: Course Outline

Transcript of Data Structures: Course Outline - Computational Geometry Lab

Page 1: Data Structures: Course Outline - Computational Geometry Lab

Data Structures: Course Outline

Pat MorinCOMP2402

Carleton University

Pat Morin COMP2402 Data Structures: Course Outline

Page 2: Data Structures: Course Outline - Computational Geometry Lab

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The End

I Questions?

Pat Morin COMP2402 Data Structures: Course Outline