Determing The Complexity of a Program to Aid Programming

School Name

Governor's School for Science & Mathematics

Grade Level

12th Grade

Presentation Topic

Computer Science

Presentation Type

Mentored

Mentor

Mentor: Brian Malloy, Clemson University

Abstract

Computing is a growing industry. Teaching coding to beginning programmers has focused mainly on the introduction of a language and writing correct code. Little attention has been given to strategies for writing highly efficient code. Clemson University, in hopes of helping their students learn to program, has created a prototype server that uses two metrics to quantify the efficiency of a programmer’s code. The quantified values display the complexity of a source code, which in turn determines the code’s quality. In this paper we discuss a third metric to further define the efficiency of a code. Using a heuristic, we were able to calculate a suitable value for the order of complexity (big-O), of any source code based on its execution time. This algorithm will be added to the prototype server and provide additional information for Clemson students as they learn how to program.

Location

Wall 119

Start Date

3-25-2017 10:45 AM

Presentation Format

Oral and Written

Group Project

No

COinS
 
Mar 25th, 10:45 AM

Determing The Complexity of a Program to Aid Programming

Wall 119

Computing is a growing industry. Teaching coding to beginning programmers has focused mainly on the introduction of a language and writing correct code. Little attention has been given to strategies for writing highly efficient code. Clemson University, in hopes of helping their students learn to program, has created a prototype server that uses two metrics to quantify the efficiency of a programmer’s code. The quantified values display the complexity of a source code, which in turn determines the code’s quality. In this paper we discuss a third metric to further define the efficiency of a code. Using a heuristic, we were able to calculate a suitable value for the order of complexity (big-O), of any source code based on its execution time. This algorithm will be added to the prototype server and provide additional information for Clemson students as they learn how to program.