Writing for Computer Science - Style Specifics
Titles and Headings
Titles and headings
간단하고 짧고, 정확하게 써라
A New signature File Scheme Based on Multiple-Block Descriptor Files for Indexing Very Large Data Bases
Signature File Indexes Based on Multiple-Block Descriptor Files
An Investigation of the Effectiveness of Extensions to Standard Ranking Techniques for Large Text Collections
Extensions to Ranking Techniques for Large Text Collections
Titles and section headings do not have to be complete sentences; indeed, such titles can look rather odd.
Duplication of Data Leads to Reduction in Network Traffic
Duplicating Data to Reduce Network Traffic
They recommend that we use only two levels of headings, major and minor, and to only number major headings.
more subsections often seems fussy.
The opening paragraphs
opening sentence should be direct and straightforward.
Trees, especially binary trees, are often applied - indeed indiscriminately applied to management of dictionaries.
Dictionaries are often managed by a data structure such as a tree, but trees are not always the best choice for this application.
다음은 이렇게 시작하면 안되는 첫 번째 문장을 보여 준다.
This paper does not describe a general algorithm for transactions
General-purpose transaction algorithms guarantee freedom form deadlock but can be inefficient. In this paper we describe a new transaction algorithm that is particularly efficient for a special case, the class of linear queries.
Starting an abstract or instruction with "This paper concerns" or "In this paper" often means that results are going to be stated out of context.
In this paper we describe a new programming language with matrix manipulation operators.
Most numerical computation is dedicated to manipulation of matrices, but matrix operations are difficult to implement efficiently in current high-level programming languages. In this paper we describe a new programming language with matrix manipulation operators.
병렬 구조로 많이 써라.
Underutilization of main memory impairs the performance of operating systems.
Operating systems are traditionally designed to use the least possible amount of main memory, but such impairs their performance.
첫 번째 문장모다 positive 이며, existing knowledge와 paper's contribution을 명확히 구분하고 있다.
Variation
organization, structure, length of sentences and paragraphs, and choice of words을 통해서 독자의 attention을 유지 할 수 있다.
Paragraphing
They highlight each main point clearly.
Ambiguity
There is a new version of the operating system, so when using the "fetch" utility, the error messages can be ignored.
There is a new version of the operating system, so the "fetch" utility's error messages can be ignored.
Part of the confusion comes from the redundant phrase "when using": there would be no error messages can be ignored.
premature pronouns lead to difficulties
When it was first developed, recursive compilation was impractically slow and required too much memory.
When recursive compilation was first developed, it was impractically slow and required too much memory.
Sentence structure
두줄 이상을 넘지 말아라.
When the kernel process takes over, that is when in the default state, the time that is required for the kernel to deliver a message from a sending application process to another application
Tense
알고리즘 설명할때는 present를 사용함.
설명을 할때도 미래보다는 현재를 사용함.
Past tense는 work과 outcomes를 설명할 때 사용 한다.
Thus we write "the ideas were tested by experiment"
Repetition and parallelism
병렬구조가 문장을 정확하고 쉽게 이해하게 해준다.
남용하면 문제가되지만, 그래도 이해는 쉽다.
In SIMD, the same instructions are applied simultaneously to multiple data sets, whereas in MIMD different data sets are processed with different instructions. (x)
In SIMD, multiple data sets are processed simultaneously by the same instructions, whereas in MIMD multiple data sets are processed simultaneously by different instructions. (o)
병렬성은 반어법에 기반한 작성법이다.
Access is fast, but at the expense of slow update.
Access is fast by update is slow.
parallel structure가 빠진 문장은 ambiguity 한 결과를 만든다.
The performance gains are the result of tuning the low-level code used for data access and improved interface design. (x)
The performance gains are the result of tuning the low-level code used for data access and of improved interface design. (o)
좀더 개선을 하면, 더 긴 절을 뒤로 보낸다.
The performance gains are the result of improved interface design and of tuning the low-level code used for data access.
병렬구조에서의 should be used의 제거
For real-time response there should be sufficient memory, parallel disk arrays should be used, and fast processors.
Real-time response requires sufficient memory, parallel disk arrays, and fast processors.
Emphasis
잘못된 곳에 강조를 하지 말아라.
Additional memory can lead to faster response, but user surveys have indicated that it is not required. (o)
Faster response is possible with additional memory, but user surveys have indicated that it is not required. (x)
Definitions
처음 쓰는 terminology는 한번은 정의하고 가야한다.
We use homogeneous sets to represent these events.
To represent these events we use homogeneous sets, whose members are all of the same type.
Choice of words
긴 단어보다는 짧은 단어를
의미가 약한 단어보다는 길더라도 명확한 단어를 사용 한다.
The analysis derives information about programs.
The analysis estimates the resource costs of programs.
Qualifiers
많아봐야 하나의 수식어구를 써라.
It is perhaps possible that the algorithm might fail on unusual input.
The algorithm might fail on unusual input.
결론에서의 예제
We are planning to consider possible options for extending our results.
We are considering how to extend our results.
중복 부정
Merten's algorithm is not dissimilar to ours
very 또는 simply , quite 등의 수식어구들은 의미가 없으므로 쓰지 않는다.
Misused Words
부주의하게 비슷한 spelling을 가지고 표현하지 말아라.
대부분 which를 주로 사용하지만, that을 사용하고 콤마(,)뒤에 that은 위치 할 수 없으므로 이럴 때만 which를 쓴다.
There is one method which is acceptable. (x)
There is one method that is acceptable.
There are three options, of which only one is tractable.
Less는 연속적인 양 (continuous quantities) 을 나타낼때 쓴다.
It used less space
fewer는 이산적인 양 (discrete quantities) 을 나타낼때 쓴다.
Affect: 영향이나 결과
effect: 발생한 일의 결과
Alternate: 사이에, 다른것, 스위치
alternative: 선택할 수 있는
Assume: 사실로 가정함
Presume: 당연한 일로 여기는 것
Basic: elementary의 의미가 내포됨
Fundamental
Spelling Conventions
스펠링 체크를 영어권 국가마다 다 다를 수 있으므로 가장 일반적인 표현으로 통일하며
사전을 참고해서 단어를 사용해라.
최신 기술 용어에 대해서는 사전이 없는 경우가 많으므로, 다른 논문에서 사용된 technical term을 사용하는 것이 좋다.
Jargon (전문 분야의 특수 용어)
전문용어를 쓸때 그것이 obscure term들을 포함해서는 안된다. computer 분야에서는 서로 다른 의미로 사용 될 수 있기 때문이다.
(x) The transaction log is a record of changes to the database.
(o) The transaction log is a history of changes to the database.
첫 번째 경우 Database도 record들로 구성되며, program이 가지는 function으로도 고려 될 수 있다.
Synonyms (동의어)도 문제가 될 수 있다.
(x) Hughes describes an array of algorithms for list processing.
(o) Hughes describes several algorithms for list processing.
Cliche and Idiom
Scientific writing에서는 이러한 것들을 사용하지 말아라.
ex) "crop up", "lose track", "come to grips with", "it tuned out that", "play up", "stacked deck" and "right out"
Foreign Words
italics으로 강조해라.
Overuse of Words
같은 phrase를 여러번 사용하면, 독자를 짜증나게 할 수 있다.
(x) Ada was used for this project because the underlying operating system is implemented in Ada.
(o) Ada was used for this project because it is the language used for implementation of the underlying operating system.
Padding (연설 글등을 길게 만들려고 하는 군더더기)
쓸때없는 형용사 표현들을 말한다.
(x) A well-known method such as the venerable quick-sort is a potential practical alternative in instances of this kind.
가능하지 있는 일들은 아에 논하지 말아라. 이것으로 문장의 명확성이 만들어 진다.
(o) A method such as quick-sort is a potential alternative.
가끔 해당연구를 emphasize 하기 위해서는 wordy한 표현을 사용할 수 있지만,
most cast 에서 concise expression을 preferable 한다.
Wordy |
Concise |
Adding together |
Adding |
After the end of |
After |
In the region of |
Approximately |
Cancel out |
Cancel |
Conflated together |
Conflated |
Let us now consider |
Consider |
Cooperate together |
Cooperate |
Currently ... today |
Currently |
Divided up |
Divided |
Give a Description of |
Describe |
During the course of |
During |
In view of the fact |
Given |
A number of |
Several |
Whether or not |
Whether |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Plurals
단수 복수 처리는 뒤의 동사의 형태까지 변경하므로 중요한 것이다.
그렇다고, 너무 복수를 남발하면, 저자에게 혼돈을 주게된다.
(x) Packets that contain an error are automatically corrected.
(x) Packets that contain errors are automatically corrected.
하나의 패킷이 단일 에러를 같던지 여러개의 패킷이 여러 에러를 가지든지, 둘다 띁이 모두 가능 하다.
따라서 singular로 변경한다.
(o) A packet that contains an error is automatically corrected.
클래스를 나타내는 경우에도 plural은 필요 없다.
(x) These kinds of algorithms are irrelevant.
(o) These kinds of algorithm are irrelevant.
(o) Algorithms of this kind are irrelevant.
Abbreviations
공간 절약이 되지만, 리딩 속도를 갑자기 낮추기 때문에 사용하지 말아야 한다.
no. - number
i.e - that is
e,g - for example
c,f - "compared with" (or more accurately "in contrast to", since that is the sense in which "c.f." should be used)
w.r.t - with respect to
그리고 모든 Abbreviation은 맨처음 시작할때 반드시 설명을 함꼐 해야한다.
"so on"과 etc의 사용을 피하라. 어슬프고 독자를 깔보는 듯한 nuance를 준다.
(x) Methods available are random probing, extrapolation, etc
(o) Methods available include random probing and extrapolation
(o) Methods such as random probing and extrapolation can be used.
Acronyms
많이들 사용하는 어쩔수 없는 것이다.
사용하거든 반드시 설명해라
Sexism
he /she를 쓰지말아라.
(x) A user may be disconnected when he makes a mistake
(o) A user may be disconnected when they make a mistake
they로 썻기 때문에 앞부분을 변경해 준다.
(o) Users may be disconnected when they make a mistake.
좀 더 좋은 문장은 아래와 같다.
(o) A user who makes a mistake may be disconnected.