Archive for the ‘Teaching’ Category

Build Your Own Text Editor (“make changes, see the results”)

Thursday, April 6th, 2017

Build Your Own Text Editor by Jeremy Ruten.

From the webpage:

Welcome! This is an instruction booklet that shows you how to build a text editor in C.

The text editor is antirez’s kilo, with some changes. It’s about 1000 lines of C in a single file with no dependencies, and it implements all the basic features you expect in a minimal editor, as well as syntax highlighting and a search feature.

This booklet walks you through building the editor in 184 steps. Each step, you’ll add, change, or remove a few lines of code. Most steps, you’ll be able to observe the changes you made by compiling and running the program immediately afterwards.

I explain each step along the way, sometimes in a lot of detail. Free free to skim or skip the prose, as the main point of this is that you are going to build a text editor from scratch! Anything you learn along the way is bonus, and there’s plenty to learn just from typing in the changes to the code and observing the results.

See the appendices for more information on the tutorial itself (including what to do if you get stuck, and where to get help).

If you’re ready to begin, then go to chapter 1!
… (emphasis in original)

I mention this tutorial because:

  • It’s an opportunity to see editor issues “from the other side.”
  • Practice reading and understanding C
  • I like the “make changes, see the results” approach

Of the three, the “make changes, see the results” approach is probably the most important.

Examples that “just work” are great and I look for them all the time. 😉

But imagine examples that take you down the false leads and traps, allowing you to observe the cryptic error messages from XQuery for example. You do work your way to a solution but are not given one out of the box.

“Cryptic” is probably overly generous with regard to XQuery error messages. Suggestions of a better one word term, usable in mixed company for them?

How to weigh a dog with a ruler? [Or Price a US Representative?]

Wednesday, December 14th, 2016

How to weigh a dog with a ruler? (looking for translators)

From the post:

We are working on a series of comic books that introduce statistical thinking and could be used as activity booklets in primary schools. Stories are built around adventures of siblings: Beta (skilled mathematician) and Bit (data hacker).

What is the connection between these comic books and R? All plots are created with ggplot2.

The first story (How to weigh a dog with a ruler?) is translated to English, Polish and Czech. If you would like to help us to translate this story to your native language, just write to me (przemyslaw.biecek at gmail) or create an issue on GitHub. It’s just 8 pages long, translations are available on Creative Commons BY-ND licence.

The key is to chart animals by their height as against their weight.

Pricing US Representatives is likely to follow a similar relationship where their priced goes up by years of service in Congress.

I haven’t run the data but such a chart would keep “people” (includes corporations in the US) from paying too much or offering too little. To the embarrassment of all concerned.

Data Science Toolbox

Saturday, October 1st, 2016

Data Science Toolbox

From the webpage:

Start doing data science in minutes

As a data scientist, you don’t want to waste your time installing software. Our goal is to provide a virtual environment that will enable you to start doing data science in a matter of minutes.

As a teacher, author, or organization, making sure that your students, readers, or members have the same software installed is not straightforward. This open source project will enable you to easily create custom software and data bundles for the Data Science Toolbox.

A virtual environment for data science

The Data Science Toolbox is a virtual environment based on Ubuntu Linux that is specifically suited for doing data science. Its purpose is to get you started in a matter of minutes. You can run the Data Science Toolbox either locally (using VirtualBox and Vagrant) or in the cloud (using Amazon Web Services).

We aim to offer a virtual environment that contains the software that is most commonly used for data science while keeping it as lean as possible. After a fresh install, the Data Science Toolbox contains the following software:

  • Python, with the following packages: IPython Notebook, NumPy, SciPy, matplotlib, pandas, scikit-learn, and SymPy.
  • R, with the following packages: ggplot2, plyr, dplyr, lubridate, zoo, forecast, and sqldf.
  • dst, a command-line tool for installing additional bundles on the Data Science Toolbox (see next section).

Let us know if you want to see something added to the Data Science Toolbox.

Great resource for doing or teaching data science!

And an example of using a VM to distribute software in a learning environment.

The Wrong Way to Teach Grammar [Programming?]

Tuesday, August 30th, 2016

The Wrong Way to Teach Grammar by Michelle Navarre Cleary.

From the post:

A century of research shows that traditional grammar lessons—those hours spent diagramming sentences and memorizing parts of speech—don’t help and may even hinder students’ efforts to become better writers. Yes, they need to learn grammar, but the old-fashioned way does not work.

This finding—confirmed in 1984, 2007, and 2012 through reviews of over 250 studies—is consistent among students of all ages, from elementary school through college. For example, one well-regarded study followed three groups of students from 9th to 11th grade where one group had traditional rule-bound lessons, a second received an alternative approach to grammar instruction, and a third received no grammar lessons at all, just more literature and creative writing. The result: No significant differences among the three groups—except that both grammar groups emerged with a strong antipathy to English.

There is a real cost to ignoring such findings. In my work with adults who dropped out of school before earning a college degree, I have found over and over again that they over-edit themselves from the moment they sit down to write. They report thoughts like “Is this right? Is that right?” and “Oh my god, if I write a contraction, I’m going to flunk.” Focused on being correct, they never give themselves a chance to explore their ideas or ways of expressing those ideas. Significantly, this sometimes-debilitating focus on “the rules” can be found in students who attended elite private institutions as well as those from resource-strapped public schools.

(Three out of five links here are pay-per-view. Sorry.)

It’s only a century of research. Don’t want to rush into anything. 😉

How would you adapt this finding to teaching programming and/or hacking?


Integrated R labs for high school students

Tuesday, June 28th, 2016

Integrated R labs for high school students by Amelia McNamara.

From the webpage:

Amelia McNamara, James Molyneux, Terri Johnson

This looks like a very promising approach for capturing the interests of high school students in statistics and R.

From the larger project, Mobilize, curriculum page:

Mobilize centers its curricula around participatory sensing campaigns in which students use their mobile devices to collect and share data about their communities and their lives, and to analyze these data to gain a greater understanding about their world.Mobilize breaks barriers by teaching students to apply concepts and practices from computer science and statistics in order to learn science and mathematics. Mobilize is dynamic: each class collects its own data, and each class has the opportunity to make unique discoveries. We use mobile devices not as gimmicks to capture students’ attention, but as legitimate tools that bring scientific enquiry into our everyday lives.

Mobilize comprises four key curricula: Introduction to Data Science (IDS), Algebra I, Biology, and Mobilize Prime, all focused on preparing students to live in a data-driven world. The Mobilize curricula are a unique blend of computational and statistical thinking subject matter content that teaches students to think critically about and with data. The Mobilize curricula utilize innovative mobile technology to enhance math and science classroom learning. Mobilize brings “Big Data” into the classroom in the form of participatory sensing, a hands-on method in which students use mobile devices to collect data about their lives and community, then use Mobilize Visualization tools to analyze and interpret the data.

I like the approach of having the student collect their own and process their own data. If they learn to question their own data and processes, hopefully they will ask questions about data processing results presented as “facts.” (Since 2016 is a presidential election year in the United States, questioning claimed data results is especially important.)


Locked doors, headaches, and intellectual need (teaching monads)

Sunday, November 1st, 2015

Locked doors, headaches, and intellectual need by Max Kreminski.

From the post:

I was first introduced to the idea of problem-solution ordering issues by Richard Lemarchand, one of my game design professors. The idea stuck with me, mostly because it provided a satisfying explanation for a certain confusing pattern of player behavior that I’d witnessed many times in the past.

Here’s the pattern. A new player jumps into your game and starts bouncing around your carefully crafted tutorial level. The level funnels them to the key, which they collect, and then on to the corresponding locked door, which they successfully open. Then, somewhere down the road, they encounter a second locked door… and are completely stumped. They’ve solved this problem once before – why are they having such a hard time solving it again?

What we have here is a problem-solution ordering issue. Because the player got the key in the first level before encountering the locked door, they never really formed an understanding of the causal link between “get key” and “open door”. They got the key, and then some other stuff happened, and then they reached the door, and were able to open it; but “acquiring the key” and “opening the door” were stored as two separate, disconnected events in the player’s mind.

If the player had encountered the locked door first, tried to open it, been unable to, and then found the key and used it to open the door, the causal link would be unmistakable. You use the key to open the locked door, because you can’t open the locked door without the key.

This problem becomes a lot more obvious when you don’t call the key a key, or when the door doesn’t look like a locked door. The “key/door” metaphor is widely understood and frequently used in video games, so many players will assume that you use a key to open a locked door even if your own game doesn’t do a great job of teaching them this fact. But if the “key” is really a thermal detonator and the “door” is really a power generator, a lot of players are going to wind up trying to destroy the second generator they encounter by whacking it ineffectually with a sword.

Max goes on to apply problem-solution ordering to teaching both math and monads.

I don’t recall seeing or writing any topic map materials that started with concrete problems that would be of interest to the average user.

Make no mistake, there were always lots of references to where semantic confusion was problematic but that isn’t the same as starting with problems a user is likely to encounter.

The examples and literature Max points to makes me interested in started with concrete problems topic maps are good at solving and then introducing topic map concepts as necessary.


Learning Topic Map Concepts Through Topic Map Completion Puzzles

Wednesday, October 21st, 2015

Enabling Independent Learning of Programming Concepts through Programming Completion Puzzles — Kyle Harms by Felienne Hermans.

From the post:

There are lots of puzzle programming tutorials currently in fashion:, Gidget and Parson’s programming puzzles. But, we don’t really know if they work? There is work [1] that shows that completion exercises do work well, but what about puzzles? That is what Kyle wants to find out.

Felienne is live blogging presentations from VL/HCC 2015 IEEE Symposium on Visual Languages and Human-Centric.

The post is quick read and should generate interest in both programming completion puzzles as well as similar puzzles for authoring topic maps.

There is a pre-print: Enabling Independent Learning of Programming Concepts through Programming Completion Puzzles.

Before you question the results based on the sample size, 27 students, realize that is 27 more test subjects than a database project to replace all the outward services for 5K+ users. Fortunately, very fortunately, a group was able to convince management to tank the entire project. Quite a nightmare and slur on “agile development.”

The lesson here is that puzzles are useful and some test subjects are better than no test subjects at all.

Suggestions for topic map puzzles?

Effective Communication with Colleagues, the Public, Students and Users

Saturday, January 31st, 2015

I chose the tile of this post as a replacement for: Synthesis of the Value and Benefits of SoTL (Scholarship of Teaching and Learning)Experienced by the Contributors. I know, it’s hard to get past the title but if you do, Rick Reis advises:

The posting below is Chapter 20 of the book, Doing the Scholarship of Teaching and Learning (SoTL) in Mathematics. It has implications well beyond the teaching of mathematics and represents the synthesis of the editors, Jacqueline Dewar and Curtis Bennett of Loyola Marymount University, of the contributing authors’ perceptions of the value of SoTL. In it, they reinterpret Shulman’s (1999) “taxonomy of pedago-pathology” consisting of amnesia, fantasia, and inertia, which he had used to describe pitfalls of student learning, to show how the same 3 labels can describe pathologies of teaching, and then discuss how SoTL can operate as an antidote for these. Dewar, J., & Bennett, C. (Eds.). (2015). Doing the scholarship of teaching and learning in mathematics. Washington, DC: Mathematical Association of America. Copyright © 2015. Mathematical Association of America. ( All rights reserved. Reprinted with permission.

The triple, “amnesia, fantasia, and inertia” originally were references to:

  • Amnesia – inability of students to remember what they have learned
  • Fantasia – remembering of incorrect information by students
  • Inertia – student’s inability to apply what they have learned

The essays turn the tables on professors who teach classes where:

  • Amnesia – inability of a professor to remember what worked or what didn’t in prior courses
  • Fantasia – relying on assumptions about students rather than exploring why they haven’t mastered material
  • Inertia – teaching classes the same way, even though prior students failed to master the materials

I can see that triple, “amnesia, fantasia, and inertia” in the treatment of users:

  • Amnesia – inability to remember what has worked in the past for users
  • Fantasia – no user testing of UI and/or documentation, “just not trying hard enough.”
  • Inertia – writing poor or no documentation, “this time will be different”

I suppose the inertia part is also a reference to how we all take every opportunity to be lazy if at all possible.

I am sure the techniques for SoTL aren’t directly transferable to CS in academia or in practice but every nudge in a better direction helps.

The MAA page offers this description:

The four chapters in Part I provide background on this form of scholarship and specific instructions for undertaking a SoTL investigation in mathematics. Part II contains fifteen examples of SoTL projects in mathematics from fourteen different institutions, both public and private, spanning the spectrum of higher educational institutions from community colleges to research universities. These chapters “reveal the process of doing SoTL” by illustrating many of the concepts, issues, methods and procedures discussed in Part I. An Editors’ Commentary opens each contributed chapter to highlight one or more aspects of the process of doing SoTL revealed within. Toward the end of each chapter the contributing authors describe the benefits that accrued to them and their careers from participating in SoTL.

In PDF it is only $23.00 and appears to be worth every penny of it.

Announcing Digital Pedagogy in the Humanities: Concepts, Models, and Experiments

Tuesday, December 23rd, 2014

Announcing Digital Pedagogy in the Humanities: Concepts, Models, and Experiments by Rebecca Frost Davis.

From the post:

I’m elated today to announce, along with my fellow editors, Matt Gold, Katherine D. Harris, and Jentery Sayers, and in conjunction with the Modern Language Association Digital Pedagogy in the Humanities: Concepts, Models, and Experiments, an open-access, curated collection of downloadable, reusable, and remixable pedagogical resources for humanities scholars interested in the intersections of digital technologies with teaching and learning. This is a book in a new form. Taken as a whole, this collection will document the richly-textured culture of teaching and learning that responds to new digital learning environments, research tools, and socio-cultural contexts, ultimately defining the heterogeneous nature of digital pedagogy. You can see the full announcement here:

Many of you may have heard of this born-digital project under some other names (Digital Pedagogy Keywords) and hashtags (#digipedkit). Since it was born at the MLA convention in 2012 it has been continually evolving. You can trace that evolution, in part, through my earlier presentations:

For the future, please follow Digital Pedagogy in the Humanities on Twitter through the hashtag #curateteaching and visit our news page for updates. And if you know of a great pedagogical artifact to share, please help us curate teaching by tweeting it to the hashtag #curateteaching. We’ll be building an archive of those tweets, as well.

After looking at the list of keywords: Draft List of Keywords for Digital Pedagogy in the Humanities: Concepts, Models, and Experiments, I am hopeful those of you with a humanities background can suggest additional terms.

I didn’t see “topic maps” listed. 😉 Maybe that should be under Annotation? In any event, this looks like an exciting project.


Books: Inquiry-Based Learning Guides

Thursday, October 30th, 2014

Books: Inquiry-Based Learning Guides

From the webpage:

The DAoM library includes 11 inquiry-based books freely available for classroom use. These texts can be used as semester-long content for themed courses (e.g. geometry, music and dance, the infinite, games and puzzles), or individual chapters can be used as modules to experiment with inquiry-based learning and to help supplement typical topics with classroom tested, inquiry based approaches (e.g. rules for exponents, large numbers, proof). The topic index provides an overview of all our book chapters by topic.

From the about page:

Discovering the Art of Mathematics (DAoM), is an innovative approach to teaching mathematics to liberal arts and humanities students, that offers the following vision:

Mathematics for Liberal Arts students will be actively involved in authentic mathematical experiences that

  • are both challenging and intellectually stimulating,
  • provide meaningful cognitive and metacognitive gains, and,
  • nurture healthy and informed perceptions of mathematics, mathematical ways of thinking, and the ongoing impact of mathematics not only on STEM fields but also on the liberal arts and humanities.

DAoM provides a wealth of resources for mathematics faculty to help realize this vision in their Mathematics for Liberal Arts (MLA) courses: a library of 11 inquiry-based learning guides, extensive teacher resources and many professional development opportunities. These tools enable faculty to transform their classrooms to be responsive to current research on learning (e.g. National Academy Press’s How People Learn) and the needs and interests of MLA students without enormous start-up costs or major restructuring.

All of these books are concerned with mathematics from a variety of perspectives but I didn’t see anything in How People Learn: Brain, Mind, Experience, and School: Expanded Edition (2000) that suggested such techniques are limited to the teaching of mathematics.

Easy to envision teaching of CS or semantic technologies using the same methods.

What inquiries would you construct for the exploration of semantic diversity? Roles? Contexts? Or the lack of a solution to semantic diversity? What are its costs?

Thinking semantic integration could become a higher priority if the costs of semantic diversity or the savings of semantic integration could be demonstrated.

For example, most Americans nod along with public service energy conservation messages. Just like people do with semantic integration pitches.

But if it was demonstrated for a particular home that 1/8 of the energy for heat or cooling was being wasted and that $X investment would lower utility bills by $N, there would be a much different reaction.

There are broad numbers on the losses from semantic diversity but broad numbers are not “in our budget” line items. It’s time to develop strategies that can expose the hidden costs of semantic diversity. Perhaps inquiry-based learning could be that tool.

I first saw this in a tweet by Steven Strogatz.

Programming for Biologists

Thursday, October 9th, 2014

Programming for Biologists by Ethan White.

From the post:

This is the website for Ethan White’s programming and database management courses designed for biologists. At the moment there are four courses being taught during Fall 2014.

The goal of these courses is to teach biologists how to use computers more effectively to make their research easier. We avoid a lot of the theory that is taught in introductory computer science classes in favor of covering more of the practical side of programming that is necessary for conducting research. In other words, the purpose of these courses is to teach you how to drive the car, not prepare you to be a mechanic.

Hmmm, less theory of engine design and more driving lessons? 😉

Despite my qualms about turn-key machine learning solutions, more people want to learn to drive a car than want to design an engine.

Should we teach topic maps the “right way” or should we teach them to drive?

I first saw this in a tweet by Christophe Lalanne.

Instructor Hangouts, Landing this Friday

Tuesday, September 9th, 2014

Instructor Hangouts, Landing this Friday by Bill Mills.

From the post:

I’m pleased to announce that this Friday, 12 Sept, will be the first offering of a new twice-monthly event hosted by the Mozilla Science Lab: Instructor Hangouts.

There is a growing number of fantastic workshop-oriented software and data education programs out there to spool learners up on the ideas and skills we’d like to share. In our Instructor Hangouts, instructors from all these initiatives will be invited to share ideas, discuss skills and strategies, and most importantly, get to know one another. By being part of a diverse but federated community, we all stand to learn from each other’s experience.

Happening twice every other Friday, at 9 AM and 9 PM Pacific (UTC -8), I’ll be inviting instructors from Software Carpentry, Ladies Learning Code, rOpenSci, PyLadies, the School of Data, Code4Lib and more to spend an hour welcoming new instructors to our ranks, discussing lessons learned from recent workshops, and diving deep on all matters of instruction.


If you want to educate others, this is a perfect opportunity to sharpen your skills.

I first saw this in a tweet by Mozilla Science Lab.

Exploring Calculus with Julia

Wednesday, August 27th, 2014

Exploring Calculus with Julia

From the post:

This is a collection of notes for exploring calculus concepts with the Julia programming language. Such an approach is used in MTH 229 at the College of Staten Island.

These notes are broken into different sections, where most all sections have some self-grading questions at the end that allow you to test your knowledge of that material. The code should be copy-and-pasteable into a julia session. The code output is similar to what would be shown if evaluated in an IJulia cell, our recommended interface while learning julia.

The notes mostly follow topics of a standard first-semester calculus course after some background material is presented for learning julia within a mathematical framework.

Another example of pedagogical technique.

Semantic disconnects are legion and not hard to find. However, what criteria would you use to select a set to be solved using topic maps?

Or perhaps better, before mentioning topic maps, how would you solve them so that the solution works up to being a topic map?

Either digitally or even with pencil and paper?

Thinking that getting people to internalize the value-add of topic maps before investing effort into syntax, etc. could be a successful way to promote them.

Abstraction, intuition,…

Tuesday, August 26th, 2014

Abstraction, intuition, and the “monad tutorial fallacy” by Brent Yorgey.

From the post:

While working on an article for the Monad.Reader, I’ve had the opportunity to think about how people learn and gain intuition for abstraction, and the implications for pedagogy. The heart of the matter is that people begin with the concrete, and move to the abstract. Humans are very good at pattern recognition, so this is a natural progression. By examining concrete objects in detail, one begins to notice similarities and patterns, until one comes to understand on a more abstract, intuitive level. This is why it’s such good pedagogical practice to demonstrate examples of concepts you are trying to teach. It’s particularly important to note that this process doesn’t change even when one is presented with the abstraction up front! For example, when presented with a mathematical definition for the first time, most people (me included) don’t “get it” immediately: it is only after examining some specific instances of the definition, and working through the implications of the definition in detail, that one begins to appreciate the definition and gain an understanding of what it “really says.”

Unfortunately, there is a whole cottage industry of monad tutorials that get this wrong….

It isn’t often that you see a blog post from 2009 that is getting comments in 2014!

I take the post to be more about pedagogy than monads but there are plenty of pointers to monad tutorials in the comments.

Another post mentioned in the comments that you may find useful: Developing Your Intuition For Math by Kalid Azad.

What if you ran a presentation from back to front? Started with concrete examples of your solution in action in multiple cases. Explain the cases. Extract the common paths or patterns. Then run out of time before you can repeat what everyone already knows about the area? Would that work?

Software Carpentry: Lessons Learned

Monday, July 14th, 2014

Software Carpentry: Lessons Learned by Greg Wilson.

In paper Software Carpentry: lessons learned form.

I would suggest seeing the presentation and reading the paper.

Wilson says: Read How Learning Works

Relevant to how you impart information to your clients/customers.

BTW, the impact of computers on learning is negligible so stop the orders for tablets/iPads.

12 Steps For Teaching…

Thursday, February 13th, 2014

12 Steps For Teaching Your Next Programming Class on OpenShift by Katie Miller.

From the post:

The OpenShift Platform as a Service (PaaS) is a valuable resource for running tutorials on web programming, especially if you have a limited budget.

OpenShift abstracts away configuration headaches to help students create shareable applications quickly and easily, for free, using extensible open-source code – as I explained in a previous post.

In this blog post, I will draw on my personal workshop experiences to outline 12 steps for teaching your next programming class with OpenShift Online.

See Katie’s post for the details but as a sneak preview, the twelve steps are:

  1. Try Out OpenShift
  2. Choose Topic Areas
  3. Select Cartridges to Support Your Teaching Goals
  4. Develop a Work Flow
  5. Create and Publish Sample Code Base
  6. Write Workshop Instructions
  7. Determine Account Creation Strategy
  8. Prepare Environments
  9. Trial Workshop
  10. Recruit Helpers
  11. Run Workshop
  12. Share Results and Seek Feedback

An excellent resource for teaching the techie side of semantic integration.

Strategies for Effective Teaching…

Saturday, July 13th, 2013

Strategies for Effective Teaching: A Handbook for Teaching Assistants – University of Wisconsin – Madison College of Engineering.

From the foreword:

We help our students understand engineering concepts and go beyond the knowledge level to higher levels of thinking. We help them to apply, analyze, and synthesize, to create new knowledge, and solve new problems. So, too, as teachers, we need to recognize our challenge to go beyond knowledge about effective teaching. We need to apply these strategies, analyze what works, and take action to modify or synthesize our learnings to help our students learn in a way that works for us as individuals and teams of teachers.

The learning community consists of both students and teachers. Students benefit from effective teaching and learning strategies inside and outside the classroom. This Handbook focuses on teaching strategies you can use in the classroom to foster effective learning.

Helping students learn is our challenge as teachers. Identifying effective teaching strategies, therefore, is our challenge as we both assess the effectiveness of our current teaching style and consider innovative ways to improve our teaching to match our students’ learning styles.

I mention this as a resource for anyone who is trying to educate others, students, clients or a more general audience about topic maps.

Kids, programming, and doing more

Tuesday, January 8th, 2013

Kids, programming, and doing more by Greg Linden.

From the post:

I built Code Monster and Code Maven to get more kids interested in programming. Why is programming important?

Computers are a powerful tool. They let you do things that would be hard or impossible without them.

Trying to find a name that might be misspelled in a million names would take weeks to do by hand, but takes mere moments with a computer program. Computers can run calculations and transformations of data in seconds that would be impossible to do yourself in any amount of time. People can only keep about seven things in their mind at once; computers excel at looking at millions of pieces of data and discovering correlations in them.

Being able to fully use a computer requires programming. If you can program, you can do things others can’t. You can do things faster, you can do things that otherwise would be impossible. You are more powerful.

A reminder from Greg that our presentation of programming can make it “difficult” or “attractive.”

The latter requires more effort on our part but as he has demonstrated, it is possible.

Children (allegedly) being more flexible than adults, should be good candidates for attractive interfaces that use topic map principles.

So they become conditioned to options such as searching under different names for the same subjects. Or associations using different names appear as one association.

Topic map flexibility becomes their expectation rather than an exception to the rule.

The value of typing code

Tuesday, December 18th, 2012

The value of typing code by John D. Cook.

John points to a blog post by Tommy Nicholas that reads in part:

When Hunter S. Thompson was working as a copy boy at Time Magazine in 1959, he spent his spare time typing out the entire Great Gatsby by F. Scott Fitzgerald and A Farewell to Arms by Ernest Hemingway in order to better understand what it feels like to write a great book. To be able to feel the author’s turns in logic and storytelling weren’t possible from reading the books alone, you had to feel what it feels like to actually create the thing. And so I have found it to be with coding.

Thompson’s first book, Hell’s Angels: a strange and terrible saga was almost a bible to me in middle school, but I don’t know that he ever captured writing “a great book.” There or in subsequent books. Including the scene where he describes himself as clawing at the legs of Edmund Muskie before Muskie breaks down in tears. Funny, amusing, etc. but too period bound to be “great.”

On the other hand, as an instructional technique, what do you think about disabling cut-n-paste in a window so students have to re-type a topic map and perhaps add material to it at the same time?

Something beyond toy examples although with choices so students could pick one with enough interest for them to do the work.

MOOCs have exploded!

Monday, December 17th, 2012

MOOCs have exploded! by John Johnson.

From the post:

About a year and two months ago, Stanford University taught three classes online: Intro to Databases, Machine Learning, and Artificial Intelligence. I took two of those classes (I did not feel I had time to take Artificial Intelligence), and found them very valuable. The success of those programs led to the development of at least two companies in a new area of online education: Coursera and Udacity. In the meantime, other efforts have been started (I’m thinking mainly edX, but there are others as well), and now many universities are scrambling to take advantage of either the framework of these companies or other platforms.

Put simply, if you have not already, then you need to make the time to do some of these classes. Education is the most important investment you can make in yourself, and at this point there are hundreds of free online university-level classes in everything from the arts to statistics. If ever you wanted to expand your horizons, now’s the time.

John mentions that the courses require self-discipline. For enrollment of any size, that would be true of the person offering the course as well.

If you have taken one or more MOOCs, I am interested to hear your thoughts on teaching topic maps via a MOOC.

The syntaxes look amenable to the mini-test with automated grading style of testing. Could subject a topic map to parsing validity.

Would that be enough? As a mini-introduction to topic maps?

Saving in-depth discussion of semantics, identity and such for smaller settings?


Saturday, December 15th, 2012


From the homepage:

Rosalind is a platform for learning bioinformatics through problem solving.

Rather than teaching topic maps from the “basics” forward, what about teaching problems for which topic maps are a likely solution?

And introduce syntax/practices as solutions to particular issues?

Suggestions for problems?

Learn R by trying R

Friday, December 7th, 2012

Learn R by trying R by David Smith.

From the post:

If you are new to R, and want to get an introduction to the R language, in the classic “learning by doing way”, Code school and O’Reilly have put together the Try R interactive tutorial.

This tutorial is a painless introduction to the R programming language. During the course you’ll become familiar with using vectors, matrices, factors, and data frames to manipulate data into powerful visualizations.

How would you translate this concept into a means of teaching topic maps?

As an online and responsive interface?

What would you choose as the domain for the topic map?

Or perhaps better, what trend indicators would you watch so you could pick something of broad current interest?

Would you change it seasonally?

Code Maven and programming for teens [TMs for pre-teens/teens?]

Sunday, November 25th, 2012

Code Maven and programming for teens by Greg Linden.

From the post:

I recently launched Code Maven from Crunchzilla. It helps teens learn a little about what they can do if they learn more about programming.

A lot of teens are curious about programming these days, but don’t end up doing any. And, it’s true, if you are a teen who wants to learn programming, you either have to use tutorials, books, and classes made for adults (which have a heavy focus on syntax and are slow to let you do anything) or high level tools that let you build games but teach a specialized programming language you can’t use anywhere else. Maybe something else might be useful to help more teens get started and get interested.

Code Maven lets teens learn a little about how to program, starting with basic concepts such as loops then rapidly getting into fractals, animation, physics, and games. In every lesson, all the code is there — in some cases, a complete physics engine with gravity, frame rate, friction, and other code you can modify — and it is all live Javascript, so the impact of any change is immediate. It’s a fun way to explore what programming can do.

Code Maven is a curious blend of a game and a tutorial. Like a tutorial, it’s step-by-step, and there’s not-too-big, not-too-small challenges at each step. Like a game, it’s fun, addictive, and experimentation can yield exciting (and often very cool) results. I hope you and your friends like it. Please try Code Maven, tell your friends about it, and, if you have suggestions or feedback, please e-mail me at

Greg is also responsible for Code Monster, appropriate for introducing programming to kids 9-14. Code Maven, teens, 13-18 plus adults.

Curious if you know of other projects of this type?

Suspect it is effective in part because of the immediate feedback. Not to mention effective authoring/creation of the interface!

Something you should share with others.

Reminds me of the reason OS vendors almost give away academic software. If a student knows “your” system and not another, which one has the easier learning curve when they leave school?

What does that suggest to you about promoting a semantic technology like topic maps?

Experiential Learning: Context and Connections for Legal Research

Friday, November 16th, 2012

Experiential Learning: Context and Connections for Legal Research – A Case Study by Cindy Guyer.


The ABA requires that all law students receive “substantial instruction” in legal research. This article discusses a unique legal research program that meets this requirement by focusing on experiential learning. Two components of experiential learning, context and connections, are explained pedagogically and specifically as to legal research curriculum.

Not a case study about teaching topic maps but at least one that I can relate to from being taught legal research, albeit before the WWW. 😉

The challenges faced by the author and her colleagues will ring true for anyone teaching at university level.

I suspect the lessons learned here are applicable more generally to teaching graduate students. Or at least that is my working premise. I am going to construct a course outline on topic maps with these and other lessons in mind.

I first saw this at Legal Informatics.

Hash Tables: Introduction

Saturday, July 7th, 2012

Hash Tables: Introduction

Randy Gaul has written a nice introduction to hash tables, in part to learn about hash tables.

In the next iteration of the topic maps course, I should have only a topic map (no papers) as the main project. Require draft maps to be posted on a weekly basis.

So that design choices can be made, discussed and debated as the map develop.

So that the students are teaching each other about the domains they have chosen as they are constructing their maps.

Printable, Math and Physics Flash Cards

Wednesday, May 30th, 2012

Printable, Math and Physics Flash Cards by Jason Underdown.

From the introduction:

Click on the links below to download PDF files containing double-sided flash cards suitable for printing on common business card printer paper. If you don’t have or don’t want to buy special business card paper, I have also included versions which include a grid. You can use scissors or a paper cutter to create your cards.

The definitions and theorems of mathematics constitute the body of the discipline. To become conversant in mathematics, you simply must become so familiar with certain concepts and facts that you can recall them without thought. Making these flash cards has been a great help in getting me closer to that point. I hope they help you too. If you find any errors please contact me at the email address below.

Some of the decks are works in progress and thus incomplete, but if you know how to use LaTeX, the source files are also provided, so you can add your own flash cards. If you do create new flash cards, please share them back with me. You can contact me at the address below. Special thanks to Andrew Budge who created the “flashcards” LaTeX class which handles the formatting details.

Quite delightful!

What areas do you think are missing for IR, statistics, search?

As a markup hand, XML, XSLT, XPath 2.0 spring to mind.

I suspect you would learn as much about an area authoring cards as you will from using them.

If you make a set, please post and send a note.

First seen in Christophe Lalanne’s Bag of Tweets for May 2012.

The Best Way to Learn – The Worst Way to Teach

Thursday, March 29th, 2012

The Best Way to LearnThe Worst Way to Teach are a pair of columns by David Bressoud (DeWitt Wallace Professor of Mathematics at Macalester College in St. Paul, Minnesota, and Past-President of the Mathematical Association of America).

I discovered the references to these columns at the Mathematics for Computer Science page, listed under further readings.

Bressoud advocates use of IBL (Inquiry Based Learning), quoting the following definition for it:

Boiled down to its essence IBL is a teaching method that engages students in sense-making activities. Students are given tasks requiring them to solve problems, conjecture, experiment, explore, create, and communicate… all those wonderful skills and habits of mind that Mathematicians engage in regularly. Rather than showing facts or a clear, smooth path to a solution, the instructor guides students via well-crafted problems through an adventure in mathematical discovery.

I want to draw you attention to: “…the instructor guides students via well-crafted problems through an adventure….

I “get” the adventure part and agree the “well-crafted problems” would be the key to using this method to teach topic maps.

But, the creation of “well-crafted problems,” I could use some suggestions. I have fallen out of the practice of asking questions about some of the resources, but those aren’t really “well-crafted problems.” I think those would be more along the lines of having one or more plausible topic map solutions. That students could discover for themselves.

The Academy if Inquiry Based Learning has a number of resources, including: What is IBL?, the source of the quote on IBL.

Looking forward to your suggestions and comments on using IBL for the teaching of topic maps!

Instruction Delivery

Tuesday, February 28th, 2012

It may just the materials I have encountered but here is how I would rate (highest to lowest) instruction delivery using the following methods:

  1. Interactive lecture/presentation
  2. Non-interactive lecture/presentation (think recorded CS lectures)
  3. Short non-interactive lectures plus online quizzes
  4. Webinars

I am not sure where pod/screencasts would fit into that ranking, probably between #2 and #3.

I suspect my feelings about webinars are colored by the appearance of corporate apparatchiks and fairly shallow technical content of those I have encountered.

Not all, some are quite good but that is like observing that PBS has good programming in apology for the 500 channels of trash on the local cable TV.

So it isn’t too narrow a question, what stands out for you as the most successful learning experiences you have had? What components or techniques seemed to make it so?

Can’t promise I will have the skill or talent to follow some or all of your suggestions but I am truly interested in what might make a successful learning experience. It will be for a fairly unique audience but every audience is unique in some way.

Any and all suggestions are deeply appreciated!

PS: And yes, to narrow the question or present the opportunity for more criticism, I will be venturing into the video realm in the near future.

Teaching is about conveying a way of thinking

Monday, January 2nd, 2012

Teaching is about conveying a way of thinking by Jon Udell.

From the post:

As I build out the elmcity network, launching calendar hubs in towns and cities around the country, I’ve been gathering examples of excellent web thinking. In Ann Arbor’s public schools are thinking like the web I noted that the schools in that town — and most particularly the Slauson Middle School — are Doing It Right with respect to online calendars. How, I wondered, does that happen? How does a middle school figure out a solution that eludes most universities, theaters, city governments, nightclubs, museums, and other organizations with calendars of interest to the public?

[The Slauson Middle School principal, Chris Curtis, replied to Udell.]

I agree with the notion that the basic principles of computer science should be generalized more broadly across the curriculum. In many ways, teaching computer and technology skills courses absent a meaningful application of them is ineffective and silly. We wouldn’t teach driver’s education and not let students drive. We don’t teach a “pencil skills class” in which we learn the skills for using this technology tool without an immediate opportunity to apply the skills and then begin to consider and explore the many ways that the pencil and writing change how we organize, perceive, and interact with our world.

I really like the “pencils skills class” example, even though I can think of several readers who may say it applies to some of my writing. 😉 And they are probably right, at least in part. I have a definite preference for the theoretical side of things.

To usefully combine theory with praxis is the act of teaching.

Computer Science Teachers Association

Sunday, October 30th, 2011

Computer Science Teachers Association

From the website:

The Computer Science Teachers Association is a membership organization that supports and promotes the teaching of computer science and other computing disciplines. CSTA provides opportunities for K-12 teachers and students to better understand the computing disciplines and to more successfully prepare themselves to teach and learn.

I suspect that the issues that face teachers in more formal classroom settings are largely the same ones that face us when we try to teach topic maps to users. As a matter of fact, other than being age/gender/culture adaptations, I would venture to say that the basic teaching techniques remain largely the same over a lifetime.

I can remember very enthusiastic teachers who had great examples that got kids (myself included) interested in literature, math, science, etc., and I can remember those who were putting in the hours until the end of the school day. I saw the same techniques, with some dressing up because we become more “serious” the older we get (allegedly) in college and a couple of rounds of graduate school.

Not that we have to make silly techniques to teach topic maps but having a few of those isn’t going to hurt anyone or detract from the “gravitas” of the paradigm.

BTW, the price is right for the Computer Science Teachers Association, it’s free! Who knows? You might learn something and perhaps get better at learning with others (what else would teaching be?).