Applications Of Out-Of-Domain Knowledge In Students' Reasoning About Computer Program State