Abstract
Computational thinking is considered critical for learning to code in K-12 education standards. The logic-first, syntax-later argument has been instrumental in promoting block-based languages such as Snap! and Scratch with limited success. In contrast, we believe that expressing the logic of computational problems in the student's language is more convenient and natural. In such an environment, learners will experience the least impedance mismatch between their conceptual view and the target code they write. In this paper, a new natural language-based programming system, called TryPL (Try Programming in Logic), is introduced and discussed. We demonstrate that TryPL helps to identify gaps in logic and assists in validating learners' mental models of abstract algorithms. An argument is also made as to why using a natural language-based programming environment and a learning model to teach computational thinking could be more effective and appealing to K-12 and first-year college students.