Solving Programming Problems

  • Organize the problem with a diagram: invent your own representations. It could be a mathematical structure: graph, network, lattice, matrix, number line, geometrical figure, etc.
  • Zoom in, zoom out
    • Work on parts, always keeping an eye on the whole. See how changes in part affect the whole.
  • Learn Computational Abstractions. “Explanation Based Learning (EBL)” – once you design an abstraction that might prove useful in other problems, generalize and learn it.
    • Control Abstractions
      • Iteration
      • Recursion
      • Recursive Backtracking
    • Data Structures
    • Algorithms
  • Once a problem is solved, look back and learn new strategies, tools, techniques. Ask questions. Generalize.
  • Learn common mistakes. Avoid them. Develop Test cases that break the code.
  • Speed up.
    • Typing speed.
    • IDE.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s