A letter to the investigator Duane A. Bailey
Through a well-organized organization, research can become more pleasant and productive. Unfortunately, for many computer scientists, research skills are obtained through experience rather than formal training. This article outlines some suggestions on how to organize research work. Most suggestions are useful for undergraduates. Italics are intended for graduate students, professional researchers, and teachers. I hope this article will be helpful.
My suggestions
Successful computer science research involves coordination in many aspects. To make your research as effective and interesting as possible, I have collected some useful "organizational Tips" that you may find useful ". Take some time to read these tips. Some tips are extremely obvious (others are very difficult !!), But they all have the potential to improve your research career.
Reading is the foundation
Discovering and reading relevant books is the basis of good research. If you are a newbie in your research field, you may only be familiar with the content in textbooks. You canACM guide to computing Literature[3] andComputing reviews[2] these two important resources for discovering reference books. When you start to study your questions, you start with a short bibliography of Basic Books. As a researcher, you must develop a bibliography of this book and constantly find new reading materials. You will find useful bibliography missed by others.
Continuous reading. Although reading background knowledge is the initial task of any research work, important references often appear, especially if the focus of the study changes. You must identify the materials that play an important role in your research field, and the speed at which you read the journals can keep up with the speed at which the journals are published. It takes only two or three hours for a month to view the latest paper. (Although the review of the conference transcript is not as rigorous as that of the journal, the conference transcript plays an important role in rapidly publishing the study results .) Because computer science research is updated quickly, it is vital to read the latest technical documents in a timely manner.
Read some articles carefully. A rough view can identify materials related to your current study. When you find that a paper is helpful for your research, it is very important to consider it in more detail. When reading the thesis, consider the following three aspects:
What contribution does this research make to your work?
What is the relationship between this contribution and the documents you have encountered before?
In this paper, what important references does the author reference?
These questions seem to be clear and basic, but there is no reason to ignore them.
Abstract each article that you think is related to your research work. The abstract helps you quickly introduce your work to others. If you have to read these articles in the future, the summary you wrote previously provides a "self-help" mechanism. Abstract is a common task in research work. Concise abstract is an art.
After reading a well-written article, consider its expression. It may be well organized, or it may use carefully considered examples to emphasize important concepts.
What makes this article easy to read?
What details does the article provide?
What examples are used to demonstrate important concepts?
Which questions are not answered?
Can the conclusion be promoted?
Because we learned through instances, it is important to mark articles that are particularly well written.
Unfortunately, the technical literature is often obscure. Sometimes it is helpful to read an article with your instructor or other colleagues interested in it. In this way, the progress may be slow, but the potential of a well-written article will be realized, and your understanding of the article will be improved.
In large departments, informal seminars or "journal clubs" provide a reason for researchers to gather and discuss papers on a weekly basis. It should be concentrated on one topic (for example, memory collection during this semester), but when a common interest develops, partial questions are also allowed. In a crowded schedule, these informal weekly meetings reserve time for research jobs that may be thrown aside.
Writing is fundamental
Good writing is the only persistent method of scientific research. When the oral report has been forgotten and the program has been cleared, the articles written a long time later will still have important concepts. Therefore, you should write down your research results as early as possible. Although experiments are important, all efforts are in vain if they are not carefully recorded.
Write carefully. When you do not know how to write a document, use a simple writing style. If you are a novice or do not often write, you are concerned with polishing your writing skills. If you are lucky enough, there will be examples of successful writing in your article. Generally, an effective Article only needs to be read once to convey important arguments. These articles will also discuss interesting examples. When technical details are directly presented in mathematical formulas or code, they cannot be used in English. It is difficult to write in a document that can correctly and concisely convey information. When you are not sure about the style you use, read a new article you like and combine the style characteristics into your writing.
Keep writing logs. In the log, write down the bibliography, ask questions, and describe the problems and their solutions. Keep record lab and lab results. As laboratory scientists know, logs are a simple tool for organizing your research work and a valuable record of your progress.
Make a summary of the conclusions in the relevant literature. If you expect that you will officially report on your research (always optimistic !), Therefore, it is useful for your readers to compare and position your work with those of others. Rethinking relevant research can also remind you of important references and organically combine your goals with those of others in your research field. Because this abstract document needs to be edited frequently, it should be stored in electronic form. ([10] is a good system for organizing bibliography information. It also provides a convenient mechanism for exchanging reference books with others .)
Write down some small projects. I wrote down one or two pages of ideas about a topic. When ideas cannot be expressed, they gradually become malformed and chaotic as they linger in their minds. These descriptions help sharpen your writing skills and organize spontaneous ideas. These ideas that can be quickly found are useful when students want to get research projects
Keep some time for writing. An hour spent on writing is an hour of consideration, rather than an hour of fighting with a computer. You must leave the distracting tasks, concentrate on your efforts, and record your work. You have to do it like a rule exercise, and you will love it slowly.
Work with others
For many people, success comes from working with others. It is important to share ideas with others and develop ideas in a group environment. (In small systems, this may be a problem-especially if you are in an isolated field, cooperation is still important .) Whenever possible, discuss your thoughts with your instructor or study partner. You may think that your thoughts are not worth mentioning, but you should try it anyway. Let the conversation continue! Most researchers are happy to participate in fruitful discussions.
The meeting schedule follows a rule. If it seems that there is nothing to discuss, this is an important topic. Do not skip or cancel the meeting easily because it will become an irreversible precedent. If you have lost contact with your discussion group, you should take the initiative to establish a new contact. It is unlikely that they will take the initiative to find you and their mutual interests will fade over time.
The Meeting provides synchronization points for centralized discussion of topics. Important insights will be generated at the meeting, so spend some time writing these ideas (with your log !) And copy and distribute them. These informal "Meeting records" help maintain a positive and negative relationship between discussions and record decisions made. It is usually a waste of time to repeat the old content.
Think carefully about criticism. Because others' comments are an integral part of the scientific research process, your research is always criticized. Do not get angry with the comments, but use them as guidelines to make your arguments more effective. Similarly, when criticizing others' work, it is very important to make your opinions constructive. Those opinions that do not help you should be ignored.
Reporting is not easy
In any serious research work, you will need to make a report. A good report requires a considerable amount of preparation, so it should be started as soon as possible. Slides should be clear and there is nothing irrelevant (including code ). The slides should contain examples to illustrate the problem, but the details of the examples should be appropriate for your audience. Slides should be associated to prove your contribution.
Rehearsing and timing your report. Unprepared reports are extremely obvious, and often lead to an attack on your reports by audience who are willing to accept new ideas. Carefully organize and rehearse your report so that you can prepare for unexpected questions.
Project
Computer science research often leads to a "project" that requires programming ". Be sure to rememberProgramming is not a computer science study. For most computer scientists, programming is simply a method of experimentation. Like any experiment, programming requires careful planning in advance:
* Set the target. Know your goal and stay close to it without distracting. List major events that indicate progress and strive to achieve them. If you cannot clarify your goals in a concise manner, you should stop and rethink the motivation of the project.
* Easy to consider. Design your projects so that they can be completed within a reasonable period of time. A skilled programmer generates almost no more than one hundred lines of reliable code each month. Therefore, writing a project that requires thousands of lines of code will take two or three semesters or longer for a skilled programmer. Therefore, you need to trim the experiment size to make it easy to process. The time spent trimming is worth it. Large projects do not necessarily produce large results.
* Create a prototype. Prototype creation is beneficial to most projects. A well-considered prototype can validate the value of assumptions, test summaries, and lead to a new review of infeasible ideas. Although Caocao has almost no research value as a "product", many research questions can be answered satisfactorily by implementing a prototype system with some features.
* Use tools. By using some simple tools, the efficiency of programmers has been greatly improved. Today's programmers should be aware of using tools such as anim [6], awk [, 5], HyperCard [8], and Mathematica [13]. In the window environment, the interface generator can eliminate a lot of tedious work in the interface design process. Of course, there are many other important and useful tools with clear purpose: correct selection of tools can reduce the overall workload of the project. Find and learn tools and use them.
*Cooperation with people.When resources can be coordinated, group collaboration is often more effective than isolated individuals. If you are interested in research with others, contact and cooperate with them. There is no doubt that you are considering some of the problems they have solved. Their solutions will affect how you achieve your common goals.
One side of cooperation is increased discipline. Discipline is necessary to reduce the amount of energy spent on Synchronization in various aspects. For programmers, there are various resources available to manage distributed projects. For example, GNUThe project develops a set of appropriate code standards, and the program can properly enforce the use of general encoding styles (such as indentation ). When multiple users share access to the same project, consider using a version control system (such as SCCsOr RCS).
* Write a document for the project result. You should write a document for the completed project. At least, the technical overview of the project enables others to understand your research motives. The document should describe the problem, your assumptions, your methods, and honest comments on your project results. When writing a document for a software, it should include descriptive examples, guides, and any experience gained from the use of the software. Well-written documents greatly increase the project impact.
Summary
Ideally, your participation in research is part of the entire pipeline. Your work is based on others' work and generates some useful things. As a participant in a rapidly changing field, you have the responsibility to keep abreast of the situation, design and complete appropriate experiments to test your assumptions, give your results in a way that all study members can access. The suggestions provided here can help you fulfill these responsibilities.