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.
References
- Astrachan O. (2004) Non-competitive programming contest problems as the basis for just-in-time teaching. Proceedings of the Frontiers in Education Conference.
- Baibak T and Agrawal R. (2007) Programming games to learn algorithms. Proceedings of the ASEE Conference.
- Bowen J. (2004) Motivating civil engineering students to learn computer programming with a structural design project. Proceedings of the ASEE Conference.
- Bundy D. (2002) Four steps to teaching C programming. Proceedings of the Frontiers in Education Conference.
- Clough D. (2002) Teaching introductory computing to ChE students - A modem computing course with emphasis on problem solving and programming. Proceedings of the ASEE Conference.
- Clough D, Chapra S and Huvard G. (2001) A change in approach to engineering computing for freshmen Similar directions at three dissimilar institutions. Proceedings of the ASEE Conference.
- Cordes D. (1997) Teaching an integrated first-year computing curriculum: Lessons learned. Proceedings of the Frontiers in Education Conference.
- Craig A, Bullard L and Joines J. (2008) Computing across curricula. Proceedings of the ASEE Conference.
- Deek F, Friedman R and Kim H. (2002) Computing and composition as an integrated subject in secondary school curriculum. Proceedings of the ASEE Conference.
- Dunne B, Blauch Aand SterianA. (2005) The case for computer programming instruction for all engineering disciplines. Proceedings of the ASEE Conference.
- Finlayson B. (2005) Introduction to chemical engineering computing. Proceedings of the ASEE Conference.
- Gotfried B. (2002) Teaching computer programming effectively using active learning. Proceedings of the Frontiers in Education Conference.
- Griffith M. Writing to think. (1982) National Writing Project Paper No. 4 National Endowment for the Humanities.
- Hambrusch S. (2009) A multidisciplinary approach toward computational thinking for science majors. Proceedings of the SIGCSE Conference.
- Lu Y, Zhu G and Koh C. (2010) Using the tetris game to teach computing. Proceedings of the ASEE Conference.
- Lunt B and Ekstrom J. (2006) Changing times: The status of computing education in the United States. Proceedings of the ASEE Conference.
- Maase E. (2007) Kangaroo thinking: Mathematics, modeling and engineering in introductory computer programming for engineers. Proceedings of the ASEE Conference.
- Meyer G and Jones D. (2007) Advanced modeling in biological engineering using soft-computing. Proceedings of the ASEE Conference.
- Miller D and Winton C. (2004) Botball kit for teaching engineering computing. Proceedings of the ASEE Conference.
- Musante S. (2006) Strategies for teaching modeling to students. Bioscience 54:4:299.
- Myszka D. (2006) Motivating students in an introduction to computing course by requiring animated solutions. Proceedings of the ASEE Conference.
- Naraghi M and Litkouhi B. (2001) An effective approach for teaching computer programming to freshman engineering students. Proceedings of the ASEE Conference.
- O'Neill R. (1996) Role of computing: Educator's Perspective. Proceedings ofthe ASEE Conference.
- Read Write Think. Website [Online]. http://www.readwritethink.org.
- Said H and Khan F. (2004) Toward using problembased learning in teaching programming. Proceedings ofthe ASEE Conference.
- Shiavi R and Brodersen A. (2002)Comparison of instructional modalities for a course - Introduction to computing. Proceedings of the Frontiers in Education Conference.
- Steadman S. (2001) Enhancement of an introductory computing course with experiential and cooperative learning. Proceedings ofthe ASEE Conference.
- Thomassian J, Kumazawa R and Kinnicutt P. (2007) A study of freshmen students' outlook to media based tutorials of Matlab/Java in computing for engineers. Proceedings of the ASEE Conference.
- Tranquillo, J (2011) Matlab for Engineering and the Life Sciences, Morgan and Claypool, 2014.
- Tranquillo, J (2014) Moving Analogies. Proceedings ofthe Venture Well OPEN Conference.
- VANTH. Website [Online], http://www.vanth.org.
- Vergara C. (2009) Leveraging workforce needs to inform curricular change in computing education for engineering. Proceedings of the ASEE Conference.
- Von Lockette P. (2006) Algorithmic thinking and MATLAB in computational material science. Proceedings of the ASEE Conference.
- Wiebe E. (2009) Computing across curricula: The view of industry leaders. Proceedings of the ASEE Conference.
- Wing J. (2008) Computational thinking and thinking about computing. Philosophical Transactions of the Royal SocietyA366:3717.
- Wing J. (2006) Computational Thinking. Communications of the ACM 49:3:33