Title
Understanding and Debugging Someone Else's Program
Course
Data Structures
Abstract
In this assignment, you will be given the code. However, it was created by someone who is no longer around to answer any questions about the program. Plus, there are some severe issues with the code – including it won’t even compile. The objectives for this assignment are to (1) gain experience understanding code, (2) learn proper debugging techniques, and (3) work on writing a technical report. In this particular example, we used Conway's "Game of Life".
This is an early in the semester assignment, and students should understand basic constructs, pointers, and how to read code.
This is an early in the semester assignment, and students should understand basic constructs, pointers, and how to read code.
Author
Bill Eberle
Genre
design document, code, comments, pseudo-code, bug report, code review, reading code, results of code inspection, documentation, reflection, tech report
Assignment Duration
Two Weeks
Communication Skill
reading, writing
Technical Skill
tools, continuous quality assurance, comments, documentation, research, problem solving
Workplace Scenario
BUG/ENHANCEMENT REPORT
Technical Task: When working in the real-world, many times you will be given an existing piece of code that you must understand before you can implement any enhancements or fixes. And many times, the original developer of the code is no longer available – leaving you to figure out what the code is doing.
Professional Setting: Students works for a company that has purchased another.
Professional Role: Students are members of a project team.
Deliverable: Bug/Enhancement report.
Real-world Audience: A project manager.
How the Audience will USE the student's communication: The project manager will use the students' report to develop a plan for completing the project.
Technical Task: When working in the real-world, many times you will be given an existing piece of code that you must understand before you can implement any enhancements or fixes. And many times, the original developer of the code is no longer available – leaving you to figure out what the code is doing.
Professional Setting: Students works for a company that has purchased another.
Professional Role: Students are members of a project team.
Deliverable: Bug/Enhancement report.
Real-world Audience: A project manager.
How the Audience will USE the student's communication: The project manager will use the students' report to develop a plan for completing the project.
Team Size
N/A
Additional Information
In addition, a student may even have to reverse-engineer a design document from the code where no documentation existed before. Debugging a program is something that every developer has to do. Whether for a student or a seasoned software engineer, figuring out what is wrong in a piece of code and fixing the issue is a necessary skill.
Collection
Citation
Bill Eberle, “Understanding and Debugging Someone Else's Program,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed May 18, 2020, http://cs-comm.lib.muohio.edu/items/show/66.
Comments