Asee peer logo

A System for Analysis of Code on Cloud as an Educational Service to Students

Download Paper |

Conference

2016 ASEE Annual Conference & Exposition

Location

New Orleans, Louisiana

Publication Date

June 26, 2016

Start Date

June 26, 2016

End Date

August 28, 2016

ISBN

978-0-692-68565-5

ISSN

2153-5965

Conference Session

Potpourri

Tagged Division

Computing & Information Technology

Page Count

14

DOI

10.18260/p.26456

Permanent URL

https://peer.asee.org/26456

Download Count

31

Request a correction

Paper Authors

biography

Jinyi Zhang Purdue University

visit author page

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.

visit author page

biography

Pan Fengjian Purdue University, West Lafayette

visit author page

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.

visit author page

biography

Mrigank S. Jha Purdue University, West Lafayette

visit author page

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.

visit author page

biography

Pranav Marla Purdue University

visit author page

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.

visit author page

biography

Kee Wook Lee Purdue University

visit author page

Kee Wook Lee is a senior student at Purdue University, West Lafayette, IN, majored in electrical engineering.

visit author page

biography

David B Nelson Purdue University, West Lafayette

visit author page

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.

visit author page

biography

Yung-Hsiang Lu Purdue University

visit author page

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.

visit author page

Download Paper |

Abstract

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