Tuesday, October 6, 2009

0 David Malan and CS50

Today I attended a talk at Carnegie Mellon University. The presenter was David Malan - a Harvard lecturer of Computer Science. About three years ago, Dr. Malan inherited the School's CS50 course (http://www.cs50.net/). Here is the course description, taken from the CS50 website.

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, encapsulation, data structures, databases, memory management, software development, virtualization, and websites. Languages include C, PHP, and JavaScript plus SQL, CSS, and XHTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience.
Since inheriting the course, Dr. Malan has made CS50 a "sexier" and more attractive course for students across disciplines at Harvard. Here are a few stats about the class:

  • Enrollment is up 168% since 1989; In 1989 there were about 150 enrolled in the class, in 2000 there were about 260 and in 2009 there are about 350 students currently enrolled in CS50.
  • Mainly sophomore students; primarily because Harvard freshman are inandated with general education requirements.
  • 71.5% of the students have no prior coursework in CS.
  • Gender: In 2007 women made up about 29% of the students; 2008, women made up 38% of the students.
  • From 2007 to 2008, there was increase of about 50 student enrollment, of which, most were women.
  • Workload: <5>
There were a few things that stood out about this course
  1. Dr. Malan videotapes his lessons and provides them for the students
  2. His pedagogical approach targets learners of various styles through the use of Scribe notes, lecture, recitation (led by undergraduate students), bulletin board, course website and code walkthroughs.
  3. There are approximately 60 undergraduate students serving as teaching fellows (paid) or course assistants (volunteers)
  4. He uses Scratch (developed at MIT's media lab) to introduce computational thinking and programming concepts during week 0; then translates Scratch to C for the students. He says this helps to reduce the cognitive load (eg. little distractions, students can focus on the concepts that matter). This technique, he states is "pedagogically useful."
  5. He provides a "regular" version of each homework assignment and a "hacker" version - for students who desire a little more challenge (no extra points)
Here is a sample of the topics he covers week by week (syllabus - pdf):

week 0 - multi-threading, events (Scratch)
week 2 - stacks, frames, scope, arrays, cryptography, strings, command line arguments
week 3 - search, sort, asymptotic notation, recursion, sorting & debugging
week 4 - structures, dynamic memory allocation, stack/heaps, pointers
week 5 - input/output, forensics, linked lists, stacks, queues
week 7 - bitwise operations, hash tables, trees & binary search
week 8 - TCP/IP, HTTP, XHTML, PHP, SQL
week 9 - DOM, CSS, Inheritance, JavaScript events, AJAX
week 10 -Preprocessing, compiling, assembly, linking, CPUs
...

The number of topics and content that he covers during a semester is AMAZING!! How do you do it, when most students have no prior programming experience? Scratch in week 0 to students proficient and advanced in hash tables, trees, binary search, Web design and AJAX in week 12?? Must be excellent teaching, relevant & engaging curriculum.

All of his lectures are available on itunes and the course website is accessible to the public.

Great talk and an interesting twist on teaching computer science - in his words, "Making it sexier" (I <3 it!) Read the blog, visit his website, download lectures as podcasts, learn something about making CS fun!

Saturday, October 3, 2009

0 Culturally-Situated design tools: Facilitating math & computing education with design agency

Prof. Audrey Bennett, Rensselaer
TEACHING MATH AND COMPUTING THROUGH CULTURE

problem
  • under-represented minority students can perceive antagonism between their cultural identity and the curriculum leading to IT careers
solution
  • sophisticated mathematical and computational concepts and practices are embedded in the arts and artifacts of minority students' cultural background
implementation
  • culturally-situated design tools convert ethno-mathematics into software simulations for student use.
csdt.rpi.edu
- making a case for indiginous knowledge
- directly contradict racist stereotypes
- makes it impossible to accuse a student of "acting white" when they know that African Americans, Native Americans, Latino/as understood these concepts before they were "discovered" by whites.

Pedagogy of CSDTs:
  • Had to give the students the historical background of conrow braiding (they thought it came from Brooklyn!)
  • Tutorial - teach the students different concepts and opportunity to interact with the software (eg. iteration, rotation, dilation).
  • Software - students can simulate the hairstyles, using mathematical formulas
The program has shown statistically significant results (improvement) in student attitudes towards computing and mathematics performance. The most significant is the designs they were able to create using the software.

Ann Gates, University of Texas - El Paso
Focus: recruitment, retention and advancement of Hispanics in computing

Computing Alliance of Hispanic Serving Institutions
http://cahsi.cs.utep.edu/

Culturally responsive education: using cultural knowledge, prior experience and performing styles of diverse students to enable students to be better learners and human beings.

Statistics
  1. limited parental involvement (parents have trust in schools)
  2. 21% high school drop out rate (x2 non-hispanic drop out rate)
Trained faculty in cooperative learning techniques (very successful for them)

Evaluation is online - http://cahsi.cs.utep.edu/ABOUT/Evaluation/tabid/79/Default.aspx

Compugirls
Dr. Kimberly A. Scott - Executive Director
www.compugirls.asu.edu

  • Culturally relevant pedagogy puts the students at the center of the classroom.
  • COMPUGIRLS is a culturally relevant technology program for adolescent (grades 8-12) girls from under-resourced school districts in the Greater Phoenix area.
  • Take what the girls already know about technology and VALUE it.
  • Build on that knowledge as a means to advance their own communities.
  • Mentor teachers work with 5 or 6 girls.
  • Students becoming problem solvers, in the context of technology.
  • Started in summer 2007
  • provides under-resourced school districts and the young women they serve an opportunity to gain and expand their research, tech, and social justice skills.
objectives
- computational thinking
- fun enviornment
- analytical skills

course 1 - introduction
course 2 - the sims
course 3 - scratch
course 4 - intro to teen second life
course 5 - teen second life
course 6 - capstone of teen second life

Significant change in perceived technical ability

0 Teaching K12 CS with Toys and Manipulatives

Teaching K12 CS with Toys and Manipulatives
Robb Cutler, Tutor Crossing, former Assistant Head, Harker School



Towers of Hanoi with stacking rings
Have students write down their steps.
How many steps did you use?
How do we solve this in a more general case? What is the pattern?
- The pattern is hard to see, because it is recursive.
This is a "hard" problem; students need scaffolding; make it natural. A very exploratory example.





Stacking Cups
  • allows us to represent data in a non-numeric way.
  • use to teach sorting algorithms
  • can introduce terminology such as invariants, algorithmic run time (number of steps), algorithmic analysis - what is a step? number of comparisons;
  • Want to teach them the math, but not use math :)
Rob used the diagram below to illustrate the number of comparisons used in sorting.
  • count - first time there are 6 comparisons (7 items); second time there are 5 comparisons ... and so on ... (black stars - below)
  • this is an n^2 "thing" - if i double the number of cups (to 14), i know have double the number of comparisons
  • the student can visually see the relationships in the diagram.

* * * * * *
* * * * *
*
* * * * * *
* * *
* * *
* * * * * *
*
* * * * *

* * * * * *
Ping Pong Balls
  • number the balls
  • use pvc pipe to represent the "stack" and ping pong balls as items
  • use to make a stack, with two arrows (push, pop)
  • push a 1 to the stack, pop a 1 from the stack
  • can teach FIFO, LIFO, peak(), isempty()
  • can talk about what we can do with a stack - how do I reverse the number? push numbers and pop until empty.
  • must have rules; have "enqueue" and "dequeue" on each end
If they can hold it in their hands, they can learn it better.
  • can also use this to represent a queue
  • clear plastic tubes: can see what's inside; or using the pvc pipes it is a "black box"
PVC pipes and connectors - binary trees


- add velcro to the items (laminated pieces of paper - eg. numbers)
- data structure is recursive - "mimics itself in other places"








Use whiteboard to "code" on the board. Formulate the rules of writing an algorithm.
Allow students to generate the code or algorithm.

What other ideas - using toys to teach computing concepts?
- toy trains for linked list
- my first barrel of monkeys - linked list & pointers
- quercetti toys - binary arithmetic, good for just in the classroom
- bags of candy - separate by attribute, use to teach classes
- PB&J - logic & syntax errors
- yarn of string to teach recursion - through it across the room to students
- mancala: recursion, iteration, mathematical thinking

0 AP CS: Past, Present & Future Directions

Chris Stephenson, CSTA
www.csta.acm.org

Why a New AP CS course?
  • AP enrollment has stayed stagnant over the last ten years
  • Compared to other AP disciplines, the female participation is PITIFUL
  • African Americans - Enrollment: 17%, APCS exams 3%
We need a more engaging course
  • In many states APCS is the only CS course that counts for "anything"
  • This isn't just an equity issue, it is a survival issue
  • We are failing to engage young women and minority students
  • Students are concerned that the APCS class will take their GPA's down
  • AP CS is a "gatekeeper" course; perceived to be more difficult than other AP classes
  • Designed as a college level course
  • Never meant to be the first CS course a student ever takes
  • Sets the students up for failure and convinces them CS is not the field for them
Systemic issues
  • - unless we increase the number of students taking hs cs, our enrollments will languish at the post-secondary level
  • because CS is an elective and not a core course
  • - states are increasing the number of math and science credits students must have in order to graduate
Need to prove that CS is relevant
  • establish that CS is a science and not a technology
  • need to make what we teach connect with kids today
  • need a sensible, age level appropriate series of courses that students can take and that colleges can depend upon to be consistent and rigorous

Background
  1. last year the college board announced they were eliminating the AP CS AB exam, leaving only the AP CS A exam
  2. the AP CS A exam will continued to be reviewed and updated based on these changes and previous issues
Current Players
- AP CS Development Committee: review content and specifications, make suggestios for research studies
- AP CS Development Commission: writing the new AP CS principles course
- Chis Stephenson & Rich Lamb is on this committee (CS Dev Commission); "want a language neutral course"
- AP CS Advisory Committee: advising the commission on the big ideas of the new AP CS Principles course, advising regarding the supporting concepts; providing key feedback


Where is the Commission now
  • developed and revised big ideas
  • developed and revised key concepts
  • developed and revised supporting concepts
  • revising skills and practices document


The big ideas (shshhh!)

  • Computing is a creative human activity.
  • Abstraction is the process of reducing information and details to solve problems.
  • Humans use computer programs to manipulate data
  • Algorithms are tools for developing and expressing solutions to computational problems
  • Programming is a tool for computational problem solving and the exploration and creation of knowledge
  • Computer systems and networks facilitate communication and computational problem solving
Jan Cuny (NSF) - Making HS CS work for all students
BPC - Broadening Participation in Computing


Why high school?
1. We need to do much better there.
2. We need to start at high school to do much better elsewhere (eg. college, workplace)

Only 1% of students show up at college stating they want to study computer science
The number of degrees awarded is about equal to the number of students who enter

Why focus on AP?
- Only course that carries college credit?
- Attractive to students & schools
- 2,000 CollegeBoard audited teachers
- Single point of national leverage


2007 Stats about AP CS test takers
14,529 took AP CS A
~204,000 Calc AB
141,321 Bio
96,282 Stats

AP CS had the worst gender balance of any of the AP test
18% CS A
48.7 Calculus
50.2% Statistics

What's wrong with the current AP course?
  • doesn't appeal to many students
  • inaccessible

Math and Science in US High Schools (NRC< 2002)

AP courses should
- reflect what we know about how students learn
- build students' transferabl, conceptual understanding and inquiry skills
- convey the content and unifying themes

New AP CS course (Gold Standard Course - GSC)
  • engaging, inspiring, rigorous
  • focused on the fundamental concepts of computing
  • target for 9-12
  • pilot at the college level 2010
  • pilot at the high school level 2011
  • test available 2015
HS Computing Curriculum (course sequence)
- Intro Computing (for everyone)
- GSC
- AP CS A (possibly modified)

Goal: have the new curriculum taught in 10,000 schools by 10,000 well prepared teachers by 2015.
CS/10,000 Project

- Curriculum development
- Teacher preparation
* in-service preparation
* pre-service preparation
* ongoing professional development
* entree into schools

Where is CS in STEM? Everywhere!

The time is right. Get OUR foot in the door. There is a lot of talk about STEM education. Be aggressive. "We are not going to have this option again in 5 years."

(Short) Discussion

  1. Why was AP CS AB canceled? Not enough students taking the exam.
Another great session!

0 Stuck in the Shallow End

Stuck in the Shallow End
Education, Race & Computing
Jane Margolis
with Rachel Estrella, Joanne Goode, Jennifer Jellison Holme and Kim Nao

This is my second time hearing Jane Margolis speak about education, race and computing. Earlier this year, Jane was a keynote at the Tapia Conference in Portland, Oregon. I read some of her research, regarding race and computing, sometime around 2004-2005. Her work led me to a commitment in computer science education. Today she is the morning keynote speaker at the K12 Teachers workshop.

One of the outcomes of her work in computer science education is the Exploring Computer Science Curriculum - A pre-APCS course. If you are teaching (or plan to teach) an introduction to computing course, I recommend reviewing this curriculum. It includes day to day lesson plans and activities.

  • Over 20 schools/750 students
  • relevant/engaging
  • need to assess student achievement
  • PD is important**

Key Question

Why are so few African American, Lationo/a and Female High School Students Learning Computer Science?
The Schools

East River High School
  • Built for 2000 students, has 5000 students
  • Technology rich, but curriculum poor; "filled with technology!"
  • Classes: word processing, internet publishing, No APCS
  • Teachers, administration were confusing computer literacy with computer science
  • The thinking and problem solving was missing from the curriculum
  • CS was vocational, NOT academic core; Did not "boost" academic transcript of college bound students, so they opted not to take the course.
  • Teachers "out of subject"/no CS credential
  • CS as a "dumping ground"
  • Interest is there, courses are NOT
Westward Senior High - Math Science Aerospace Magnet
  • Predominately African American, middle/working class families
  • Similar to East River in many ways
  • AP was there, but canceled after 1 year because the student's scores were so low
  • Classes: Internet publishing class, Introduction to computers

Canyon High School
  • "Preparatory Privilege" vs. Innate Talent
  • Students from over 101 zip codes
  • two- thirds of the students are of colore
  • "Two schools in one"
  • Incredible racial divide - but students of color not in honors classes
Issues in K12 Computer Science
  • Disparities falling along race/class lines
  • CS -- vocational
  • Teachers isolated; need more training
  • Pedagogy "boring", rote
  • Pressure of high-stakes testing/shrinking curriculum
  • computer classes as "Dumping Grounds"
  • Insularity of AP CS
  • Belief systems rationalize low curriculum
K12/University Partnership Formed: CS Equity Alliance

Initial Focus: Equity Access to AP CS (2004-07)
  1. 11 (out of 57) High Schools offered AP CS
  2. Commitments from principals
  3. AP CS teachers attend UCLA Institute
Results

African Americans: 17 to 33
Latino/as: 53 to 297
Females: 47 to 230

Jane used the line "Two steps forward, one step back" to describe the persistent problems that exist, even though there is a big effort (and success) in computer science education at the K12 level.
  1. loss of teachers and classes (testing pressures)
  2. teachers need more training
  3. students need more support/more preparation
  4. frustrations with AP CS
Great keynote (as usual)!!

0 Grace Hopper Conference and K12 Teachers workshop


Arrived in Tucson, AZ yesterday afternoon for the Grace Hopper Conference. They are also sponsoring a K12 Teachers Workshop that began yesterday (Friday) evening with an entire day of workshops on Saturday. I am looking forward to meeting other computing teachers, sharing best practices and learning about the plethora of classes that K12 teachers are offering in computer science.

There were 650 applications to attend this workshop (full funding + stipend) and they only chose 100 of us! So it is a great privilege to attend this workshop with my colleagues. Look forward to my posts about the different sessions I attend.