Matches in SemOpenAlex for { <https://semopenalex.org/work/W54849093> ?p ?o ?g. }
Showing items 1 to 68 of
68
with 100 items per page.
- W54849093 abstract "We present a highly reusable “inverted” project in which students learn asymptotic and practical behaviour of dictionary data structures—linked-lists, arrays, balanced trees, and hash tables—in an atmosphere of mild competition. Much like David Levine’s Nifty Assignment“Sort Detective”, rather than implementing the dictionaries, students’ programs generate input to our (unlabeled) implementations, and students use timing data to label the implementations. Much like Bryant and O’Halloran’s computer architecture labs, students also compete to “convince” a web-based, automated system that their input generators distinguish the dictionaries based on trend-line behaviour. UBC has used the project in three terms, and we plan to use it at UBC and U Toronto in coming terms. 1. SIGNIFICANCE AND RELEVANCE Dictionary data structures (also known as maps) are commonly used in a wide variety of computing applications as well as being an important topic in algorithms and data structures courses in the ACM CS2008 curriculum (e.g., under AL/FundamentalAlgorithms, PF/DataStructures, and various places for analysis of performance and tradeoffs). Modern languages generally support them either as built-in structures (as in Python) or as part of the core libraries (as in Java). A long-running issue in computing education has been to find ways to help students learn to understand these data structures from above the implementation level [3]. Our project builds on the inverted assignment style of Levine [2] and Bryant and O’Hallaron [1] to provide a learning experience for students where they use these data structures from the outside, yet exercise deep and thorough understanding of the crucial idiosyncracies of each implementation’s function. Using a simple command syntax—one command per line where each command is composed of an ‘I’ for insert, ‘F’ for find, or ‘R’ for remove plus a numeric key—students craft experiments to distinguish the dictionary implementations from each other. To do so student must understand best-, average-, and worst-case behaviours of the structures, the form of inputs that produce those behaviours, the performance curves these varied inputs produce, and various practical ramifications of the structures’ function (e.g., the relatively large delays generated by rehashing vs. resizing of arrays). To excel in the competition, students also make educated guesses augmented by further experiments into the structure of implementations. (For example, to force a hash table to generate a “clean” n-shaped curve for a series of n insertions, students might first reverse engineer the hash table’s initial size and resizing strategy.) Finally, this project forces our Computer Science students to coherently describe an experimental plan and use its results to justify their choices, a lamentably rare occurrence in CS projects!" @default.
- W54849093 created "2016-06-24" @default.
- W54849093 creator A5006661318 @default.
- W54849093 creator A5012498862 @default.
- W54849093 creator A5037584244 @default.
- W54849093 creator A5041782619 @default.
- W54849093 creator A5062374459 @default.
- W54849093 date "2012-01-01" @default.
- W54849093 modified "2023-09-27" @default.
- W54849093 title "“Dictionary Wars”: An Inverted, Leaderboard-Driven Project for Learning Dictionary Data Structures" @default.
- W54849093 cites W1992748711 @default.
- W54849093 cites W2011837701 @default.
- W54849093 cites W2294064749 @default.
- W54849093 hasPublicationYear "2012" @default.
- W54849093 type Work @default.
- W54849093 sameAs 54849093 @default.
- W54849093 citedByCount "0" @default.
- W54849093 crossrefType "journal-article" @default.
- W54849093 hasAuthorship W54849093A5006661318 @default.
- W54849093 hasAuthorship W54849093A5012498862 @default.
- W54849093 hasAuthorship W54849093A5037584244 @default.
- W54849093 hasAuthorship W54849093A5041782619 @default.
- W54849093 hasAuthorship W54849093A5062374459 @default.
- W54849093 hasConcept C136197465 @default.
- W54849093 hasConcept C136764020 @default.
- W54849093 hasConcept C154945302 @default.
- W54849093 hasConcept C162319229 @default.
- W54849093 hasConcept C199360897 @default.
- W54849093 hasConcept C26713055 @default.
- W54849093 hasConcept C41008148 @default.
- W54849093 hasConcept C519991488 @default.
- W54849093 hasConcept C548217200 @default.
- W54849093 hasConceptScore W54849093C136197465 @default.
- W54849093 hasConceptScore W54849093C136764020 @default.
- W54849093 hasConceptScore W54849093C154945302 @default.
- W54849093 hasConceptScore W54849093C162319229 @default.
- W54849093 hasConceptScore W54849093C199360897 @default.
- W54849093 hasConceptScore W54849093C26713055 @default.
- W54849093 hasConceptScore W54849093C41008148 @default.
- W54849093 hasConceptScore W54849093C519991488 @default.
- W54849093 hasConceptScore W54849093C548217200 @default.
- W54849093 hasLocation W548490931 @default.
- W54849093 hasOpenAccess W54849093 @default.
- W54849093 hasPrimaryLocation W548490931 @default.
- W54849093 hasRelatedWork W1525872749 @default.
- W54849093 hasRelatedWork W1548360320 @default.
- W54849093 hasRelatedWork W2029833197 @default.
- W54849093 hasRelatedWork W2165807984 @default.
- W54849093 hasRelatedWork W216643776 @default.
- W54849093 hasRelatedWork W2240146375 @default.
- W54849093 hasRelatedWork W2242177453 @default.
- W54849093 hasRelatedWork W2271705667 @default.
- W54849093 hasRelatedWork W2286054459 @default.
- W54849093 hasRelatedWork W2294267588 @default.
- W54849093 hasRelatedWork W2399929348 @default.
- W54849093 hasRelatedWork W2775089694 @default.
- W54849093 hasRelatedWork W2809479499 @default.
- W54849093 hasRelatedWork W2911931354 @default.
- W54849093 hasRelatedWork W2996252579 @default.
- W54849093 hasRelatedWork W301300151 @default.
- W54849093 hasRelatedWork W3015739221 @default.
- W54849093 hasRelatedWork W3044723941 @default.
- W54849093 hasRelatedWork W610362062 @default.
- W54849093 hasRelatedWork W681381 @default.
- W54849093 isParatext "false" @default.
- W54849093 isRetracted "false" @default.
- W54849093 magId "54849093" @default.
- W54849093 workType "article" @default.