Pearson has asked me to update our Python Media Computation book, “Introduction to Computing and Programming: A Multimedia Approach.” This will be the fourth edition. I plan to address the errata (as well as the ones I haven’t yet posted to the website), add new assignments, and change out the pictures (a lot of those pictures are 12 years old now). I think I’m going to give up on trying to do screen-scraping off a live website — they keep changing too fast. Instead, I might add something about how to parse CSV files, which are common and useful.
I have a couple of bigger ideas for changes, and I’d appreciate feedback from readers. (And I’m certainly interested in other advice you might give me.)
(1) CPython cross-platform libraries have come a long way since the 3rd edition was written. It’s likely that we could write a media library for CPython that works much like media library in JES. A CPython version of Media Computation would likely be faster. We probably would not re-create JES in CPython. It will take some time to develop a CPython version, so a Jython/JES-based 4th edition could be available in early 2015 (aiming to be out before SIGCSE 2015), but a CPython version would probably be mid-2015.
- (a) Is a CPython version something that you would find interesting and worth adopting?
- (b) Would you have a preference for one or the other? Or would you see value in having both versions?
(2) At Georgia Tech, we have started teaching the book with a brief excursion into strings and lists before introducing pictures. We talk about the medium as being language or text, and we manipulate characters in the strings using algorithms like those we later use with pixels in a picture or samples in a sound. For example, we can “mirror” words as we later mirror sounds or pictures. The advantage is that students can see all the characters in the string, and print out every step of the loop — where neither of those is reasonable to do with pictures or sounds.
We’re considering adding an OPTIONAL chapter at the beginning of the book in the 4th edition. We wouldn’t remove the introduction to loops in Chapter 3. We would move some of the string processing from Chapter 10 into this new Chapter 2.5, but leave methods and file I/O for Chapter 10. You would be able to use the book as-is, but if you want to start with characters and words as a text medium first, we would support that path, too.
- Does that seem like a chapter that you would find useful? Or would you rather just keep the book with the chapters as they are now?
Thanks for any advice you would like to give me on producing the 4th edition of the book!
Hadi Partovi will be delivering the keynote today at SIGCSE 2014. The interview they just had with him last month on ACM’s website has some nice bits:
As a tech industry veteran and visionary, what would you say to young people who may not realize that two-thirds of the jobs in software engineering are outside the technology sector?
I would say that the reason to study software isn’t because you want to get a job in technology. School teaches you how to dissect a frog, or how electricity works, even if you want to become a journalist or a lawyer. In the 21st century, it’s equally important, or more important even, to know how to “dissect an app” or learn how the Internet works, even if you want to become a doctor, a chemist, or the President of the United States. Maybe you’ll fall in love with it and decide to get a job in software, and if you do, you’ll be in one of the most creative, highest-paying careers in the world. Most students who study computer science in high school will go on to careers outside of computing — but they will still benefit from it. This is a fundamental, foundational science for the 21st century.
The article below describes a political furor over appointing someone to lead an effort to support computing education — who doesn’t herself understand much about computing.
But this is a general problem, and is probably a problem for engineering education, too. Most US politicians in Washington DC don’t have STEM backgrounds. Few know anything about engineering. Fewer still know anything about computer science. Even if they really want to support STEM, engineering, and computing education, not knowing what it is themselves makes it more challenging for them to make good choices.
The row over Tory cronies in taxpayer-backed positions look set to intensify after it emerges the boss of the government’s coding education initiative cannot code — or even give a decent explanation of what is involved. Figures behind the scheme include Michael Gove, who is at the centre of the furore over Conservative placemen in Whitehall and the ‘quangocracy’.
Conservative activist Lottie Dexter was ridiculed by IT experts and educationalists for her clueless performance on Newsnight — in which she claimed that teachers could be trained how to educate students in computer programming “in a day”
ACM has just released a report arguing for the need for computer science in K-12 schools. They are very strongly making the jobs argument. The appendix to the report details state-by-state what jobs are available in computing, the salaries being paid for those jobs, and how many computing graduates (including how many AP CS exams vs other AP exams were taken in 2013) in that state.
The report Rebooting the Pathway to Success: Preparing Students for Computing Workforce Needs in the United States calls on education and business leaders and public policy officials in every state to take immediate action aimed at filling the pipeline of qualified students pursuing computing and related degrees, and to prepare them for the 21st century workforce. The report provides recommendations to help these leaders join together to create a comprehensive plan that addresses K-12 computer science education and that aligns state policy, programs, and resources to implement these efforts.
SIGCSE Preview: Project Rise Up 4 CS: Increasing the Number of Black Students who Pass AP CS A — by paying them
I’m guessing that Barbara’s paper on Friday 1:45-3 (in Hanover FG – whole program here) is going to be controversial. She’s working on a problem we’ve had in GaComputes for years. Besides Betsy DiSalvo’s work on Glitch, we’ve made little progress in increasing numbers of Black students taking AP CS A and even less progress in getting more of them to pass the test.
She’s had significant progress this last year using an approach that NMSI used successfully in Texas and elsewhere. She’s offering $100 to Black students who attend extra sessions to help them pass the exam and who do pass the exam. She’s expanding the program now with a Google RISE grant. Her approach is informed by Betsy’s work – it’s about going beyond interests to values and giving students help in navigating past their motivations to not-learn. She does have aspects of the project in place to counteract the disincentives of cash payments for academic achievement. In the final interviews, students didn’t talk about the money. It may be that the money wasn’t an incentive as much as a face-saving strategy. (Barb’s preview talk was also recorded as part of a GVU Brown Bag.)
This paper describes Project Rise Up 4 CS, an attempt to increase the number of Black students in Georgia that pass the Advanced Placement (AP) Computer Science (CS) A exam. In 2012 Black students had the lowest pass rates on the AP CS A exam both in Georgia and nationally. Project Rise Up 4 CS provided Black students with role models, hands-on learning, competitions, a financial incentive, and webinars on AP CS A content. The first cohort started in January of 2013 and finished in May 2013. Of the 27 students who enrolled in the first cohort, 14 met all of the completion requirements, and 9 (69%) of the 13 who took the exam passed. For comparison, in 2012 only 22 (16%) of 137 Black students passed the exam in Georgia. In 2013, 28 (22%) of 129 Black students passed the exam in Georgia. This was the highest number of Black students to pass the AP CS A exam ever in Georgia and a 27% increase from 2012. In addition, students who met the completion requirements for Project Rise Up 4 CS exhibited statistically significant changes in attitudes towards computing and also demonstrated significant learning gains. This paper discusses the motivation for the project, provides project details, presents the evaluation results, and future plans.
2nd Annual ACM NDC Study
Of Non-Doctoral Granting Departments in Computing
Please contact ACM Education Manager Yan Timanovsky (email@example.com) ASAP! Deadline is March 16 (extensions possible upon request).
• As an annual survey, NDC produces timely data on enrollment, degree production, student body composition, and faculty salaries/demographics that can benchmark your institution/program(s) and invite useful conversations with your faculty and administration.
• Those who qualify for and complete NDC in its entirety will be entered in a drawing to receive one of (3) unrestricted grants of $2,500 toward your department’s discretionary fund.
SIGCSE Preview: Measuring Demographics and Performance in Computer Science Education at a Nationwide Scale Using AP CS Data
Barbara and I are speaking Thursday 3:45-5 (with Neil Brown on his Blackbox work) in Hanover DE on our AP CS analysis paper (also previewed at a GVU Brown Bag). The full paper is available here: http://bit.ly/SIGCSE14-APCS This is a different story than the AP CS 2013 analysis that Barbara has been getting such press for. This is a bit deeper analysis on the 2006-2012 results.
Here are a couple of the figures that I think are interesting. What’s fitting into these histograms are states, and it’s the same number of bins in each histogram, so that one can compare across.
Fitting this story into the six page SIGCSE format was really tough. I wanted to make the figures bigger, and I wanted to tell more stories about the regressions we explored. I focused on the path from state wealth to exam-takers because I hadn’t seen that story in CS Ed previously (though everyone would predict that it was there), but there’s a lot more to tell about these data.
Figure 1: Histograms describing (a) the number of schools passing the audit over the population (measured in 10K), (b) number of exam-takers over the population, and (c) percentage of exam-takers who passed.
Measuring Demographics and Performance in Computer Science Education at a Nationwide Scale Using AP CS Data
Abstract: Before we can reform or improve computing education, we need to know the current state. Data on computing education are difficult to come by, since it’s not tracked in US public education systems. Most of our data are survey-based or interview-based, or are limited to a region. By using a large and nationwide quantitative data source, we can gain new insights into who is participating in computing education, where the greatest need is, and what factors explain variance between states. We used data from the Advanced Placement Computer Science A (AP CS A) exam to get a detailed view of demographics of who is taking the exam across the United States and in each state, and how they are performing on the exam. We use economic and census data to develop a more detailed view of one slice (at the end of secondary school and before university) of computer science education nationwide. We find that minority group involvement is low in AP CS A, but the variance between states in terms of exam-takers is driven by minority group involvement. We find that wealth in a state has a significant impact on exam-taking.