Nifty Assignments

SIGCSE 11: PROCEEDINGS OF THE 42ND ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION(2011)

Cited 0|Views1
No score
Abstract
I suspect that students learn more from our programming assignments than from our much sweated-over lectures, with their slide transitions, clip art, and joke attempts. A great assignment is deliberate about where the student hours go, concentrating the student's attention on material that is interesting and useful. The best assignments solve a problem that is topical and entertaining, providing motivation for the whole stack of work. Unfortunately, creating great programming assignments is both time consuming and error prone. The Nifty Assignments special session is all about promoting and sharing the ideas and ready-to-use materials of successful assignments. Each presenter will introduce their assignment, give a quick demo, and describe its niche in the curriculum and its strengths and weaknesses. The presentations (and the descriptions below) merely introduce each assignment. A key part of Nifty Assignments is the mundane but vital role of distributing the materials – handouts, data files, starter code – that make each assignment ready to adopt. The Nifty Assignments home page, http://nifty.stanford.edu, gathers all the assignments and makes them and their support materials freely available. If you have an assignment that works well and would be of interest to the CSE community, please consider applying to present at Nifty Assignments. See the nifty.stanford.edu home page for more information. Greedy Mountain Paths (CS1) Baker Franke The basic premise: using a 2D array of elevation data representing a mountainous region of the U.S., find the “best” way to walk through the mountains. Topographic data lends itself nicely to graphical representations. Students write their own algorithms to find paths through the mountains (choosing their own level of complexity) and render them by drawing a colored line through the image. The initial suggestion for a path is to do a “greedy walk” from west to east, choosing a path that represents the least amount of change in elevation from step to step. This assignment is great because it offers a context in which you can introduce 2D arrays and build quickly from typical array processing tasks to some very interesting and novel algorithms in a way that is approachable to introductory students while offering many different degrees of difficulty to choose from. While it can be a “big” 2D array assignment – covering file I/O, graphics, heuristics and greedy algorithms – there are many options for the instructor to scale it down or use components of the assignment to focus on a particular topic. The assignment is probably best situated in the latter half of a CS1 course, it assumes students have had “typical" experience programming up through linear processing of arrays. Restaurant Recommendations (CS1) Brian Hou, Marvin Zhang, and John DeNero In this assignment, students apply basic machine learning concepts to predict user ratings and cluster restaurants around a university campus, using the Yelp Academic Dataset. The assignment primarily illustrates CS1 concepts such as data abstraction, sequence processing, and key-value pairs. The machine learning ideas are all introduced by the project text as a way of motivating course fundamentals. The project builds a single interactive browser-based visualization. First, restaurants are clustered by location using the K-means algorithm. Second, ratings for restaurants (visualized using a color scale) are predicted using linear regression (one dimension only; no matrix inversions required). Test cases provided with the project ensure that these pieces combine correctly. Interested students have a wide array of possible extensions. They can use the Yelp API to make recommendations based on their own Yelp ratings. To improve the accuracy of predictions, students can implement other regression techniques or extract Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for thirdparty components of this work must be honored. For all other uses, contact the Owner/Author. Copyright is held by the owner/author(s). SIGCSE '16, March 02-05, 2016, Memphis, TN, USA ACM 978-1-4503-3685-7/16/03. http://dx.doi.org/10.1145/2839509.2844678
More
Translated text
Key words
Education, assignments, homeworks, examples, repository, library, nifty, pedagogy
AI Read Science
Must-Reading Tree
Example
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined