Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.4, 3.4, 3.5 Add Jens' Data Science Ideas #36

Open
Tracked by #38
maryfries opened this issue Jan 28, 2019 · 2 comments
Open
Tracked by #38

2.4, 3.4, 3.5 Add Jens' Data Science Ideas #36

maryfries opened this issue Jan 28, 2019 · 2 comments
Assignees

Comments

@maryfries
Copy link
Contributor

Here's what I propose we do:

  • In Unit 3,
    • Replace all of U3L4 (Creating Bar Graphs, Building a Graphing App, and Improving Your Graphing App) and U3L5p1 (Analyzing U.S. Baby Names), which were among the most problematic in teacher feedback, and maybe also replace p2 (Analyzing Global Health Data) with Jens' ideas (though I could see using the 3.4.3 building of blocks to abstract away some of the complexity and perhaps keeping some/all of 3.5.2 as a visual, non-programing-intensive intro to investigating datasets).
    • I think the quizlets on 3.5.3 (Self-Check: Big Data) and 3.5.4 (Metadata) are worth keeping though I might be convinced the drop the videos if we manage to implement Jens' ideas well (and I think they will be relatively easy to implement well).
    • That leaves the U3 Math Tools (More Math Tools) in need of a more sensible home…
  • In Unit 2,
    • Put the U3 Math Tools in a short new lab (just before or after 2.4) along with the U2 Math Tools (Making Computers Do Math). I don't think there is anything in the U3 math tools that forces it into U3 (though it should be noted that this page includes an intro to COMBINE, so no matter where it goes, if it's required as we've proposed, it has implications to 5.3.1 where COMBINE is otherwise introduced).
    • Include a mini-intro to some of Jens' data science ideas at the end of the new U2 lab with the pieces that could be reasonably dabbled in early (like importing and getting to know the data set, using KEEP with predicates they've built or used in 2.3.1, like BETWEEN?, and using some of the math tools, like AVERAGE).

So, the proposal is: replace U3L4 and most of U3L5 with Jens' stuff, salvaging the existing quizlets, and in U2 make a new "mathy" lab with the two math tools pages and a light KEEP-only intro to data processing.

I'm inclined to not use the "billionaires" dataset but to choose one to highlight social issues (e.g., education, food, global development, labor) and maybe even offer some discussion prompts on those topics.

https://www.youtube.com/watch?v=6H8vK8Q5KeY

https://think.cs.vt.edu/corgis/csv/index.html

@maryfries maryfries self-assigned this Jan 28, 2019
@maryfries
Copy link
Contributor Author

From Paul: To me, that sounds just perfect.

We still need to craft the lessons, of course, so that kids can do the stuff themselves, but this satisfies many of our criteria for BJC: replacing poor labs that only nominally satisfied the intent of the standards, great handling of the deep ideas (and the standards) on data, meaningful (and intelligible) use of HOFs, functional programming, and projects that can be personalized by students (e.g., but not only, by choosing different data sets).

I wonder about the craft. Here is a place where I would not be at all averse to a super-short version of Jens’s talk, a video showing a few successive stages in building one inquiry, and also giving students something (possibly different) that they can use, then modify, before we ask them to create. I don’t think any of the ideas he shows are beyond students’ ability to understand and reproduce creatively, but the more he does, the more steps there are. So a bit of opportunity to experiment is useful. Not broken down into “now select column 5”—too arbitrary and specific (and only one event for practice)—but perhaps like “create expressions to select two or three columns you want to investigate further. Build each expression into a reporter block suitably named so that the name tells you what the block reports (rather than ‘column 5’ of some table).” In fact, there might be a few intermediary steps. Since map is required for selecting a column from a table, and the column must be specified in the appropriate place in item embedded in map, perhaps a first block to create would be column %n of table %data. From that, one produces billionaire wealth with no inputs because it must know both the table and the column in order to function. Etc. That would serve the additional purpose of making a habit of abstraction and good naming. It would also reduce what I think could be the greatest difficulty of this whole enterprise, the level of embedding.

Speaking of which, what do y’all think about pipe? In a much simpler context, I asked Cindy which she thought her students would find clearer: embedded n x 10 ÷ 2 or pipe n -> () x 10 -> () ÷ 2, and I was very neutral (because I honestly didn’t know) in presenting. When she definitively chose pipe, I argued for the simplicity of the two-block embedding, but she didn’t buy it. I’m still not sure, and think we should play a bit, but it sounded like Jens was also suggesting that pipe might be a simpler way to see (or write) the process by seeing it as a process (still discrete steps) rather than requiring that students already see it as an atom, a single multilayered object.

@maryfries maryfries changed the title Add Jens' Data Science Ideas 2.4, 3.4, 3.5 Add Jens' Data Science Ideas Apr 12, 2019
@maryfries
Copy link
Contributor Author

maryfries commented Jul 21, 2019

Much of the above is now done except:

  • Include a mini-intro to some of Jens' data science ideas at the end of the new U2 lab with the pieces that could be reasonably dabbled in early (like importing and getting to know the data set, using KEEP with predicates they've built or used in 2.3.1, like BETWEEN?, and using some of the math tools, like AVERAGE).

Also the efficacy of PIPE in 2.4.1 is up for debate. Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant