Seattle, Washington
June 14, 2015
June 14, 2015
June 17, 2015
978-0-692-50180-1
2153-5965
Communication Across the Divisions III: Writing as Social–Technical Integration
Liberal Education/Engineering & Society and Computing & Information Technology
13
26.1779.1 - 26.1779.13
10.18260/p.25114
https://peer.asee.org/25114
663
Bryan A. Jones (S’00–M’00) received the B.S.E.E. and M.S. degrees in electrical engineering from Rice University, Houston, TX, in 1995 and 2002, respectively, and the Ph.D. degree in electrical engineering from Clemson University, Clemson, SC, in 2005. He is currently an Assistant Professor with the Mississippi State University, Mississippi State, MS.
From 1996 to 2000, he was a Hardware Design Engineer with Compaq, where he specialized in board layout for high-availability redundant array of independent disks (RAID) controllers. His current research interests include robotics, real-time control-system implementation, rapid prototyping for real-time systems, and modeling and analysis of mechatronic systems
Dr. M. Jean Mohammadi-Aragh is an assistant research professor with a joint appointment in the Bagley College of Engineering dean’s office and the Department of Electrical and Computer Engineering at Mississippi State University. Through her role in the Hearin Engineering First-year Experiences (EFX) Program, she is assessing the college’s current first-year engineering efforts, conducting rigorous engineering education research to improve first-year experiences, and promoting the adoption of evidence-based instructional practices. In addition to research in first year engineering, Dr. Mohammadi-Aragh investigates technology-supported classroom learning and using scientific visualization to improve understanding of complex phenomena. She earned her Ph.D. (2013) in Engineering Education from Virginia Tech, and both her M.S. (2004) and B.S. (2002) in Computer Engineering from Mississippi State. In 2013, Dr. Mohammadi-Aragh was honored as a promising new engineering education researcher when she was selected as an ASEE Educational Research and Methods Division Apprentice Faculty.
Amy Barton is Technical Writing Instructor in the Shackouls Technical Communication Program at Mississippi State University. In 2013, she was inducted into the Academy of Distinguished Teachers for the Bagley College of Engineering. She is an active member of the Southeastern Section of ASEE. Her research focuses on incorporating writing to learn strategies into courses across the curriculum.
Donna Reese has served as head of the Computer Science and Engineering Department at Mississippi State University since 2010. Prior to that she served for six years as associate dean in the Bagley College of Engineering. Her research interests are in recruitment and retention of underrepresented groups in computing and engineering fields.
Hejia Pan received the B.S. degree in automation from the University of Science and Technology of China, Hefei, China, in 2007 and the Ph.D. degree from Mississippi State University in 2011.
He is currently with Mississippi State University, Mississippi State, MS, USA. His research interests include engineering education, literate programming and modern control theory.
Writing to Learn to Program using a Programmer’s Word Processor As educators, we have trained a generation of illiterate programmers. Despite myriads of documents that software engineering should (and occasionally actually does) produce, such as requirements documents, UML diagrams specifying interfaces, and API documentation extraction tools (Javadoc, Doxygen, etc.), few practicing programmers use the written word to enable them to produce code. What documentation is produced often bears little relationship to the actual implementation after the first major revision or refactoring of the program. Writing distinguishes humans from animals, making thoughts visible while prompting reflection and deep understanding. It is essential in almost every area of human endeavor, by extending our abilities (memory, recall, etc.) to enable us to solve complex problems that would otherwise be insoluble. Yet, in the context of software engineering, little is done to mediate the transference of ideas to code with the written word. While external documentation serves to provide a conceptual framework for the externals of a program (its interfaces, requirements, and specifications), poorly used, typically omitted comments provide the only means for programmers to record their ideas, along with the implementation they create. How have we created a system designed to make writing as difficult and inflexible as possible, forcing programmers to be coders, not writers? Therefore, we propose writing to learn to program (WTLTP), in which writing is intermingled with the program itself, following the literate programming paradigm. While students are typically given an overall goal their program must satisfy and then instructed in specific constructs (loops, functions, recursive algorithms, etc.), the struggle most students face is to find the set of constructs that satisfies the goal. This is the creative process, the heart of any programming exercise, and it is typically omitted from all classroom instruction. Experts can intuitively perform this mapping from goals to code, while most novices struggle with this step. This is the point at which WTLTP can be of immense benefit because by providing the novice with the opportunity to reflect, in writing, on goals and structures, visualizing their thought process within a document. To assist students in viewing a program as a document, rather than as a series of instructions for a computer, the CodeChat extensions contributed by the authors to the Enki text editor provide a WYSIWYGlike environment that shows a both the unformatted source code of a program side byside with a typeset HTML version of the program. Changes made to the source code are immediately rendered to the web page, encouraging them to treat their program as a document. Through the writing process, the unconscious art form of programming becomes a concrete reality in which students begin to discover what they do not understand and find solutions to problems previously insoluble. Fig. 1: CodeChat in Enki, show source code on the left and the corresponding web page on the right, complete with typeset equations and plots produced by the underlying Matlab code.
Jones, B. A., & Mohammadi-Aragh, M. J., & Barton, A. K., & Reese, D., & Pan, H. (2015, June), Writing-to-Learn-to-Program: Examining the Need for a New Genre in Programming Pedagogy Paper presented at 2015 ASEE Annual Conference & Exposition, Seattle, Washington. 10.18260/p.25114
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2015 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015