Misconceptions about Learning to Code

As each school year comes to an end it is important to reflect and ensure you focus on improving the learning environment in September.

The ACSE 2019 Conference was another excellent event with our keynote by Michelle Craig and the Mistakes Novices Make Tales from the CS1 Trenches by Jacqueline Smith.

thinking person

I decided to take a crack at the common mistakes or misconceptions I observed in my classroom this year.

Misconceptions

  • statement execution order is not important
    • understanding control flow – selection (if statements), loops, function/method invocation
      • Correction – typically top to bottom or event driven, control flow is managed by the language elements (loops, stacks – function/method calls) or OO infrastructure
  • variables – data type and mutation is not important
    • store as many items or any data type in a single variable
      • Correction – data types are important to ensure proper semantics, complex data structures must be well designed and managed within algorithms
  • modularity – well defined interfaces are not important
    • print is the same as return
      • Correction – print is for display purposes and return defines the goal of the function/method
    • availability of data structures and algorithms is not important
      • Correction – data structures and algorithms have a well defined scope to improve code quality and improve reusability
  • syntax vs semantics
    • all of the elements of a statement are equivalent
      • Correction – parts of a statement are reserved (part of the language) and some are user-defined

Leave a Reply

Your email address will not be published. Required fields are marked *