By Lydia Fritz, MS
Assistant Professor, College of Science, Engineering and Technology
I’m often amazed at the ideas my students come up with when developing computer programs. Many times, a student will find a solution that is not only clever and creative, but one that I’ve never even considered! Often, they turn to me for help in transforming their idea from a thought to working code. This is where the frustrating, and often fatal, part of the process begins – for the idea to be useful, it must be communicated. How can I help the student if they cannot share their idea?
Sharing Ideas in Computer Science
One of the greatest challenges in computer science and computer programming is that every detail of a solution must be specified in exact terms. After all, as programmers, we have to create instructions for a machine! The computer will only do what it is told to do, so our instructions must be very precise.
To create precise instructions, a thorough knowledge of all pieces of the solution is necessary. For the student, this is a challenge – after all, the student is trying to learn new material! They do not necessarily have the tools needed for the job. The process is like trying to learn a foreign language while reading a complicated novel written in that language.
Practice Makes Perfect!
What’s to be done? Communication, after all, is a learned skill – a process that must be practiced and refined. The classroom offers a perfect venue for this exercise. Students present their solutions at every stage of the development process – from concept to logic diagrams, from modeling objects to developing software representations, from creating user specifications to demonstrating finished projects.
Along the way, the student learns to work in tandem with the audience, constantly gauging reactions and adapting content. Students refine their skills, incorporating diagrams and other visual aids, evaluating instructor feedback and building delivery skills – the more ideas are presented, the better the presentations become!
Benefits in the Classroom and Beyond
I have noticed that the more students communicate their ideas and explain their solutions, the more they understand the foundational concepts on which those solutions are built. The stronger the foundation, the more confidence the student has in their ability to tackle difficult problems.
An employer of a few former students once said, “The reason we like your graduates is because they aren’t afraid to take on something they don’t know how to do.” That’s incredible praise because the field of computer science is rapidly changing – no one ever knows how to do it all. Furthermore, a student is more likely to land a job in the first place if they can speak to a potential employer with ease and confidence about past projects and ideas. So the next time an instructor asks you to present, explain or demonstrate something, embrace the opportunity!
Grand Canyon University’s College of Science, Engineering and Technology strives to prepare students for future employment. To learn more, visit our website or contact us using the Request More Information button at the top of the page.
More About Lydia Fritz:
Lydia Fritz teaches and researches in computer science. Her teaching interests include programming in Java, C++ and C#, and research in the areas of data structures, process-driven design and discrete mathematics. Prior to joining GCU in 2016, she taught computer science for 14 years at the University of North Carolina at Greensboro (UNCG). At UNCG, Fritz was academic advisor to the NSF-funded Computing Corps, focused on increasing the participation of women, underrepresented minorities and persons with disabilities in computing disciplines. Fritz is also a regular reader and leader at the College Board’s computer science AP exam reading. She holds an MS in computer science and a BA in English literature, both from UNCG.
The views and opinions expressed in this article are those of the author’s and do not necessarily reflect the official policy or position of Grand Canyon University.