Archive for April, 2012

What do scientists want in a programming language? New Julia language seeks to be the C for scientists

What I liked best about this interview was the exploration of the (implicit) question, “What do scientists want in a programming language?”  It sounds like the answers are (explicitly) performance and broad applicability, for the applications that scientists care about (e.g., numeric processing, linear algebra, and statistics), but also (implicitly) ease of reading/writing. On the Julia Language page, there is discussion about how much easier it is to read and write Julia compared to similar C++. The language looks surprisingly Python-like.  

And I have to admit that what most interested me on the Julia Language page were the statistics on JavaScript.  Really?  It’s that fast now?!?

InfoWorld: When you say technical computing, to what type of applications are you specifically referring?

Karpinski: It’s a broad category, but it’s pretty much anything that involves a lot of number-crunching. In my own background, I’ve done a lot of linear algebra but a fair amount of statistics as well. The tool of choice for linear algebra tends to be Matlab. The tool of choice for statistics tends to be R, and I’ve used both of those a great deal. But they’re not really interchangeable. If you want to do statistics in Matlab, it’s frustrating. If you want to do linear algebra in R, it’s frustrating.

InfoWorld: So you developed Julia with the intent to make it easier to build technical applications?

Karpinski: Yes. The idea is that it should be extremely high productivity. To that end, it’s a dynamic language, so it’s relatively easy to program, and it’s got a very simple programming model. But it has extremely high performance, which cuts out [the need for] a third language [C], which is often [used] to get performance in any of these other languages. I should also mention NumPy, which is a contender for these areas. For Matlab, R, and NumPy, for all of these options, you need to at some point drop down into C to get performance. One of our goals explicitly is to have sufficiently good performance in Julia that you’d never have to drop down into C.

via New Julia language seeks to be the C for scientists | Application Development – InfoWorld.

April 30, 2012 at 9:31 am 4 comments

Facts on women in IT careers

Just got this from NCWIT.  The bullet about 56% of technical women leaving their careers was most interesting and disappointing for me.  Most of the references are in the NCWIT Report, The Facts.

Did you know that there are 903,000 women in computing occupations in the United States? Recently we gathered together some demographics on technical women and thought we’d share them with you. Read on for other interesting factoids.
  • The median age of women in computing and mathematical occupations is 42. (U.S. Department of Labor, unpublished)
  • Of the approximately 903,000 women holding computing and mathematical occupations in the U.S, about a quarter million are between the ages of 25 and 34, and another quarter million are between the ages of 35 and 44. (U.S. Department of Labor, unpublished)
  • The average female senior software developer earns between $74,660 – $100,591 per year and has at least a bachelor’s degree. (
  • In 2008, technical women earned an average salary of $70,370 ( via The Facts)
  • Of the 20 occupations with the highest median earnings for women, 5 are computing occupations: computer software engineers, computer and information systems managers, computer programmers, computer scientists and systems analysts, and network systems and data communications analysts. (U.S. Department of Labor)
  • Women in the computing workforce are predominantly white; about 2% are African-American, 4% are Asian, and 1% are Latina. (By The Numbers)
  • More than half (56%) of women in technology leave their employers at the mid-level point in their careers (10-20 years). Of the women who leave, 24% take a non-technical job in a different company; 22% become self-employed in a technical field; 20% take time out of the workforce; 17% take a government or non-profit technical job; 10% go to a startup company; and 7% take a non-technical job within the same company. (The Athena Factor via The Facts)
  • About 82% of technical women have a partner who works fulltime, compared with 37% of technical men. (Anita Borg Institute)

April 27, 2012 at 8:44 am 11 comments

Thinking about expression and ways of thought, and what happens to those who don’t C

In his wonderful essay on Alan Perlis’ 1961 Sloan School lecture, Michael Mateas points out that Perlis explicitly saw programming as a medium.

Here Perlis makes it clear that programming is a medium, in fact the medium peculiarly suited for describing processes, and as such, a fundamental component of cultural literacy, and a fundamental skill required of new media practitioners and theorists.

I’ve always loved the idea of programming as a form of expression, and most CS departments used to teach different paradigms of programming as different ways of thinking about problems. Google searching, you’ll find that “Computation/programming as an expressive medium” is being taught out there — but not to computer scientists.  Film students, digital media theorists, even social scientists are being taught about programming as a medium.  But for the most part, not computer scientists.

I realized the costs of that when I talked to one of the Seniors in my educational technology class this semester.  She’s trying to figure out what she wants to do next in her life.  She came to see me at my office hours for some advising.  What does she want to do?  Maybe graduate school, “but definitely not in computer science!  I can code, but I don’t like it. It just looks like hieroglyphics.”  We talked a lot about her interests and her options, but then I circled back.  “What was your most fun programming?”  “When it was done! When I was finished with it.”  “Okay, what languages have you programmed in.”  “C++, Java, and C. A little JavaScript this semester, and VPython but only for physics labs.”  I realized that she’s only ever seen C, and forms of that.  She’s never seen another way of expressing ideas in code, another way of thinking about programming.

As I’ve mentioned, when I first got here to Georgia Tech, we taught Lisp and Smalltalk in required courses.  We did that explicitly to show students that there were multiple ways of thinking about programming. Every student used multiple styles of programming.  I taught a computer music class using CSound and Squeak, and people were able to handle it.  But we don’t teach that expressive purpose for programming any more, and few departments do.  I’ve even heard faculty talk about their departments as being “a Java shop” or “a C++/C# shop,” as if students should get a union card for finishing their undergraduate apprenticeship.

To be clear, the main force on the shift to C-based languages was the students.  They wanted to learn to be software engineers. They wanted marketable skills.  But in the end, they find that they hate coding.  They see it as so limiting, as so fixed.

I showed my student Alex Ruthmann’s video of live coding of music in Scratch, and the wonderful new Web Audio API (Thanks to Alan Kay for telling me about this at SIGCSE!), and her jaw dropped.  She didn’t know that you could do things like that.  “I’ve never saw anybody code anything cool!”

[Side note: My TA came in to talk to me after the Senior left.  I still had the Web Audio examples on my screen.  “What’s that?”  I explained what was going on.  “You know about samples, right?  You took CS1315 (Introduction to Media Computation)?”  “Yeah, but when I took it, they didn’t do sounds.”  Even when you design for expression, it doesn’t always happen.]

I find the Senior’s attitude about computing to be a sad statement on how we teach computer science today.  We have turned off a female CS major from entering the computing marketplace or graduate school, not because of what CS is, but because of how little of it we’ve shown her.  She only thinks coding is slogging through &*!{}++ hieroglyphics.  (That wasn’t swearing — I was simply showing some odd C syntax. I know that it looks much the same.) Coding is such a wonderful, flexible, and expressive medium, that allows you to think about problems and the world in so many interesting ways.  Computer science is related to philosophy, and I think we’ve forgotten that.  We graduate majors that have never even seen that perspective, who don’t even know what that means. We’re teaching computer science with all the life sucked out of it.

April 27, 2012 at 8:30 am 20 comments

UFlorida maintains CISE research, but still merges departments

Sounds like the Dean gets her merger of CISE into ECE, but CISE gets to keep research.  Miami Herald ran a story on the UFlorida CISE department, and the comments were really insightful.  I see more clearly what the voters of Florida want, and why they elect officials who make these kinds of budgetary decisions.

As many of you know, the proposal has been met with overwhelming negative response, much of which I believe has been based on misunderstanding. Nonetheless, it is clear that the University of Florida must figure out a way to make it through these financially difficult times in a productive manner. I am optimistic we can do that.

This week, the chairmen of the departments of Computer and Information Science and Engineering and Electrical and Computer Engineering have come forward together with a framework of a new proposal that would help meet the college’s budget target. It also would address issues raised during recent discussions, namely, clarify and enhance degree offerings while preserving the research mission in both computer science and computer engineering, achieve efficiency in teaching and bring faculty workloads in line with other departments of the college.

“We are currently working on a plan for a joint organization of these two departments into a larger unit. I feel strongly that this is the best opportunity for the two departments moving forward,” said Gerhard Ritter, interim chair of CISE.

via University of Florida News – UF president issues statement to university community regarding budget.

April 26, 2012 at 10:21 am 3 comments

Computer Science is Essential for Everyone – Forbes

Nice piece in Forbes, building on the recent NYTimes article, that details how Northwestern blends CS with each of its colleges to create something new and valuable.

Indeed, we’ve also seen at Northwestern that combining students focused on computer science with other fields has yielded great dividends.   If you look at each of Northwestern’s colleges outside engineering—Journalism, Communications, Music, Education, Arts & Sciences—most disciplines are advancing by being infused with computer science.    We’ve had students from each of these schools in our experential NUvention classes  Indeed, in areas like journalism and communications, modern journalist can ignore computer science only at their peril.  Not only has the internet upended the business models of traditional publications; the tools of analysis and story composition will change from computer science as well.   My CS collegues Larry Birnbaum and Kris Hammand started a seminar 4 years ago in concert with the Medill School of Journalism.   Graduate Journalism students were paired to with computer scientists to look at new application areas in the evolving face of media.   One output of this class has become the company Narrative Science.   Narrative Science combines journalistic archetypes with statistical databases to compose stories for the long tail.   Narrative started with baseball and softball recaps from box scores and also does earnings reports for some internet financial sites.   I was fascinated at the backlash from traditional journalists; and to me this shows how essential it is that journalists get to know computer science as a tool, so it can be approached with understanding rather than fear.

via Computer Science is Essential for Everyone – Forbes.

April 26, 2012 at 8:39 am 1 comment

A CS Emporium would be wonderful idea: Efficient and Tailored Computing Education

Over the weekend, I read a post by GasStationsWithoutPumps on speeding through college.  The Washington Post has a great article about Virginia Tech’s Math Emporium that provides a mechanism to do that: Self-paced mathematics instruction, with human instructors available for one-on-one help.  It’s efficient, and it provides student learning at their pace.  I would love to see a computer science version of this.  In particular, it would be great if students could explore problems in a variety of contexts (from media to games to robotics to interactive fiction), and get the time in that they need to develop some skill and proficiency.  Like the distance education efforts, this is about improving the efficiency of higher education.  Unlike distance education, the Emporium includes 1:1 human interaction and the potential for individualized approaches and curriculum.  And there’s potential synergy: the content needed to make a CS Emporium work could also be used in a distance education.  Here’s my prediction: Without the 1:1 help, I’d expect the distance folks to still have a higher WFD rate.

No academic initiative has delivered more handsomely on the oft-stated promise of efficiency-via-technology in higher education, said Carol Twigg, president of the National Center for Academic Transformation, a nonprofit that studies technological innovations to improve learning and reduce cost. She calls the Emporium “a solution to the math problem” in colleges.

It may be an idea whose time has come. Since its creation in 1997, the Emporium model has spread to the universities of Alabama and Idaho (in 2000) and to Louisiana State University (in 2004). Interest has swelled as of late; Twigg says the Emporium has been adopted by about 100 schools. This academic year, Emporium-style math arrived at Montgomery College in Maryland and Northern Virginia Community College.

“How could computers not change mathematics?” said Peter Haskell, math department chairman at Virginia Tech. “How could they not change higher education? They’ve changed everything else.”

Emporium courses include pre-calculus, calculus, trigonometry and geometry, subjects taken mostly by freshmen to satisfy math requirements. The format seems to work best in subjects that stress skill development — such as solving problems over and over. Computer-led lessons show promise for remedial English instruction and perhaps foreign language, Twigg said. Machines will never replace humans in poetry seminars.

via At Virginia Tech, computers help solve a math class problem – The Washington Post.

April 25, 2012 at 8:58 am 4 comments

NSF Program: Research and Evaluation on Education in Science and Engineering (REESE)

The REESE solicitation was re-written and just released.  Proposals are due 17 July 2012.Reads to me like this could be a source of funding for computing education research.

The Research and Evaluation on Education in Science and Engineering (REESE) program seeks to advance research at the frontiers of STEM learning and education, and to provide the foundational knowledge necessary to improve STEM learning and education in current and emerging learning contexts, both formal and informal, from childhood through adulthood, for all groups, and from before school through to graduate school and beyond into the workforce. The goals of the REESE program are: (1) to catalyze discovery and innovation at the frontiers of STEM learning and education; (2) to stimulate the field to produce high quality and robust research results through the progress of theory, method, and human resources; and (3) to coordinate and transform advances in education and learning research. In coordination with the Research on Gender in Science and Engineering (GSE) and Research on Disabilities Education (RDE) programs, REESE supports research on broadening participation in STEM education. REESE pursues its mission by developing an interdisciplinary research portfolio focusing on core scientific questions about STEM learning; it welcomes Fostering Interdisciplinary Research on Education (FIRE) projects, previously called for in a separate solicitation. REESE places particular importance upon the involvement of young investigators in the projects, at doctoral, postdoctoral, and early career stages, as well as the involvement of STEM disciplinary experts. Research questions related to educational research methodology and measurement are also central to REESE activities.

via Research and Evaluation on Education in Science and Engineering (REESE) – nsf12552.

April 25, 2012 at 8:55 am Leave a comment

Designing a language for programming with musical collaborators in front of an audience

If you were going to build a programming language explicitly for musicians to use when programming live with collaborators and in front of an audience, what would you build into it?  What should  musicians have to learn about computer science in order to use this language? There’s a special issue of Computer Music Journal coming out, focused on these themes. What a fascinating set of design constraints, and how different from most programming languages!

We are excited to announce a call for papers for a special issue of
Computer Music Journal, with a deadline of 21st January 2013, for
publication in Spring of the following year. The issue will be guest
edited by Alex McLean, Julian Rohrhuber and Nick Collins, and will
address themes surrounding live coding practice.

Live coding focuses on a computer musician’s relationship with their
computer. It includes programming a computer as an explicit onstage
act, as a musical prototyping tool with immediate feedback, and also
as a method of collaborative programming. Live coding’s tension
between immediacy and indirectness brings about a mediating role for
computer language within musical interaction. At the same time, it
implies the rewriting of algorithms, as descriptions which concern the
future; live coding may well be the missing link between composition
and improvisation. The proliferation of interpreted and just-in-time
compiled languages for music and the increasing computer literacy of
artists has made such programming interactions a new hotbed of musical
practice and theory. Many musicians have begun to design their own
particular representational extensions to existing general-purpose
languages, or even to design their own live coding languages from
scratch. They have also brought fresh energy to visual programming
language design, and new insights to interactive computation, pushing
at the boundaries through practice-based research. Live coding also
extends out beyond pure music and sound to the general digital arts,
including audiovisual systems, linked by shared abstractions.

2014 happens to be the ten-year anniversary of the live coding
organisation TOPLAP ( However, we do not wish to restrict
the remit of the issue to this, and we encourage submissions across a
sweep of emerging practices in computer music performance, creation,
and theory. Live coding research is more broadly about grounding
computation at the verge of human experience, so that work from
computer system design to exposition of live coding concert work is
equally eligible.

Topic suggestions include, but are not limited by:

– Programming as a new form of musical exploration
– Embodiment and linguistic abstraction
– Symbology in music interaction
– Uniting liveness and abstraction in live music
– Bricolage programming in music composition
– Human-Computer Interaction study of live coding
– The psychology of computer music programming
– Measuring live coding and metrics for live performance
– The live coding audience, or live coding without audience
– Visual programming environments for music
– Alternative models of computation in music
– Representing time in interactive programming
– Representing and manipulating history in live performance
– Freedoms, constraints and affordances in live coding environments

Authors should follow all CMJ author guidelines
(, paying particular
attention to the maximum length of 25 double-spaced pages.

Submissions should be received by 21st January 2013.  All submissions
and queries should be addressed to Alex McLean

April 24, 2012 at 9:45 am Leave a comment

An explanation for U. Florida’s CISE actions: A move towards Liberal Arts

Maybe this is just rationalization, but it’s particularly interesting from a “computer science as a liberal art” perspective.  The Dean of Engineering at U. Florida is described below as saying that these changes would encourage more liberal arts students to study computer science which is what local employers want.  Most of the explanations I’ve read for the change were more about strengthening computer engineering and tying CS and EE together more strongly.

Abernathy said she expects the changes actually would boost the computer science program’s enrollment. She said she has talked with MindTree about its employment needs and said the changes would help achieve its goal of hiring liberal arts students also studying computer science.

via Engineering College chairman blasts cuts as wrong time, wrong place |

April 24, 2012 at 9:42 am 1 comment

University of Florida Eliminates Computer Science Department, Increases Athletic Budgets. Hmm. – Forbes

This new article on the ongoing U. Florida debacle in Forbes is shocking.  The athletic department is not getting cut — it’s getting a raise, and the raise alone is larger than the cost for the CISE department!  Meanwhile, Florida has just created a new STEM-oriented university.  I really would like to hear what argument the administration makes for these decisions.  An article this morning in the Gainesville Sun suggests that the local residents don’t understand it, either.

Meanwhile, the athletic budget for the current year is $99 million, an increase of more than $2 million from last year.  The increase alone would more than offset the savings supposedly gained by cutting computer science.

Now, I’m not saying that UF has chosen football over science.  (Imagine the outcry, though, if UF cut a major sport instead of a major science department.) Actually, the real villains here are the Florida state legislators, who have cut the budget for their flagship university by 30% over the past 6 years.

Meanwhile, just two days ago, Florida governor Rick Scott approved the creation of a brand-new public university, Florida Polytechnic University, to be located near the city of Tampa.

via University of Florida Eliminates Computer Science Department, Increases Athletic Budgets. Hmm. – Forbes.

April 23, 2012 at 9:03 am 3 comments

Do free and open learning technologies help the rich more than the poor?

I looked up Justin Reich based on Betsy DiSalvo’s comment last week.  Justin argues that the affluent benefit more from free and open learning technologies (like WikiSpaces) than do lower socioeconomic class students, so free and open learning technologies actually widen the gap, more than shrink it.  His video op-ed, linked below, makes this case with data based on use of WikiSpaces, showing that lower socioeconomic schools have less capacity to pick up and use these technologies.

But what to do?  I liked both of the initiatives that Justin mentions, but I was disappointed that both of them are outside school.  His study is on school use, but his recommendations are for out-of-school use.  Is there nothing we can do in poorer schools to make things better?

April 23, 2012 at 8:57 am 4 comments

Udacity’s CS101: Who are you talking to?

When Carnegie Mellon University’s cognitive tutors first went into the classroom, Janet Schofield went with them.  She’s a social scientist who wanted to see what happened when this advanced technology got into real classrooms.  One of her findings was that, as predicted, the students would work individually with the technology, giving the teacher the opportunity to wander the room and give one-on-one time to individual students. The teacher could provide personalized instruction.  That did happen, but not in the way that you might hope.  The teacher spent most of the time with the best students.  Why not?  Those were the students most interesting to talk to.

Sebastian Thrun and Dave Evans of Udacity came to Georgia Tech this week, and talked about the completion of their CS101 course.  100,000 people signed up for the course, but that was just providing an email address — no cost, no commitment.  50,000 visited the site before the first assignment, and 30,000 completed the first assignment — one of those is probably a better measure of who was serious about taking the course.  10,000 completed the course. There are blog posts around from both completers and non-completers.  3,000 got a perfect score, which is great for Udacity and their business model. (Thanks to Dave who vetted these results for me.)

Sebastian was exuberant.  He says that he can’t go back to lecture teaching anymore, since on-line courses reach so many student.  “You move the needle so much!”  I asked how he knew that he moved the needle.  He admitted, “I don’t. We don’t know what they knew coming in. But we get told about the effect we have on these students. I get these great emails!”  He talked about how empowering it was for students to complete their programming assignments, how much the students said that the course changed their lives.  “It’s a thrill ride for the instructors!”

I believe Sebastian when he says that.  I bet that a Udacity class is great fun to teach.  Key to Udacity and similar online course platforms is a rapid feedback loop.  They know what’s going on in the class all-the-time, from all the instrumentation on every problem, and from all the message boards and email traffic.  They hear a lot, from really good students.

Is the Udacity (and maybe Coursera) model effective for more than reaching the best students, beyond the ones who are willing to put in the big effort? It’s an occupational hazard, of being a professor in a state university and of being a computing education researcher who studies how non-CS majors learn CS, that I worry about those who start but struggle.  I am a state employee, and ultimately, work for the state taxpayers who want to have their children educated.  I measure my success (and failure, too) on how well I serve the whole class.  Retention matters to me. I care about motivating students to care about computer science. And I hear from the students who drop out or fail: in terms of course reports, in terms of failing grades on assignments, in terms of tears at office hours.  If I only talked and listened to the top students, the job would be easier.

From hearing Dave and Sebastian, I don’t think that they’re arguing that they are replacing the state university, nor that they are reaching everybody.  They have a new kind of educational technology that speaks to a particular audience, and they are exploring it.  I don’t worry about Sebastian and Dave.  I more worry about those who don’t see the students that Udacity isn’t talking to.  There are lots of stories on the Internet about how Udacity represents the future of university education.  If you want to have more well educated students, if you want to improve graduation rates, you have to speak with the students that might not be so much fun to talk to — the ones who make you invent new approaches to motivate and engage, who question what you teach and why you teach it.  Udacity solves a particular problem.  It’s not necessarily the answer to the problems facing higher education.

April 20, 2012 at 8:19 am 27 comments

Massive open, on-line courses: With the faculty, or against the faculty?

I found this piece on MITx interesting in contrast with my visit to Stanford.  At Stanford, it’s pretty clear that they’re doing the on-line courses because the faculty want them.  This article suggests that, at MIT, the administration (mostly represented in this piece by an interview with the MIT Chancellor) wants the courses, but the faculty are more dubious.

In a provocative essay in the latest edition of MIT’s faculty newsletter, Woodie Flowers, an emeritus professor of mechanical engineering, draws a distinction between training and education. “Education is much more subtle and complex and is likely to be accomplished through mentorship or apprentice-like interactions between a learner and an expert,” Flowers wrote, quoting from one of his own lectures. The “sweet spot for expensive universities such as MIT,” he continued, is a blend of “highly-produced training systems” and a high-touch apprenticeship model that emphasizes direct interactions between faculty and students. “MITx,” Flowers contends, “seems aimed at neither”

Samuel Allen, a professor of metallurgy and chair of the MIT faculty, wrote an essay for the same issue of the newsletter that struck a less critical tone but also raised questions about the implications of inexpensive online iterations of the university’s curricular offerings. “If MITx is wildly successful, what is the future of the residential education experience that has been our mode of teaching for MIT’s entire history?” Allen wrote. “If students can master course materials online for free (or for a modest ‘credentialing’ fee), what incentives would there be for anyone to invest in an expensive residential college education?”

via How could MITx change MIT? | Inside Higher Ed.

April 19, 2012 at 8:02 am 5 comments

In the Chronicle: What counts as “programming”? Will it be different for “the rest of us”?

Interesting question, beyond asking what is computational thinking: If you require “programming,” what counts as “programming”?  The Chronicle asks, does typesetting in LaTeX count?

I’m interested in how the non-CS community will answer that question.  What will programming look like for “everyone else,” the non-CS majors, those who aren’t professional software developers?  I’m fascinated by CSound, the music and sound synthesis language.  There are no looping structures, just go-to.  If your first thought is “it looks like assembly language,” check your CS-informed biases at the door, please.  If you don’t know what “assembly language” is, what is CSound?  Almost none of the examples include looping or conditionals.  But for me, it’s definitely programming.  What is our bottomline of what is programming, and in particular, for what communities of practice?

We’ve discussed this before here at the blog, and I suggested that the definition of “programming” be broadly defined to include any creative work that gets a computer to work beyond its basic feature set. So, for example, learning to use MS Word to write a paper — while that’s important — would not count as “programming”, but learning to typeset a research paper in LATEX with a bibliography would (probably) count. Georgia Tech’s approach of using of media computation would seem especially attractive to students who wouldn’t normally count themselves among CS enthusiasts.

via Making Computer Science a Requirement? – Casting Out Nines – The Chronicle of Higher Education.

April 18, 2012 at 10:38 am 17 comments

Mathematics Awareness Month is Computational Thinking month

April 2012 is Mathematics Awareness Month.  When I read the description of the theme for this year, “Mathematics, Statistics, and the Data Deluge,” it sounds to me like it’s just as much about computational thinking.  Nobody is going to deal with big data by hand.  Their view meshes pretty well with Jeannette Wing’s definition, e.g., automatized algorithms.

The American Mathematical Society, the American Statistical Association, the Mathematical Association of America, and the Society for Industrial and Applied Mathematics announce that the theme for Mathematics Awareness Month, April 2012, is Mathematics, Statistics, and the Data Deluge.

Massive amounts of data are collected every day, often from services we use regularly, but never think about. Scientific data comes in massive amounts from sensor networks, astronomical instruments, biometric devices, etc., and needs to be sorted out and understood. Personal data from our Google searches, our Facebook or Twitter activities, our credit card purchases, our travel habits, and so on, are being mined to provide information and insight. These data sets provide great opportunities, and pose dangers as well.

via Mathematics Awareness Month – April 2012.

April 17, 2012 at 8:08 am Leave a comment

Older Posts

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,186 other subscribers


Recent Posts

Blog Stats

  • 2,060,872 hits
April 2012

CS Teaching Tips