Main content

Home

Menu

Loading wiki pages...

View
Wiki Version:
# Computer Science Master's Thesis #### **Mike Dongyub Ryu** [doryu@calpoly.edu](mailto:doryu@calpoly.edu) **Software Engineering and Computer Science Department** California Polytechnic State University San Luis Obispo, California, USA ## Overview The focus of this master's thesis research is to validate a new teaching method that aims to teach introductory computer programming concepts to computer science and software engineering students without focus on the syntax of any particular programming language. The key components of the aforementioned teaching method, to be collectively referred to as "the Framework" for the rest of the project, are as follows: - **Design Recipe** from [*How to Design Programs*](http://www.htdp.org/2001-01-18/Book/node14.htm), with augmentations to distinguish functional arguments and console and file system I/Os - **Code Outlining** to externalize the problem-solving steps in easily readable and sharable format - **Peer Review Process** for students to learn from each other and to practice effectively communicating different ideas for the given problem - **Automatic Code Template Generation** to minimize cognitive load spent on familiarizing oneself with the syntactic structure of the implementation language - **Automatic Unit Test Generation** to reduce the introductory-level learning curve to test-driven development while still encouraging thinking through the given problem sufficiently prior to implementation ## Research Hypothesis Stated below is the hypothesis that this master's thesis research aims to validate: > Use of a teaching method consisting of Design Recipes, Code Outlining, and Peer Review practices backed by Automatic Code Template and Unit Test Generation can increase the effectiveness of learning introductory programming concepts in early computer science and software engineering courses. The subsequent sections of this document lay out more specific goals and the plans to achieve them in validating this hypothesis. ## Main Goals Below are the abbreviated version of the main goals that this project aims to achieve: - **Primarily**, validate that incorporation of the Framework into introductory computer science and software engineering courses improves the students' [*ability to program*](https://osf.io/2tqj7/wiki/Nomenclature/). - **Secondarily**, develop a tool and a workflow that allows instructors of an introductory course to *efficiently* incorporate the Framework. ## Research Plan For more detailed information on the motivation and the roadmap for this project, please visit the following wiki pages to learn more. - [Motivation](https://osf.io/2tqj7/wiki/Motivation/) - [Nomenclature](https://osf.io/2tqj7/wiki/Nomenclature/) - [Experiment Design](https://osf.io/2tqj7/wiki/Experiment%20Design/) - [Validation Plan](https://osf.io/2tqj7/wiki/Validation%20Plan/) For any questions regarding this project, please contact the primary investigator, Mike Ryu ([doryu@calpoly.edu](mailto:doryu@calpoly.edu)), for more information. <br> #### [&rarr; Continue to Motivation](https://osf.io/2tqj7/wiki/Motivation/)
OSF does not support the use of Internet Explorer. For optimal performance, please switch to another browser.
Accept
This website relies on cookies to help provide a better user experience. By clicking Accept or continuing to use the site, you agree. For more information, see our Privacy Policy and information on cookie use.
Accept
×

Start managing your projects on the OSF today.

Free and easy to use, the Open Science Framework supports the entire research lifecycle: planning, execution, reporting, archiving, and discovery.