Research
- What is research?
- CUR: Definition of Undergraduate Research: An inquiry or investigation conducted by an undergraduate student that makes an original intellectual or creative contribution to the discipline.
- Look at Day and Gastel's Introduction.
- We claim, in computer science, to be a science. How does this impact the definition of research?
- Review the second definition, including the scientific research definition.
- The scientific definition of research generally states that a variable must be manipulated, although case studies and purely observational science do not always comply with this norm.
- Do you think this applies to Computer Science?
- How about Mathematics?
- What is the difference between the natural sciences and the mathematical sciences?
- What is computer science research? What is computer science?
- An interesting IBM page.
- This is a very written position paper on CS research.
- Look again at the Wikipedia article, especially the steps in conducting research, and the next section on Scientific Research.
- My story, Part I
- MS in CS, 1990.
- I developed a computer graphics system to accompany a GUI for scientific calculation
- I had a broad knowledge of computer graphics
- I had practically no knowledge of the X window system.
- The system consisted of:
- An input language/parser (lex/yacc)
- A set of data primitives. (text, line, point, polygon, circle, sphere, mesh) in both 2d and 3d.
- A graphics display engine
- A user interface, which generated commands in the language
- The gui produced commands in the language.
- The system could operate without the GUI (ie part of larger system)
- Hard Copy options.
- This required:
- Learning the X windows system at a low level. (No manuals, no books, mostly source code)
- Pulling multiple levels of CS into a single project.
- Working with the parent project to ensure compatibility.
- This resulted in
- A masters thesis, reviewed by three faculty
- A student paper at DISCO '90
- A mention in other papers. (here).
- I spent most of my time
- Designing the project.
- Figuring out how to accomplish tasks in X.
- Coding/Debugging
- Learning/implementing new techniques
- Output to PS
- Lex/Yacc
- Hidden surface removal.
- Was this research?
- I doubt that there was any new knowledge created.
- There was publication.
- It was part of a larger project, which was published as well.
- Was the scientific method employed?
- My story Part II
- PhD in CS, 2010 (Twenty years later)
- I developed a system to allow a human to guide a parallel computation through a computation.
- This required
- Fairly strong knowlege of parallel computation.
- Knowldge of graphics, visualization and human interaction.
- Good knowlege of many other areas in CS.
- The project
- A parallel computation existed to simulate the state of a liquid crystal material in the face of energy change.
- A PhD in Numerical Analysis existed proving that such a computation could encounter bifurcation points and how to explore the multiple paths out of such a point.
- A NSF grant existed to pay for these two parts to be combined (~ $500K)
- What did I do:
- I used an existing product (CUMULVS) to exchange data between the parallel computation and other agents.
- We were doing something that CUMULVS was not intended to do,
- I used python to construct a number of clients which could connect