Research Paper

profilefarzadbigz
ResearchPaperGuidelinesCSCI717.docx

Research Paper Guidelines Due Date: Nov 29th, 2019

An important activity in this course will involve writing a research paper in APA format. This is an exercise in argumentation. This paper will be between 5 - 7 pages in size single-spaced. A list of topics related to software construction are provided below. Each student will select one of the topics from the list. Most of the topics includes papers that provide necessary background. The student would then be required to research and identify at least three academic papers for and three papers against the topic. Please note these papers will be in addition to the ones listed below for the topic. You will be asked to take a position either for or against the topic and argue your position based on the literature collected. As part of your argument, you would be asked to demonstrate using coding or non-coding examples.

Below are the paper topics along with some papers as starting points for your research.

Structured programming with or without gotos?

• D. W. Dijkstra, Goto considered harmful

• D. Knuth, Structured Programming with go to statements, 1974, (available through NDSU library in online ACM collection)

Aspect Oriented Programming

• Gregor Kiczales et al. Aspect­Oriented Programming, 1997

• Robert E. Filman, Daniel P. Friedman, Aspect­Oriented Programming is Quantification and Obliviousness, 2000

Prototypebased vs classbased object­orientation

• James Noble, Brian Foote, Attack of the Clones, 2002 (available through NDSU libraries online ACM collection)

• Henry Lieberman, Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems, 1986

Design by Contract

• Bertrand Meyer, Applying "Design by Contract", 1992

• Jean­Marc Jézéquel, Bertrand Meyer, Design by Contract: The Lessons of Ariane, 1997

• George Fairbanks, Better Code Reviews with Design by Contract – 2019

Fluent or Law­of­Demeter?

• Martin Fowler, Fluent Interface, 2005,

• Karl J. Lieberherr, Ian M. Holland, Assuring Good Style for Object-oriented Programs, 1989

Design Patterns are Code Smells

• Jan Hannemann, Gregor Kiczales, Design Pattern Implementation in Java and AspectJ, 2002, HannemannKiczales02.

• Peter Norvig, Design Patterns in Dynamic Languages, 1996

• Eva van Emden, Leon Moonen, Assuring Software Quality by Code Smells Detection,

Pros and Cons of Private and Protected Inheritance

Pros and Cons of Multiple Inheritance and Single Inheritance

Pros and Cons of Agile methods

Pros and Cons involved in DevOps

Any other topic area relevant to Software Construction can be used for research topic with prior approval of the instructor.