Open Access Open Access  Restricted Access Subscription Access
Open Access Open Access Open Access  Restricted Access Restricted Access Subscription Access

Coding to Think:Teaching Algorithmic Thinking from Idea to Code


Affiliations
1 Bucknell University, 377 Breakiron Engineering Building Lewisburg, PA 17837, United States
     

   Subscribe/Renew Journal


Engineering computing is a topic that nearly all engineering departments include in their curricula. Yet, the pedagogical goals of a computing course are necessarily split between code as a means of learning higher level math, code as a specific tool in design and research, and code as a way to learn algorithmic thinking. Learning more advanced applied math is typically learned through the traditional lecture/homework/test format, whereas learning the syntax of a particular language is most often taught through short programming assignments. This paper introduces Coding to Think as a way to teach algorithmic thinking that builds off of the Writing to Think movement in the Humanities. This technique is very well suited to long-term proj ects as it provides an opportunity to focus on deeper and more complex algorithmic thinking. The semester-long project presented is motivated by three guiding learning outcomes: 1) To program at a level of complexity that requires planning, iteration, encapsulation and documentation, 2) To move from Idea to Code (a phrase that is mentioned in class at least once a week) and 3) To articulate and put into practice the power of a computing language that can do more than a calculator or Excel. The seven project assignments that lead students from an initial idea to final code are detailed, as well as an assessment of outcomes, student and faculty comments, suggested improvements and adaptations and ABET assessment measures.

Keywords

Project Based Learning, Computational Instruction, Introductory Programming.
Subscription Login to verify subscription
User
Notifications
Font Size


Abstract Views: 204

PDF Views: 0




  • Coding to Think:Teaching Algorithmic Thinking from Idea to Code

Abstract Views: 204  |  PDF Views: 0

Authors

Joe Tranquillo
Bucknell University, 377 Breakiron Engineering Building Lewisburg, PA 17837, United States

Abstract


Engineering computing is a topic that nearly all engineering departments include in their curricula. Yet, the pedagogical goals of a computing course are necessarily split between code as a means of learning higher level math, code as a specific tool in design and research, and code as a way to learn algorithmic thinking. Learning more advanced applied math is typically learned through the traditional lecture/homework/test format, whereas learning the syntax of a particular language is most often taught through short programming assignments. This paper introduces Coding to Think as a way to teach algorithmic thinking that builds off of the Writing to Think movement in the Humanities. This technique is very well suited to long-term proj ects as it provides an opportunity to focus on deeper and more complex algorithmic thinking. The semester-long project presented is motivated by three guiding learning outcomes: 1) To program at a level of complexity that requires planning, iteration, encapsulation and documentation, 2) To move from Idea to Code (a phrase that is mentioned in class at least once a week) and 3) To articulate and put into practice the power of a computing language that can do more than a calculator or Excel. The seven project assignments that lead students from an initial idea to final code are detailed, as well as an assessment of outcomes, student and faculty comments, suggested improvements and adaptations and ABET assessment measures.

Keywords


Project Based Learning, Computational Instruction, Introductory Programming.