New Orleans, Louisiana
June 26, 2016
June 26, 2016
June 29, 2016
978-0-692-68565-5
2153-5965
Computing & Information Technology
14
10.18260/p.26456
https://peer.asee.org/26456
812
Jinyi Zhang is going to receive his B.S degree in computer engineering from Purdue University, West Lafayette, IN, in 2016. He led a team of undergraduates building the system for Analysis of Code on Cloud as an Educational Service to Students. He aims to explore machine learning and data mining by pursuing an M.S degree in next two years, and probably a Ph.D. degree in the future.
Fengjian Pan is a senior student major in ECE at Purdue university, West Lafayette, IN. He is the current leader of A.C.C.E.S.S. team.
Mr. Jha works as a Web Developer for World Wide Technology in St Louis, Missouri. He graduated from Purdue University in December 2015, with a Bachelor's Degree in Electrical Engineering. He worked as a front-end developer for A.C.C.E.S.S - Analysis of Code on Cloud as an Educational Service to Students.
Pranav Marla is an undergraduate student at the College of Science in Purdue University. He is pursuing a major in Computer Science, with a specialization in Machine Intelligence. He designed the entire backend of A.C.C.E.S.S.
Kee Wook Lee is a senior student at Purdue University, West Lafayette, IN, majored in electrical engineering.
David B. Nelson is Associate Director of the Center for Instructional Excellence at Purdue University. He received his Ph.D in World History from the University of California, Irvine in 2008.
David has been involved in many educational research projects at Purdue, including published worked in the programming education, student engagement and academic performance in dynamics engineering courses, and educational modalities in engineering, technology and economics.
Yung-Hsiang Lu is an associate professor in the School of Electrical and Computer Engineering and (by courtesy) the Department of Computer Science of Purdue University. He is an ACM distinguished scientist and ACM distinguished speaker. He is a member in the organizing committee of the IEEE Rebooting Computing Initiative. He is the lead organizer of the first Low-Power Image Recognition Challenge in 2015, the chair (2014-2016) of the Multimedia Communication Systems Interest Group in IEEE Multimedia Communications Technical Committee. He obtained the Ph.D. from the Department of Electrical Engineering at Stanford University.
There are many teaching tools that help students learn programming. However, guiding students to move smoothly from beginner to professional programmers presents many challenges. Modern software development requires knowledge of multiple tools and skills, such as creating a developing environment and mastering a series of tools to detect and remove bugs, profile performance, perform unit and integration tests, evaluate test coverage, and conduct version control. These concepts might be too intimidating for students who have only recently learned the basic programming knowledge like loops, arrays, or functions. The current teaching style can be generally categorized into two branches. First, the instructor explains programming tools at the beginning of the course and expects students to use them, before the actual needs arise and hence lacking the context of the tools. Second, the students focus on coding without learning these concepts for software development and management; they are unaware of these concepts and tools. This approach is insufficient when the students leave school and enter the workplace where knowledge and skill in using these tools are expected.
This paper presents a system designed to guide student learning of coding techniques within the context of specific coding skills, so that they can move to more advanced programming level smoothly. The system provides a web interface to both instructors and students in two different views. An instructor can post programming assignments and configure available tools on the system, whereas students can write their programs on a different view. All the programming tools are hidden behind the web interface and run on cloud instances. Students gain practical understanding of the valuable information presented by these tools without learning how to install, configure, execute, and update them. The system can analyze and test students’ programs based on a set of specifications from the instructor, and provide personalized feedback about the mistakes each student makes, including performance profile, test coverage, memory access violation, and resource utilization. Furthermore, the system can help the instructor identify common mistakes students make while writing their programs before the assignments are submitted for grading. The advantage of this approach is that it monitors students’ learning progress, not only the final submissions. The system is available to many users with various background and thus creates a learning community beyond the boundaries of classrooms.
The core functions of this system have already been implemented through alpha testing in an intermediate level C programming course with 35 students. We will conduct a survey and an in-person focus group at the end of this semester. The survey will measure students’ perceived value of and satisfaction with the system, particularly in comparison with existing methods of coding instruction. Utility of our system is gauged with a detailed focus group, conducted by an external interviewer. These focus groups follow Kruger’s framework to identify benefits and potential limitations of the tools, as well as suggestions for improvement.
Zhang, J., & Fengjian, P., & Jha, M. S., & Marla, P., & Lee, K. W., & Nelson, D. B., & Lu, Y. (2016, June), A System for Analysis of Code on Cloud as an Educational Service to Students Paper presented at 2016 ASEE Annual Conference & Exposition, New Orleans, Louisiana. 10.18260/p.26456
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: © 2016 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