Programming Problem Solving Handbook

Early working draft
  1. Programming Problem Solving Ability

    1. Programming Problem = A problem that is solved by writing/modifying a program and executing it
    2. Write, read and modify a program
    3. Programs are considered a means to an end. If producing a program is the aim, then other models of software development that might be more appropriate.
    4. It requires also managing motivation, emotional skills, self-directed and self-regulated learning.
  2. Scaffolding for novices

    1. Solving programming problems
    2. Audience - Novices, such as:
      1. Computer Science major
      2. End-user programmers (like a computational scientist or journalist)
      3. Coding bootcamp students
      4. CS150
    3. Most common mistakes
      1. Programming by debugging / Programming by coincidence / Garage programming
      2. Copy-paste programming
    4. Possible to perform Freestyle Programming with Timeout before applying the model
  3. Prerequisites

    1. Computer competencies
    2. Proficiency in the programming language
    3. Notional Machines
  4. The model is an adaption for programming of the four principles of problem solving from Pólya's Book How to Solve It:

    1. First, you have to understand the problem.
    2. After understanding, make a plan.
    3. Carry out the plan.
    4. Look back on your work. How could it be better?
  5. This is a handbook, and not a textbook. In other words, it is designed to serve as a succinct summary of the ideas behind programming problem solving. It is intended to accompany the learners in a course or a workshop.



Copyright © 2020 Shlomi Hod.
All rights reserved.

results matching ""

    No results matching ""