You may remember hearing about a project I've been involved with for the last couple of years. We're working on a book about computer science designed for beginners; something that could be used, for example, in my "introduction to computers for arts and social sciences" class. Well, we've finally got two chapters ready for review, and would love to get your feedback on how we're doing so far.
Note: If you're a beginner in the world of computer science, even better!
The first sample chapter is on Data Representation. This is the first chapter from Part I of the book, which covers computing fundamentals. The second chapter is on Artificial Intelligence. This is one of our in-depth subject areas and builds on concepts introduced in basic chapters. It will appear in Part II of the book, which surveys some of the major fields found within computer science.
If you're interested in helping out, you can review either one of the chapters, or both. There is a short survey to fill in about the chapters. We also intend to publish a list of our reviewers, should you wish to have your name included.
If you're interested, please contact me, and I'll send you all the information and links you need. (If you've left your email with us in the past, and haven't heard from us yet about this review opportunity, you probably will. Please still feel free to contact me directly now.)
Monday, October 21, 2013
Thursday, October 17, 2013
Slides from 'Coherent Emergent Stories in Video Games' / GHC13
I gave a talk at this year's Grace Hopper on what I've been working on for my thesis project:
My slides are embedded below and you can learn more on my website.
Coherent Emergent Stories in Video Games
Crafting satisfying narratives while preserving player freedom is a longstanding challenge for computer games. Many games use a quest structure, allowing players to experience content nonlinearly. However, this risks creating disjointed stories when side quests only minimally integrate with the main story. This talk introduces the problem of nonlinear storytelling in games and discusses our flexible, scene-based story system that reacts dynamically to the player’s actions.
My slides are embedded below and you can learn more on my website.
Wednesday, October 9, 2013
Why are we still geeks? Correcting media images of Computer Science / GHC13
Maria Klawe (Harvey Mudd College, far left), Brenda Laurel (Purple Moon, far right), and Kim Surkan (MIT) gave an insightful panel about the images of geeks in the media. In some ways, I didn't learn much new, but I liked hearing about their personal experiences and getting new language to talk about the problem with.
Maria's Part
For this post, I'd like to share some of my (mostly raw) notes from the session.
Maria's Part
- no progress made in changing the image of professionals in the media
- is a believer of failure
- "people listen to you more" when you have gray hair
- remembers a time when there were very few female doctors and lawyers
- in the 70's shows depicted both male and female doctors and laywers (though not in the same show), and this caused flood of women into these professions.
- more recently: forensic crime shows caused influx of women studying the field, even though job opportunities for forensic science and CS are at opposite ends of the spectrum
- it's not just about tech women (problem with portrayal of all women, and of tech guys as well)
- in the mid-90's, she was seated at dinner beside NBC exec responsible for Sat night movie series; said we needed shows about scientists and engineers; he said nobody knew any engineers in real life so wouldn't relate!
- tried to write a pilot episode but saw halfway through it was going nowhere (too unrealistic)
- someone wrote a pilot for a show called Rush about Silicon Valley start-up trying to win the DARPA challenge; she sent it out to 20 people with connections in the media; everyone loved it; but it went nowhere!
- optimistic but doesn't know what else to personally try
- looking at the GHC poster from last year: not geeks, wearing nail polish; white woman in the middle giving advice to the black woman, asian woman starting into space (did a photoshop to fix this)
- Numbers proves it's possible
- we are responsible for our own representations ("I like the way we look!")
- "put out our own self-representations"
- "deny power to the spectacle"
- "do good work and get noticed for it"
- check out http://femtechnet.tumblr.com and Wikipedia storming
- media consumption is growing (2010: average 7 hours and 38 minutes)
- stereotypes of women being bad at math, as STEM fields being boring and unfulfilling
- it's hard to notice what's not there, but when it isn't, you begin to associate the idea, for example, that all doctors are men, white, etc...
- only computer science is declining in females, not other STEM fields
- was not always this way; women were active in programming (e.g. ENIAC)
- nerd stereotype most common explanation for low female participation
- sexism in CS culture (especially gaming): recruitment, hackathons, sexual harassment/rape culture, lack of role models
Monday, October 7, 2013
Computational Art Using Processing for CS0 / GHC13
I love the curriculum that Zoe Wood and Julie Workman created for their school's CS0 course and that they spoke about at GHC13. It uses Processing, like the CS1 course that I'm currently teaching for non-majors, but focuses solely on the idea of computational art for its context. My course has a bigger variety of problems to introduce concepts, but that's not necessarily a better thing. I do like their course's focus.
Although the hope is that some of these students continue on in CS, this course is not as in-depth as a full-fledged CS course. Some of the outcomes include students understanding that computers process commands one at a time, commands must be precise, variables allow for flexibility, functions allow simple concepts to be combined into complex programs, and playing is ok! (I hope my students walk away with that last one especially.) The curriculum embodies basic computational thinking, basic programming skills, working in teams, learning basic college skills, and enjoying computer science. It covers shapes and 2D coordinates, colours, interactivity, animation basics, geometric shapes (implicit and parametric), images (arrays and pixels), and particle systems (classes).
The five course projects really inspired me. I loved how flexible they are, and how interesting the demoed results were. These are the project topics:
I've already been leaning toward Processing as a better choice for a first language as compared to Python. The experience shared in this talk along with my own comparison of teaching both languages this semester is solidifying my view on this. Python is a great early language, but I still prefer Processing first, especially for its potential to engage non-traditional students.
Although the hope is that some of these students continue on in CS, this course is not as in-depth as a full-fledged CS course. Some of the outcomes include students understanding that computers process commands one at a time, commands must be precise, variables allow for flexibility, functions allow simple concepts to be combined into complex programs, and playing is ok! (I hope my students walk away with that last one especially.) The curriculum embodies basic computational thinking, basic programming skills, working in teams, learning basic college skills, and enjoying computer science. It covers shapes and 2D coordinates, colours, interactivity, animation basics, geometric shapes (implicit and parametric), images (arrays and pixels), and particle systems (classes).
The five course projects really inspired me. I loved how flexible they are, and how interesting the demoed results were. These are the project topics:
- Chuck Close, up close (each student makes one pixel, group puts them all together)
- self portrait of social interaction (every mouse click shows visually how student feels)
- self portrait (get a photo of themselves, do image manipulation, and implement hot spots that have different responses)
- tell a story (computational animation)
- interactive montage with a 'journey home' theme (done in teams)
I've already been leaning toward Processing as a better choice for a first language as compared to Python. The experience shared in this talk along with my own comparison of teaching both languages this semester is solidifying my view on this. Python is a great early language, but I still prefer Processing first, especially for its potential to engage non-traditional students.
Thursday, October 3, 2013
CS Principles and the CS 10k Initiative / GHC13
As the opening keynote here at GHC reminded us, computer science has a supply problem. The number of people we need to create technology is increasing at a much faster rate than students taking computer science in schools. The Exploring Computer Science and Computer Science Principles projects are aiming to help fix that.
At a panel discussing the two projects, we learned why they matter and how they work. CS Principles is an advanced placement (AP) course for high schools that is currently in pilot mode. (AP classes, for the non-Americans like myself, are like college level classes taught to high school students in exchange for college credit later on.) On the other hand, Exploring CS is intended as a high school level class taught to high school students.
Both take an approach to teaching computer science that is dear to my heart. They want to show why computer science is interesting and relevant; students should "learn how computer science is used as a lever to move the world." They do it not through typical lecture-based styles of teaching, but through inquiry, offering interesting problems that engage students. Exploring Computer Science is described as student centred, collaborative, and inquiry based — a very powerful combination!
The goal is not to teach coding, but computational thinking. For example, CS Principles centres around several big ideas including creativity, global impact, abstraction, the Internet, and more. It does make use of fixed-response questions as assessment, but it also has performance tasks that give much more flexibility to students. This really gives some insight into the kind of "content" delivered.
It's this kind of philosophy that I was inspired by when creating my version of our "Introduction to Computers for Arts and Social Students" course. Of course, with 440 students in a huge lecture hall, the kinds of in-class activities and assessments is somewhat limited. Even still, I could take this course's design so much further than I have so far, and hope I get the chance to in the future.
I'd also like to push my outreach teaching and curriculum to the next level. As I do, I should take heed of the advice given by the panel in response to an audience question: If you are a non-profit (like Girls Who Code, for example), and you are considering using these curricula, start by talking with teachers. They know how to engage a group of high school students and teach them effectively.
At a panel discussing the two projects, we learned why they matter and how they work. CS Principles is an advanced placement (AP) course for high schools that is currently in pilot mode. (AP classes, for the non-Americans like myself, are like college level classes taught to high school students in exchange for college credit later on.) On the other hand, Exploring CS is intended as a high school level class taught to high school students.
Both take an approach to teaching computer science that is dear to my heart. They want to show why computer science is interesting and relevant; students should "learn how computer science is used as a lever to move the world." They do it not through typical lecture-based styles of teaching, but through inquiry, offering interesting problems that engage students. Exploring Computer Science is described as student centred, collaborative, and inquiry based — a very powerful combination!
The goal is not to teach coding, but computational thinking. For example, CS Principles centres around several big ideas including creativity, global impact, abstraction, the Internet, and more. It does make use of fixed-response questions as assessment, but it also has performance tasks that give much more flexibility to students. This really gives some insight into the kind of "content" delivered.
It's this kind of philosophy that I was inspired by when creating my version of our "Introduction to Computers for Arts and Social Students" course. Of course, with 440 students in a huge lecture hall, the kinds of in-class activities and assessments is somewhat limited. Even still, I could take this course's design so much further than I have so far, and hope I get the chance to in the future.
I'd also like to push my outreach teaching and curriculum to the next level. As I do, I should take heed of the advice given by the panel in response to an audience question: If you are a non-profit (like Girls Who Code, for example), and you are considering using these curricula, start by talking with teachers. They know how to engage a group of high school students and teach them effectively.
Subscribe to:
Posts (Atom)



