here is a description of what students do in class that causes them problems. It is all about variables.
M150 taught students using a natural language approach. Students taught to structure their program by doing a list and converting that into a program. We don't do that. We tell them what to do and then it is up to them to do it. We don't provide an intermediate scaffolding stage. Some students end up answering the assignment questions more by trial and error than by logically developing a program so that when they finish, they have something that more or less answers the question but they don't understand why it answers the question.
Students run into problems understanding syntax
Students have problems with assignment, declaring a variable, typed variables, variable redundancy
Students have difficulties separating appearance and behaviour. Also some of the terminology seems confusing - you have costumes on sprites and costumes on a stage.
Decision making, Iteration, Appropriate loops (if-then-else), Conditions (starting and stopping)
Students struggle to understand the maths involved in variables
Students struggle with the concept of broadcasting. They seem to miss the point that broadcasting is linked to objects.
Students have problems finding errors in their code.
Students sometimes want to jump right in and cut code rather than take the time to design the logic first.
- Planning as a process (test and debug)
- Designing Code
- Building up from rules
- Refining Plan