MOOC Lecture 1: Introduction to Programming

As I mentioned in my previous post, I am participating in the Mechanical MOOC, A Gentle Introduction to Python.  The course doesn’t start until Monday, but we did receive some “warm-up” work, including the following video.  Below are my “lecture notes.”

Lecturer: John Guttag
Lecture and PPT available at

    • Course Goals
      • Prepare students for further computer science courses
      • Give students confidence working with code
      • Use computation to get insight into problems
      • Ultimate goal: how to get the computer to do what you want it to do
    • 2 kinds of knowledge
      • Declarative knowledge: statements of fact.  Doesn’t tell you how to do it
      • Imperative knowledge: how to accomplish something.  Think of it as a recipe.
        • Approximation algorithms: can’t find the exact answer to the problem, but find a good enough answer
          • Algorithm: description of how to perform a computation
          • Converged= halted instructions
          • Flow of control
          • Termination condition: when to stop
      • How to make a “recipe” mechanical
        • Fixed program computers: designed specific things, such as only solving linear equations.
        • Stored program computer: instructions are the same as data.  No difference between data and the steps of the algorithm. There is only one kind of Memory. Made computers what they are today.
        • Interpreter: program that executes instructions.
        • Only a few instructions needed.  Combine instructions to do complex things.  6 primitive instructions identified by Alan Turing.
      • Programming languages
        • Provide set of instructions and set of control structures and mechanisms
        • Distinction between languages is instructions, flow of control, and combining mechanisms. Combining mechanisms are main difference
        • Computer will do exactly what you tell it to do.  if it doesn’t do what you want, it is your fault for not telling it do the right thing
        • Python: Learn to program in python, easy to learn other languages
        • Programming languages include…
          • Syntax: “which sequences of characters and symbols constitute a well-formed string.”
          • Static semantics: “which well-formed strings have a meaning”. For example, in English a sentence may be well-formed but the sentence may have no meaning.
          • Semantics: “meaning is”
            • Only strings that are both syntactically and static semantically correct.
            • No ambiguity.  Only has 1 meaning.  However program might create a meaning that you didn’t mean it to create. If programs create meaning other than what you intended, it might…
              • Crash
              • Won’t stop.  Good idea to know how long program should run so that you recognize this
              • run to conclusion but create the wrong answer.  Worst case because you might not know it is the wrong answer.   Course will cover how to avoid this.

Leave a comment

Filed under Uncategorized


If you work in higher education, you have probably heard the term MOOC (moo-k). MOOC stands for Massive Open Online Course.  I think the meaning is pretty clear if you consider each term, in reverse order.

  • Course: Semester-long college-level course including (video) lectures, readings, and assignments.
  • Open: The course is free to complete and all materials are freely available.
  • Online: All materials are available online; video of lectures are online; assignments are submitted online; class discussions are online.
  • Massive: Large number of people are participating.  Hundreds or thousands.
Every letter in MOOC is negotiable

Click to view larger image.

Several prestigious universities, such as MIT, Harvard, UC Berkley, and University of Texas at Austin.  At posting, most MOOCs do not provide college credit, however several award certificates.  This does appears to be changing.  For a fee, Coursera will award college credit for certain courses.  However, there is no guarantee that a school will accept the credit.

MOOC is a very young concept and is still in early development.  What impact it will have on higher education is yet to be seen.  Will MOOCs “kill” traditional universities?  I don’t think so.  Their very existence is a result of the fact that higher education is evolving to educate 21st century students.  Note that I said 21st century students, different models will likely emerge for 22nd century students.  It seems likely that MOOCs will be 1 avenue for students, but I do not think it should replace all courses.  A good education should include some small classes where students and instructors are able to actively engage and know each other.

Of course, there is a Wikipedia article on MOOCs, which includes links for further reading.

I’m a hands on learner, so I figure the best way to learn about MOOCs is to participate in one.  Next week, I start the Mechanical MOOC – A Gentle Introduction to Python.  I was feeling a little intimated, but I watched the first lecture and am feeling more confident in my ability to do the work.  Hopefully, I will have the time too.


Filed under Education, Higher Education, MOOCs

Passport Explorer

Studio by Purdue University recently announced Passport, a badge-based learning system.  With Passport, an instructor can create and define badges and track student progress.  Students earn badges by completing challenges that include various tasks.  Passport works with Mozilla’s Open Badge Backpack  so students are able to easily store and display their badges.

I am very happy to announce that I was selected as a beta instructor.  As of posting, Purdue is still accepting applications for beta instructors.  As a beta instructor, you also have the opportunity to earn badges.  Check out my Passport badges at  In fact, the only documentation on how to use Passport as a learner or instructor exists within the “Getting Started with Passport” and “Getting Started with Passport as an Instructor” challenges.

However, I didn’t feel like an actual ‘Passport Agent’ until I created a badge myself.  Passport Explorer is a very simple badge, but it did give me a chance to further explore Passport.  The system is pretty straight forward and easy to use.

A new challenge starts with the details.

Passport Add Challenge screen

Next, you design the badge.  This is the fun part.  Or you can upload your own badge.

Passport add badge screen

Passport’s Badge Creator provides a large variety of styles to select from.  You also have the option to select the style (border) color.  The following selections illustrate the diversity of styles.

Passport - circle stylePassport - Badge - mustache Passport - Badge - splash Passport - Badge - seal style Sample passport badge style

There are only 4 fills, but you can change the color or upload your own image. I am thinking that if you want to use your own icon, this might be the place to do it.

Passport Badge Creator: Fill

Select an icon and a color for the icon.  I don’t see a way to add your own icon at this point.

Passport Badge Creator: Select an Icon

The final task of badge design is to add text.  In one of the rare instances in which this beta version acts buggy, I was unable to add text to this badge.

After clicking Create Badge, you will add tasks to your challenge.  At this point, you will not be able to edit the badge design.

Passport: Add tasks

Enter the task details.

Passport task details

Add as many tasks as you like.

Passport: add more tasks

The final step is to publish the challenge.  Note that “after publishing a challenge, you will no longer be able to modify the badge, or add new tasks.”  You will be able to edit tasks and badge details.

Passport - Publish Challenge

So far, I’ve very pleased with Passport.  I have encountered a couple of bugs, but these resolved themselves.   I actually created the Passport Explorer challenge entirely from my generation 1 iPad.

Passport is working well in beta, but there are some features that I hope will appear in future updates.

  • Allow students to see what other students have submitted and to comment on.
  • Allow students to award certain badges to other participants.
  • Specify a particular color during badge creation (hex value, RGB, and/or HSL).
  • Allow instructors to create student accounts.

I’m developing some challenges to pilot with students in the Spring.  Please let me know if you are willing to beta test my pilot.  The process of publishing went smoothly, but I still don’t know how it will work with actual students.

You also might be interested in my post on Open Badges in Information Literacy.

Leave a comment

Filed under Education

New Blog


My current blog at started as an information literacy blog but evolved into a journal of my professional development activities.  Since this new blog was born out of my obsession with lifelong learning, I am calling it Chronicles of an Info Junkie.  Chronicles of an Info Junkie is actually a result of my current interest in badging and its potential in education. This interest led me to P2PU.  This new blog was created in response to a P2PU Webcraft challenge.


Filed under Uncategorized

Hello world!

Welcome to! This is your very first post. Click the Edit link to modify or delete it, or start a new post. If you like, use this post to tell readers why you started this blog and what you plan to do with it.

Happy blogging!

1 Comment

Filed under Uncategorized