Join us for a CSP Webinar on Teaching with Pseudocode
January 26, 2016 at 7:51 am 10 comments
Should be interesting — see if you can guess where each of us sits on the Pseudocode question tonight.
Computer Science Principles (CSP) is a programming language agnostic course. CSP aims to teach students the fundamentals of programming and the process involved in building algorithms and solving problems. Pseudocode and flow charts are two common tools, but how useful are they? How best should they be used in a CSP high school classroom?
Come and listen to Deepa Muralidhar (our webinar host) and the following experts discuss these questions during our next CSPwebinar on Tuesday, January 26 at 4:30pm PT/7:30pm ET:
- Dan Garcia – Professor, UC Berkeley
- Mark Guzdial – Professor, School of Interactive Computing, Georgia Tech
- Jill Westerlund – CS Principles Teacher, Hoover High School, Alabama
To join via Adobe Connect, go to http://air.adobeconnect.com/pseudocode/. Or call in at +1-8667678829.
Entry filed under: Uncategorized. Tags: CS Principles, teachers.
1.
Cyril Pruszko | January 26, 2016 at 9:44 am
You should check out LiveCode. It’s commands are English-like (pseudocode?) and it is a scripting language that compiles to all major platforms (PC,Mac,Linux,iOS,Android,HTML). It is free (Community version) and in wide use worldwide. It is simple to learn yet powerful and full featured. Many of the top apps in the Apple Store have been written in it.
I have used for a few years now and the computer science enrollment has grown immensely. We start out programming games and apps, then move on to more serious programming (AI, big data, data structures, etc). Surprisingly, very few are left behind. Even better, the enrollment of girls in upper level courses (AP, etc) is now between 25-50%.
LiveCode allows the teaching of concepts, not syntax. The programs read as you would speak it to a non-programmer.I find that the students then do much better in other languages (Python, Java,etc) later on. I have seen many positive skills and habits transfer forward to those languages.
It allows me to teach computer science principles and programming together through the common element of pseudocode. Speak, write, then run. The students learn while producing real, working programs.
LiveCode is the hook and It is at least a plus on the side of teaching pseudocode early on.
2.
Mark Guzdial | January 26, 2016 at 9:50 am
My dissertation work was in HyperCard (see paper here), Cyril, and I built commercial applications in SuperCard. I’ve been using LiveCode since it was RunRev. I agree that it’s a powerful language well-suited to introductory computer science.
But the benefits don’t have anything to do with pseudocode. Livecode is not a pseudocode. And I’m going to argue tonight that it’s not effective to teach introductory students with pseudocode.
3.
Cyril pruszko | January 26, 2016 at 10:28 am
I agree with you about not teaching with pseudocode itself but I disagree that LiveCode is not pseudocode.
Pseudocode is a high level description of the program or algorithm. In early programs that students do, LiveCode is pseudocode. It writes the way the students talk. It is very English-like and easy to read and understand. That makes it more like pseudocode than a programming language.
Why do you say it isn’t? Do we have different definitions of pseudocode?
4.
Mark Guzdial | January 26, 2016 at 12:37 pm
Yes, we have slightly different definitions of pseudocode. Pseudocode is not executable — see https://en.wikipedia.org/wiki/Pseudocode. Once it becomes executable, it’s an English-like programming language.
5.
Dan Lessner | January 26, 2016 at 12:23 pm
Mark, will it be available later? I would like to know what do you have to say, but I am on the other half of the globe (with all my colleagues).
Thanks!
6.
Mark Guzdial | January 26, 2016 at 12:39 pm
I think it is going to be recorded — recordings from past webinars in this series are available (see https://cs10kcommunity.org/event/4064).
7.
Sarah | January 27, 2016 at 12:34 pm
+1…I couldn’t make it to the webinar, but am very interested in the discussion on this. It would be great to post the recording!
8.
Mark Guzdial | January 27, 2016 at 7:19 pm
Here’s the recording: http://air.adobeconnect.com/p9m0s5g4fzq/
9.
Dan Lessner | January 28, 2016 at 4:32 am
Wonderful, thanks!
10.
Peter Donaldson | January 28, 2016 at 6:01 pm
I’m looking forward to watching the recording of the session particularly as we tried to grapple with the issue of pseudocode in exams in our recently published paper “Code or (not Code) – Separating Formal and Natural
Language in CS Education”. One of the major difficulties we found was that the term pseudocode is overloaded with two different distinct uses.
1. As an informal way of describing an algorithm at the level of intent to help clarify someone’s thinking when designing code.
2. As a precise reference language for describing computational techniques in various textbooks or in exams where detailed understanding of a specific language can’t be assumed.
One of the outcomes from this work was a formally defined reference language called Haggis which our national exam board, the SQA, now uses for code snippets in code comprehension questions for all CS exams at National 5, Higher and Advanced Higher (the last three years of high school).
Details of the reference language can be found on the Higher Computing Science and Advanced Higher Computing Science pages at http://www.SQA.org.uk . The language has a wide range of constructs and was designed for ease of reading rather than economy of expression.