amyjko / critically-conscious-computing Goto Github PK
View Code? Open in Web Editor NEWThe online book Critically Conscious Computing: Methods for Secondary Education
The online book Critically Conscious Computing: Methods for Secondary Education
Where: https://criticallyconsciouscomputing.org/verification
This paragraph is incorrect:
Lastly, what if the array given to average is something like ["cat", "dog", "rabbit"]? There is no such thing as an average of three words, and so the correct behavior might be to produce an error that says something like The array must have only numbers.. Instead, because the program does not verify that the list only contains numbers, it would produce no failure, just returning the number 1. And if we fixed the defect above, we would get the (confusing) error TypeError: unsupported operand type(s) for Div on the last line, because the + in Python, in addition to computing addition, also concatenates strings, so the last line would compute "0catdograbbit" / 3.
The error would actually be "TypeError: unsupported operand type(s) for +: 'int' and 'str' on line 4" because Python cannot handle + between an int and a str.
Here: https://criticallyconsciouscomputing.org/programming#header-2
1st paragraph
Or maybe it should be:
"project the elist idea that programming as something" -> "project the elitist idea that programming is something"
Chapter: https://criticallyconsciouscomputing.org/justice
Section: Research on teaching CS ethics
Change: "viewed them is irrelevant to CS" -> "viewed them as irrelevant to CS"
Location: https://criticallyconsciouscomputing.org/control
Current text: "how people what wanted to shop, bank"
I'm having trouble parsing this, I think it is meant to be "how people wanted to shop, bank" but I'm not entirely sure.
It wasn’t until many decades later did design resurface, with new visions such as the ubiquitous computing of Internet of Things, cryptocurrency, and other distributed networking.
The sentence mentions two specific concepts like "Internet of Things", "cryptocurrency" but then ends with "other distributed networking". I have some idea what the first two concepts are, but I have little idea what the third is about.
Some have claimed that Boole was anti-racist, at least in historical terms:
https://files.eric.ed.gov/fulltext/ED484861.pdf
Research this, and weave it into the discussion of Boole.
Comments from Caroline:
Hi Amy!
I'll try to tabulate all the places where the interactive python examples don't run for me. By "don't run" I mean I clicked the play triangle button and nothing happened. To my knowledge, my adblocker is disabled on my Mac.
If a chapter is skipped in the Table, that means there were no interactive Python examples in that chapter.
Key:
Chapter | Python | FF-Mac | FF-Android |
---|---|---|---|
0 (intro) | ex1 | fails | runs fresh then fails |
3 | ex1 | fails | fails |
10 | ex1 | fails | fails |
12 | ex1, ex2, ex3, ex4, ex5, ex6, ex7, ex8 | runs fresh then fails, fails, fails, fails, fails, fails, fails, fails | runs fresh then fails, fails, fails, fails, fails, fails, fails, fails |
14 | ex1, ex2, ex3 | runs fresh then fails, fails, fails | runs fresh then fails, fails, fails |
16 | ex1 | runs fresh then fails | runs fresh then fails |
17 | ex1, ex2, ex3, ex4 | runs fresh then fails, fails, fails, fails | runs fresh then fails, fails, fails, fails |
18 | ex1 | runs but can't see print output, eventually won't run | same as left |
Location: https://criticallyconsciouscomputing.org/intelligence
Parenthesis opens with "(Note that this isn’t guaranteed", but it is never closed. I think it should close after "or equal to 10."
Of course, we know how this turned out[.] Licklider’s original “for all” vision of the internet still has not been realized:
It's in this chapter: https://criticallyconsciouscomputing.org/justice in the "Computing and harm" section.
"examine tje particular" -> "examine the particular"
The sharp criticality and the weaving of technical and social that had become characteristic throughout the rest of the book were not as clear in this last section.
Currently, the integration chapters of the book (Chapters 20-24) are quite ambitious. They provide extensive reviews of contact points between computing and other disciplines, as well as summaries of the existing research literature on strategies and curricula for integrating computing across disciplines. On one hand, these chapters offer useful resources and flexible entry points for computing. On the other, the chapters felt at times unwieldy, and it wasn’t always clear to us what the takeaways were. The sharp criticality and the weaving of technical and social that had become characteristic throughout the rest of the book were not as clear in this last section. Some of the examples provided (and omitted) demonstrate this. Relevant and growing school subjects such as Ethnic Studies were missing from the discussion of social sciences; examples of art and literature focused mainly on “classics” (Jackson Pollack; Star Trek) when other imminently relevant examples (Vera Molnár; Afrofuturism) may have better served the text. Perhaps a more narrow focus on critical examples and pedagogical approaches to these topics across these chapters could have more appropriately scoped this work. Despite these issues, we do imagine these chapters as they are currently written could serve as a great resource - for literature, and for ideas - at large.
In ch 6, designing intelligence section:
"And it is this speed and reliability is the fundamental source of computing power....." --> "And it is this speed and reliability which is the fundamental source of computing power"
Location: https://criticallyconsciouscomputing.org/design#header-6
I'm not sure what this is trying to say "practice analytical skills useful that they can" maybe "practice useful analytical skills that they can"?
Chapter: https://criticallyconsciouscomputing.org/justice
Section: Equality, equity, and justice
Fix: "discriminate eon the" -> "discriminate on the"
This is a nice podcast on GoGuardian, which is used for teachers to surveil students' activities at school and at home, raising serious privacy questions.
Most popular CS curricula do not embrace critical CS pedagogy, requiring CS educators to take a creative and activist stance in exploring, sharing, and reflecting new teaching methods that center students’ critical consciousness of computing.
I read the subordinate phrase as referring to 'popular CS curricula' rather than 'critical CS pedagogy', but the intent is the other way I believe. Perhaps replace 'requiring' by 'which requires'?
In the searching section, there's an unmatched close parenthesis:
"If it can’t find it, it returns -1, indicating that there is no position with a value that matches):"
And the computer itself, as always been a project of war and capitalism, a tool for winning World Wars, increasing profits in telecommunications, and accelerating business.
Instead:
And the computer itself has always been a project of war and capitalism, a tool for winning World Wars, increasing profits in telecommunications, and accelerating business.
Currently: "refine the design of the. What"
Should be: "refine the design of the example. What"
At least, I think that's the fix, but I'm not actually sure.
Location: https://criticallyconsciouscomputing.org/verification#header-9
I'm struggling to understand what this part of the sentence is trying to say: "self-explain it others before they try engage in trying to repair it."
First off, I want to say that this book is amazing. I've only been able to read over it quickly once, but it's something that I'll be reading and rereading as I prepare for a teaching position.
Particularly, I enjoyed the CS+Music section in your CS+Arts section, mainly because I'm a music nerd. However, for a book of this quality and topic of critical consciousness, I felt the section on CS+Music was lacking on the history of technology and music as a social phenomenon. Of course, this is a drop in the bucket compared to all the strong writing about greater themes of politics and oppressions, and is only a chapter within a chapter of this book. It makes sense that this wouldn't be a huge focus since you most likely have other more important things to work on. However, as a lowly PhD student and someone with vested in this small niche, I felt that I can (hopefully) provide some competent commentary.
I feel like mentioning some of the following could further cement your established themes of coming at CS from a critical and social perspective. (Of course, I could also completely missing your intention of the section, so feel free to ignore as well!)
Your jump from Moog to Duran Duran feels a bit large, and ignores the huge amount of female pioneers in the field, which I think could help reinforce your theme on critical consciousness and maybe tie back into how CS was seen as "women's work" back in the 50s and 60s. Sisters With Transistors gives a short list of many of the female pioneers. However, funnily enough this list is missing Wendy Carlos, one of Robert Moog's closest friends. Her feedback and technical assistance on the Moog prototypes essentially helped define the synthesizer as we know it today, and her 1968 album Switched-On Bach is argued to be the album that launched synthesizers from being seen as tools for avant-garde music to being common in the public sphere.
All of the music programming systems you mention (e.g. EarSketch, SonicPi, CodeBeats, and TunePad in the citations) are education focused environments funded by educational institutions. While this is great (and something I'm interested in as a researcher and have actually worked with before), I feel that all your other examples on CS+Art focus on the tools that artists use and develop themselves (and are dare I say "industry standard") - not tools that are made for an education purpose foremost. I feel like this could give the false impression that coding in music is an educational exercise to sneak CS into curricula and not something that musicians actually "do".
For example, languages such as Max/MSP, SuperCollider and Pure Data are "standard" environments for music and multimedia used by musicians (or engineers making tools for musicians). For text-based live-coding, the functional language Tidal Cycles, was developed not for an educational goal but for expressiveness as well.
In addition, before modern DAWs like Logic or Garageband, the "tracker" environment was essentially the de-facto software for diverse burgeoning electronic music scenes in the 1990s (e.g. Jungle, Detroit Techno, Rave, IDM, Chiptune/Video Game Music) and was an integral part of the Demoscene (which was just accepted as UNESCO Intangible Cultural Heritage)!
In addition to this, an interesting historical tidbit (which I can't find a good place for but I feel like it could be interesting to mention) is that a lot of electronic instruments and synthesizers that helped create new genres were originally commercial flops. For example, the TB-303 was originally developed to simulate bass guitars for mainstream studio production, which it failed horribly at. It's only when these instruments reached second-hand stores years or decades later that musicians from lower income environments were able to play, experiment, and appropriate these tools in ways that their developers never intended, and invented new genres (in this case, House and Techno).
Also, I feel like that your quote on live-coding "resurfacing and celebrating the improvisation at the heart of Black American Jazz in the early 20th century" glosses over the rich musical and technological innovations in the Jazz Fusion tradition from the 60s all the way to today. Artists like Miles Davis, Herbie Hancock, and even the esoteric Sun Ra pushed musical boundaries using the technology of their time, and can ostensibly be seen as a through line from synthesizers being an academic curiosity to the synth heavy sounds of the 80s pop music.
Black music has an unfortunate history of being appropriated and repackaged for White audiences before falling out of the public sphere and being clamed "dead" (Jazz, Rock and Roll, Hip-Hop), and at worst I don't want someone reading your great book to seem like you're reinforcing that.
Where: https://criticallyconsciouscomputing.org/design#header-6
Currently: "different from ideation is that it is explicitly critical"
Fix: "different from ideation in that it is explicitly critical"
I'm not sure if this was by design, but the code in this section calculates the age in days, not years even though the comments say years.
https://criticallyconsciouscomputing.org/programming#header-6
Chapter: https://criticallyconsciouscomputing.org/data
"if the variable name stored the same string." -> "if the variable name
stored the same string."
"If a variable named name stored" -> "If a variable named name
stored"
Where: https://criticallyconsciouscomputing.org/verification
Currently: "There are some methods of analysis automate these processes."
Suggested change: "There are some methods of analysis that automate these processes."
"to" might be better than "that" but I'm not sure.
From Caroline Hardin, re: the Assessments chapter:
Overall the chapter needs more concrete examples to help readers understand how these ideas are logistically feasible. This chapter does a good job of motivating change, but doesn't do enough showing what comes next: maybe a vignette?
In Designing Intelligence section:
"Turing, a mathematically gifted White British child of middle class parents — who many suggest might have been a Autistic — found his way to university and research."
I think there is a mistake in referring to him as "a Autistic." In the intro chapter you mention using person-first language throughout the book which this doesn't do. From my experience I also think saying "who might have been autistic" would be fine.
Where: https://criticallyconsciouscomputing.org/ai
Text: "will we tested our training" -> "will we test our training"
I'm pretty sure the intention was to use the word "test".
--edit
Found another one, so thought I'd just edit this
"perceptions of the limits machine learning." I think it should be "perceptions of the limits of machine learning."
"does not view at normal is at risk" -> "does not view as normal is at risk
Where: https://criticallyconsciouscomputing.org/programming#header-6
First paragraph the word verification looks like the below, but it looks like it's trying to render something, and it isn't quite working.
is also erification that
From a student:
2. I was thinking it might be helpful to bring in different ideas of intelligence, like IQ or Gardner's multiple intelligences, because a definition of intelligence is never given--though I know that's not an easy task.
Create a chapter that pulls together summaries of all of the units for quick reference.
Philanthropists like Brad Smith of Microsoft funded not-for-profits like Code.org,
My understanding is that Brad Smith was instrumental in getting Microsoft to be a major funder of code.org. Please see: https://code.org/about/donors. I do not see Brad Smith listed here, so I am not sure that the above statement is accurate.
https://criticallyconsciouscomputing.org/justice
Section: How computing does harm
Text: "instead of sewing we invented looms"
Suggested change: "instead of hand weaving we invented looms" OR "instead of hand sewing we invented sewing machines"
Rationale: Looms are for weaving, while sewing is about attaching two pieces of cloth together. Looms aren't really a more efficient way to sew.
The first two key ideas of Chapter 3 are:
- Assessments, especially formative ones that help guide future learning, are a necessary part of feedback and learning in CS.
- Grades, and other summative assessments, are not, though most education systems in the world have given them great power to certify, judge merit, and determine who gets resources.
I suggest rewording the second key idea to be a complete standalone sentence. Perhaps:
Although most education systems in the world use grades, and other summative assessments, to certify, judge merit, and determine who gets resources, such metrics are not a necessary part of feedback and learning.
In chapter 4, the sentence
With the advent of the atomic bomb, many scientists viewed physics neutrally, seeing no particular role for scientists in how physics was applied.
should probably be
Until the advent of the atomic bomb, many scientists viewed physics neutrally, seeing no particular role for scientists in how physics was applied.
I can’t imagine that scientists started thinking that physics was neutral right after two cities were obliterated and irradiated. Before that point that viewpoint seems believable, but not so much after.
In the Assessments chapter, the code writing example problem does not make values look like code, while the Parson's problem version does.
https://criticallyconsciouscomputing.org/assessment
In chapter 4, the line "After all, there are so many ways that computing is doing harm, to so many people, and these stories are often so invisible in education, marketing, and the media, it can feel necessary to make space dialog these harms." seems like it is missing a word.
Suggestion:
it can feel necessary to make space dialog these harms --> it can feel necessary to make space to dialog these harms.
https://criticallyconsciouscomputing.org/justice
"One aspect is computing is its ability to amplify..." --> "One aspect in computing is its ability to amplify..."
Location: https://criticallyconsciouscomputing.org/ai
Currently: "people newly convinced. Despite"
I think it is supposed to be "people newly convicted. Despite"
Chapter: https://criticallyconsciouscomputing.org/design
Section: Design mindset
In chapter 5's unit sketch, session 8, it says: "Close the unit by evaluating the students’ stories against the co-constructed rubric from the first session..." but the rubric was actually co-constructed in the second session.
--> "Close the unit by evaluating the students’ stories against the co-constructed rubric from the second session..."
In the assessments chapter there looks to be a typo using "an" instead of "and"
"designs an choices" -> "designs and choices"
Comments from Caroline.
In the Key Ideas list of Chapter 1:
CS educators [VERB-MISSING?] key change agents in imagining more diverse, equitable, and inclusive visions of CS education that were often overlooked in history by the White, non-disabled men that shaped it.
Location: https://criticallyconsciouscomputing.org/intelligence
Currently: "computes true
either of the"
I think it should be: "computes true
if either of the" (Not removing the extra space next to true and adding an "if")
Section: Unit sketch: Schools as a site for CS inequity and injustice
Change: "as well!" -> "as well!)."
In the Symbolic Intelligence section, write, gather, and label do not seem to be the correct verb forms:
"And so while computers seem to be ever more capable, it is only because of the ongoing labor of software developers carefully write the instructions that shape algorithms, and to gather and label data used to drive computer behavior."
--> "And so while computers seem to be ever more capable, it is only because of the ongoing labor of software developers carefully who write the instructions that shape algorithms, and who gather and label data used to drive computer behavior." or "And so while computers seem to be ever more capable, it is only because of the ongoing labor of software developers carefully writing the instructions that shape algorithms, and gathering and labeling data used to drive computer behavior."
Re: Computers chapter:
*There is a photo near solid state drive section that is confusing to me, the photo seems to feature the men more than the solid state drives. I just wonder if there is a better photo that can be used
In the unit sketch in chapter 10, there is an unfinished sentence:
"Conclude from the discussion that Python programs are only as smart as we make them, and how they are made is often no."
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.