Propositional logic and PCT

Hi Eetu,

I’m very glad to find more education researchers in this forum. The original thread shifted gears a bit, so subjects are somewhat entangled.

I asked about PCT studies on propositional logic, but I didn’t give more details about what I am doing. I designed a browser-based programming language and environment for teaching computing principles to undergraduate graphic design students. Its original framework is mostly constructivist-constructionist, like many similar environments for beginners (NetLogo, Scratch, Snap!, etc.). I’ll present its current status on the forthcoming IAPCT Conference.

The syllabus is based on CSTA recommendations (and on the equivalent Brazilian association), starting the teaching program around computing principles (Denning’s), then moving to a Scratch-like programming approach: primitives, sequences, loops, variables, operators, and so on. The environment has two modes which use the same programming language: a maze mode and a free drawing mode. Students first learn how to control a rocket to collect stars while avoiding obstacles (it’s called “RocketSocket”), then they apply the same logic to program typical graphic design outputs - logos, posters, icons, illustrations, social media posts. The course works fine, my students enjoy using the environment, but I’m trying to build a model of the learning process and of the learner. I have collected thousands of problem-solving and drawing activities, including different snapshots of the evolution of the same source code from each student.

My goal is to model the Scratch-like approach using PCT, evaluating the learning process from the identification and use of primitives, then the composition of sequences of instructions, loops, and procedures, all the way up to algorithms. PCT’s hierarchical structure seems more powerful than my previous background to describe both the reorganization of the student’s cognitive processes during learning (hence my search for propositional logic studies), and the broad classroom environment, which must include student cooperation and direct instruction. My last comment about teaching concerns this last part of the research.

Even though Richard’s model isn’t exactly what I’m looking for, it does help me think how specific aspects of the learning process could be modeled. For instance, there are lots of code remixing and reuse going on, for a student needs to understand what the running code from somebody else is doing before copying and using it. The same could apply to my example source code and tutorials.

Regards,
Hugo

Hi Hugo

Your programming course sounds great. Do you offer an on line version?

I would recommend against using my “model” (it’s actually just a demonstration of program control) as a basis for developing a model of learning to program. My model really has nothing to do with writing computer programs; it is just meant to illustrate what is meant by control of a program perception.

The process of creating a program probably involves some imagining of the program that is carried out by the instructions you write. But it seems to me that the process of programming itself is not an example control of a program. Programming seems to involves control of many different types of perceptions, some of which may, indeed, be program perceptions.

I think before you can create a model of how programming is learned you have to figure out, by test or intuition, what types of perceptual variables are being controlled when a skilled programmer creates a program. Perhaps this could be done using an interview technique along the lines of MOL. Ask a skilled programmer to create a simple program but one that would have to involve the use of many basic features of the programming language. Then ask them to describe what they are doing as they produce the program. At points where there are pauses or silences the interviewer would ask “what were you thinking just now.” Record the interview so that you can see what kind of perceptions they seem to be controlling at each point in the process (or throughout the whole process, like controlling for a principle like “elegance”).

It would be interesting to see what you learn from this. But I do think that you have to have a good idea of what a programming student has to learn – what perceptual variables that have to learn to control – before you can create a model of learning to program.

Best, Rick

Hi Rick

Not yet. It’s an undergraduate course taught in Brazilian Portuguese. The environment interface and the programming language syntax are also written in our idiom to help students which may not know how to read English. I’m planning to add translations next year.

I didn’t argue your program demo is a model of learning. For me, it’s a nice example of PCT models in general, just like the studies found at your Mind Readings book. I’ve been working with mathematical and agent-based modeling for a while, and I did learn a lot by studying other models and modeling processes.

This is a very interesting suggestion, thank you. It reminds me classical studies on problem solving which used think aloud protocols. Maybe it could be done with students which already mastered the language at the end of the term. I’ll check Tim Carey’s MOL book to know more.

Regards,
Hugo

Hi Hugo

Another approach is to use a task analysis process like the one I developed for evaluating what ground controllers are doing when they control satellites. The process is called PERCOLATe (PERceptual COntroL Analysis of Tasks) and it’s described in this paper, which is also re-printed in my book MORE MIND READINGS.

Good luck on the model. I look forward to seeing what you produce.

Best, Rick

1 Like

Thanks!