COMPUTER SYSTEMS RESEARCH
Fall/Spring 2005 - 2006
Research Definitions (notes from JLC workshop March 9, 2006)
What is research?
- Research tries to add something new to the body of knowledge in a particular field and seeks to find answers to a problem.
- A systematic and intensive study in which the primary aim is a fuller knowledge or understanding of the subject under study.
Why is research done?
- Two basic purposes: to learn something, or to gather evidence
- Advance existing knowledge in a discipline, subject area or field; to fill significant gaps in such knowledge; to devise new modes or means of expression; and to develop new perspectives in sciences, arts and humanities.
Some Types of Research
- Applied Research
- Research which studies the relationship and/or applicability of theories or principles to the solution of a problem for the purpose of producing results that may be applied to real world situations.
- Research used to answer a specific question, determine why something failed or succeeded, and solve a specific, pragmatic problem.
- Operations Research and Modeling
- Application of mathematical models to study or plan a process designed to determine the most efficient way to do something. Often used to analyze complex real-world situations.
- Primary (or original) research and Modeling:
- Original research in which new data is actually collected from the natural world (via experiments, naturalistic observation, case studies, etc.) conducted to answer a research problem. Secondary research draws information from books, publications, or expert opinion.
- Primary research requires: 1. knowing what has already been discovered on a subject (background) and 2. formulating a method to find out what you want to know.
- Qualitative research
- Concerned with understanding the processes which underlie various behavioural patterns through loosely structured, mainly verbal data rather than measurements. Analysis is interpretive, subjective, impressionistic and diagnostic.
- An exploratory study, to explore an unknown sector, identify the main dimensions of a problem, draw assumptions, understand motivations. Or an operational study based on in-depth analysis of interviewee responses.
- Quantitative research
- Examines phenomenon through the numerical, projectable representations of observations and uses statistics to analyze results in an attempt to establish general laws and principles.
- The numerical representation and manipulation of observations for the purpose of describing and explaining the phenomena that those observations reflect. Used in a wide variety of natural and social sciences, including physics.
- Research and development
- Aimed at discovering new knowledge in hopes that such activity will be useful in developing or creating research findings into new and improved prototypes, processes or services.
- Secondary research
- Finding out what others have discovered through original research and trying to reconcile conflicting vewpoints or conclusions, find new relationships between normally non-related research, and arrive at your own conclusion based on others' work.
- Opensource development;
Open Learning and
research labs MIT
Standards and Benchmarks for Research
Overview:
- Identify an idea you want to develop (the problem),
- acquire information relevant to your idea (background information),
- design a method for the development of your idea,
- start building a model to test verify and validate solution(s) to your idea,
- collect data relevant to this development of your model(s),
- analyze how your model is working in response to your input data,
- think about what all this means (critical thinking - organize,
- analyze, evaluate, synthesize information),
- communicate your results - write a research paper
Note that these steps do not have to be done sequentially, one time through, from start to the finish of your research project. Trying to force too tight a structure on your development may at times impede your creativity. Often these steps are done iteratively, many times over, each iteration bringing you closer to the completion of your research and your overall goal.
Also see
The Scientific Method, ISEF (Intel Science and Engineering Fair) and
Why Complete a Science Fair Project? and
science resources on the www
- Step 1: Standard I - Problem Identification. Students apply knowledge and processes to make informed decisions and identify and solve problems
- Benchmark A - Identify a topic for research through a variety of strategies. For example, see
Research labs, centers, and programs from MIT
- Practice generating original research project ideas and extensions of other projects
- Benchmark B - Formulate questions for problems for research
- Practice generating hypothesis
- Generate clear questions of curiosity about unknown phenomena
- Benchmark C - Understand that results of scientific inquiry - new knowledge and methods - emerge from different types of investigations
- Understand how new discoveries may either modify existing theories or result in establishing a new paradigm
- Benchmark D - Apply information and processes of scientific and engineering and other disciplines to generate solutions to real world problems.
- Differentiate between the goals of science and engineering
- Apply scientific explanations to everyday experiences and operation of common devices
- Identify primary accepted theory behind a phenomena
- Know basic accepted theories and laws
- Know history of science and invention (timelines)
- Differentiate between inductive vs. deductive logic
- Differentiate between scientific theory and scientific law
- Step 2: Standard II - Information Acquisition. Students acquire information in several formats through a variety of resources.
- Benchmark A - Use a variety of formats of currently available research tools and methods to acquire information. Example sources are the
online information courses at MIT web
- Conduct interviews
- Trace research literature back to those works that originally defined the ideas
- Read technical professional literature
- Differentiate between primary and secondary sources
- Know scientific equipment and technology resources at TJ
- Use a variety of print and multimedia sources, including online
- Define various types of searches
- Determine what sources of information are credible
- Step 3: Standard III - Scientific Investigation and Engineering Design. Students engage in scientific investigation and practice experimental and engineering design. As an example,
"Extreme programming" is one project development method popular in software development, as well as
UML (Unified Modeling Language)
- Benchmark A - formulate a testable hypothesis and demonstrate the logical connections between the scientific concepts guiding a hypothesis and the design of an experiment (or computer program)
- Formulate hypothesis based on observations
- Benchmark B (Experimental) - Practice experimental design (of your computer program, for example) and conduct scientific investigation. Also demonstrate appopriate procedures, a knowledge base, and conceptual understanding of scientific investigations.
- Identify types of apparatus needed for specific measurements (or types of computer programming algorithms to obtain types of measurement data)
- Identify variable types - independent/dependent variables, constants
- Determine appropriate number of trials and measurement intervals (or types of test outputs and graph data from your computer program)
- Determine need for and type of control experiments (or certain predictable ways your program should initially run)
- Identify tools needed for analysis (or how you will percieve and measure various types of outputs of your program)
- Identify and reduce potential sources of error before data collection (or perform software testing to verify/validate your program's performance)
- Benchmark C (Engineering) - Practice engineering design and
- Brainstorm multiple solutions to a problem (or multiple ways your program may perform)
- Practice planning assemblage of parts (or how you may need to modify/redesign your program)
- Produce a working engineering drawing (or UML diagrams for your software)
- Construct a prototype (or pseudocode type of computer program)
- Step 4: Standard IV - Modeling. Understand, build, and use models in the process of research.
- Benchmark A - Models take many forms including physical objects, mental constructs, mathematical equations, graphical representation, and computer simulations. Understand that mathematics is essential in scientific inquiry.
Unified Modeling Language (UML) is a popular modeling 'language' used in software development.
- Define basic types of models: Computational, mathematical, pathway, set, concept map, etc.
- Understand benefits, limitations, and goals of models vs. experiments.(Some computer projects may totally be cellular automata models)
- Benchmark B - Build and use mathematical tools and models to pose questions, gather data, construct explanations, and communicate results of research.
- Apply mathematics to real physical problems (for example, using mathematics to verify/validate your software's performance)
- Construct a computer program that models a real world system (for example, computer graphics modeling or cellular automata agent-based modeling)
- Understand and implement a genetic algorithm or other feedback dynamic system (for example, genetic algorithms in machine learning)
- Step 5: Standard V - Data collection. Engage in all aspects of data collection.
- Benchmark A - Gather, organize, and describe data and design and carry out experiments or simulations to investigate and solve problems.
Gnuplot and
Matlab are two popular data collection and analysis tools that we have at TJ
- Use measurement apparatus: Mass scale, ruler, thermometer, microscope, etc. (also various types of outputs from your computer program)
- Use basic electronic apparatus: Handheld meters (voltmeter, ammeter, ohmmeter), oscilloscope, power supply. (In computer science, this is mainly use of software)
- Assemble a circuit from schematic diagram (in computer science, assemble a program from UML diagrams)
- Differentiate between accuracy and precision (this can be used in analysis of computer program output)
- Determine and use significant figures (also can be used in analysis of computer program output)
- Express unknowns as variables and formulating new equations
- Work with rates of change in relation to time, space, other variables. (Mathemats and physics in your computer algorithms)
- Understand causes of and work with parameters of exponential growth and decay (in computer science, this can be investigated in your algorithms)
- Design appropriate format for collecting data
- Design and construct an instrument for data collection (in computer science - how is your program designed to collect data)
- Select appropriate technology to facilitate data collection (in computer science, data collection needs to be taken into account in your programming)
- Use computer probeware, CBL, and CBR to collect data (not applicable to computer science)
- Step 6: Standard VI - Data Analysis. Understand and use mathematics and technology to find meaning in scientific inquiry
- Benchmark A - Understand that mathematics is essential in scientific inquiry and use mathematical tools and models to pose questions, gather data, construct explanations, and communicate results.
Gnuplot and
Matlab are two
popular data collection and analysis tools that we have at TJ.
- Identify patterns in large data sets: symmetry of data in time, space; relating structure or behavior to purpose or function (in computer science - large amounts of varied data from runs of your program)
- Use and convert between appropriate standard units of measurement (for example, in statistical analysis of results of running your program)
- Dimensional analysis to reduce units (applicable to computer science?)
- Scientific notation (when necessary in computer program outputs)
- Discover mathematical relationships by using: curve fitting, regression, strength of correlation, linear, exponential, logarithmic, power (in computer science, various statistical techniques for analysis of your program's runs)
- Find and interpret slope (rate of change), intercept (in computer science, graphing results and interpreting)
- Use standard non-linear curves (quadratic, polynomial, exponential, power, logarithmic, inverse, inverse square, etc.)
- Logarithms to find exponent values
- Differentiate between chaotic vs random behavior (in computer science, various types of outputs characterized by your program)
- Interpolation, extrapolation, and analyzed trends to make predictions (in computer science, what can your program predict as a result of how it is running)
- Use statistics (analyzing results of computer runs)
- Find and interpret basic parameters (mean, median, mode)
- Find and understand basic error from expected results
- Benchmark B - Use technology and mathematics to improve investigations and communications. A variety of technologies, such as hand tools, measuring instruments, calculators, and computers are used as an integral component of scientific investigations
- Choose appropriate viewing windows to examine numerical data (in computer science, various techniques for analyzing output)
- Discover mathematical relationships by examining residuals, developing models, and utilizing technology tools such as calculators and computer software
- Examine graphs for critical attributes such as asymptotes, intercepts, and extrema
- Plot and derive information from graphs (in computer science - plot your results with Gnuplot)
- Step 7: Standard VII - Critical Thinking. Organize, analyze, evaluate, and synthesize information from a variety of sources.
- Benchmark A - Apply inductive and deductive reasoning skills to analyze, infer, and evaluate data to test hypotheses.
Matlab,
Python programming,
C programming (
sample C tutorial), and
Fortran 90
(sample tutorial) are examples of popular powerful tools for analysis that we have at TJ.
- Express positive knowledge gain from negative results (in computer science, what information can you obtain from negative results)
- Differentiate between cause-and-effect vs. correlation
- Document serendipity
- Understand and use statistical significance
- Identify contributions to result variability and error of measurement
- Differentiate between human and instrument sources of error (in computer science - software testing, where are possible errors coming from; also, validation of your program - how can you validate your software)
- Express relationships between physical quantities using experimentally obtained data
- Benchmark B - Synthesize information to support a hypothesis or argument.
- Draw conclusions from experimental data
- Support claims with quantitative and qualitative evidence/data
- Identify the effect of the experiment on the behavior of the phenomena: Biological, sociological, psychological, physical (applicable to computer science?)
- Explain one outcome by different models
- Step 8: Standard VIII - Communication. Communicate effectively and appropriately in several formats through a variety of resources.
- Benchmark A - Accurately and effectively present information in appropriate formats such as oral presentation, written reports, or visual products; and use correct documentation.
LaTeX formatting (also see
NASA guide and
more help on LaTeX) is an execellent formatting for research papers. We have this at TJ.
Excerpts from
Elements of Technical Writing by Blake and Bly
Elements of Technical Documents, the Mayfield Handbook of Technical and Scientific Writing
- Write a formal paper including an introduction with background information review of literature, a clearly stated thesis, and an outline of proof. The Body of the paper will include presentation of evidence and logical reasoning to prove these. The conclusion will include a summary of the main points and restatement of these. Also include a bibliography of resources used and cited
- Construct a poster display
- Construct a presentation, powerpoint slides, a presentation outline
- Write a formal abstract
- Use computer skills to integrate text and graphics/pictures
- Edit your copy for spelling, font format, pagination, text alignment
- Document concise and complete description of procedure and materials needd to perform an experiment (in computer science - perform the experiment via your program)
- Construct data summaries from large data sets (trends, averages, etc.) representing multidimensional results (your computer program should have a variety of outputs and data analysis)
- Benchmark B - Know and use appropriate documentation
- Write a grammatically correct bibliography according to recognized standard for various sources: book, periodical, Internet, interview, etc.
- Know different bibliographical formats and standards
- Accurately and appropriately attribute sources of data
- Step 9: Standard IX - Project Management. Develop and follow a research plan.
- Benchmark A - Develop and follow a feasible plan and timetable for research.
Example basic timeline and a very basic
iterative report (you could have many of these throughout the course of your entire project's development).
- Construct a planning calendar or timeline
- Patience and persistence
- Proper response to emergency situations (applicable to computer science?)
- Accurately record and organize data
- Keep records of thoughts, setups, communications, resources
- Subdivide solution tasks within a group
- Step 10: Standard X - Ethics. Conduct according to ethical standards and practices.
- Benchmark A - Identify, understand, and apply ethical standards and practices of research.
- Document the source of ideas of others
- Demonstrate respect for privacy and confidentiality
- Respect for life at all levels
- Understanding of risk vs. benefit
- Responsibility for safety of self and others
- Respect for limited natural resources, ecosystems, and environment
- Responsible disposal of refuse supplies
- Ethical interaction involving human competition for first findings
- Tolerance for alternative models or explanations
- Intervention for inaccuracy of information and "pseudoscience"
- Acknowledge assistance received