Posts Tagged ‘programming’

To be honest, I wasn’t very satisfied with the way class my programming class went today. I’m understanding the material fairly well, but I felt like a lot of the students weren’t connecting with it.  I think part of that is because they’re still trying to catch up on some of the earlier fundamentals in the course.  The other part is I feel I was lecturing too much, and that I should have had them do more hands on activities today, but that would have been challenging too, given that a chunk of students are still trying to catch up on the basic concepts I just mentioned.

Today we reviewed some of the questions from last Monday’s exam, particularly those dealing with subroutines, bundles of computer code that can be reused by given them different inputs (for example add these three numbers, where the three numbers input into the program can change each time you run it. We looked at ways you can use a return keyword to take the results of these small programs and store them in containers of different types (i.e. simple variables like strings of characters, or more complicated variables like lists of items).  We talked about how we can use our understanding of lists to process the inputs to these basic subroutine programs (i.e., by assigning list items to their own containers (variables) based on their position or by using foreach loops to perform activities like mathematical calculations on all of the inputs regardless of how many there are or in what order they’re input.  We can also use these basic subroutines to print output onto the user’s screen.

We also discussed the idea of global vs. local containers (i.e., variables that can be accessed across multiple subroutine programs or vs. only accessible within a specific subroutine) and how using the keyword my can be useful here.  I also explained how the Perl programming language handles global vs. local variables in different ways than more “modern” programming languages.


Read Full Post »

I think it’s out of pedagogical interest rather than a nascent love for programming that I’m sharing another tool for teaching programming. This one, DrawBot (Mac OS X) starts with visual experiments (a reversal from the introductory programming courses I took which focused on text-based activities first before moving into graphical interface activities).  According to the software home page,

“DrawBot is an ideal tool to teach the basics of programming. Students get colorful graphic treats while getting familiar with variables, conditional statements, functions and what have you.”

I’ve been reading some works by phenomenologists like Heidegger lately, and I’m starting to think perhaps much of our pedigogical approach to teaching technical skills focuses too much on abstractions and not enough on rich experiences. If expertise can be developed in some cases through experience and feedback without abstraction perhaps there’s a way I can change my approach in the classroom.

Read Full Post »

image of programming building blocks from Scratch program

I came across some research out of MIT recently featuring an innovative approach to teaching programming to children (ages 8 and up).  One of the products they’ve produced is a application called Scratch. Using this tool, the user fits lego-block like programming modules together to manipulate graphics, sounds, and video on the screen.  The emphasis of the application is on helping children understand and get used to working with programming concepts such as logical structures (i.e, if statements, for-loops), screen coordinates, objects, etc.  without having to worry about syntax. I downloaded the program the other day onto my home computer and showed it to my seven- and five-year old boys.  We were learning how to use the tool together, when after about five minutes, I realized my seven-year old was picking things up faster than I was.  My five-year old also enjoys playing with it and is asking for father-son time so I can teach him to use it.  As a geek, I’m naturally thrilled. As an educator, I’m intrigued by the implications of how this will help children develop math and logic skills, and as a father, I’m thrilled for another way to spend time productively with my children.

In my undergraduate program, I remember that the programming courses were something of a barrier for business students who were interested in information systems, but did not have any background in programming. Perhaps tools like this could be useful on the college level as well.

Read Full Post »