/ The Blog of Jinho Ko / Computer science

·

5 min read

Writing for Computer Science (Justin Zobel 저) - Part.1

By Jinho Ko

쓰기 기술은 모든 연구자에게 필수적이다. 예비 학생으로서, Justin Zobel이 저술한 Writing for Computer Science를 읽는 중이다. 책에는 다양한 범위의 내용들을 다루고 있다. 따라서 몇 포스팅에 걸쳐 이 책의 내용을 요약하고자 한다. 요약된 포스트들의 목록은 다음과 같다.

  1. Introduction (본 포스트 link ; chap 2까지 포함)
  2. Getting Started 
  3. Reading and Reviewing (link; chap 4까지 포함)
  4. Hypotheses, Questions, and Evidence
  5. Writing a Paper (link; chap 8까지 포함)
  6. Good Style
  7. Style Specifics
  8. Punctuation
  9. Mathematics (link; chap 11까지 포함)
  10. Algorithms
  11. Graphs, Figures, and Tables 
  12. Other Professional Writing (link; chap 13까지 포함)
  13. Editing
  14. Experimentation (link; chap 15까지 포함)
  15. Statistical Principles
  16. Presentations (link; chap 17까지 포함)
  17. Ethics

1. Introduction

쓰기가 과학에서 아주 중요하나, 많은 연구자들은 쓰기를 잘 하지 못한다. 과학에 필요한 능력과 쓰기에 필요한 기술은 다르기 때문이다. 많은 과학자들은 명료한 piece of writing을 쓰는 행위를 평가절하한다. 잘 쓰이지 못한 글은 잘못된 이해를 불러일으키고, 다른 사람들을 겁먹게 하거나, 독자들을 힘들게 한다.

출판물의 종류

  • Book
  • Thesis: the deep, definitive exploration of a single problem
  • Journals, conference proceedings: contributions (the journal is an end product, while the paper is more of like an "extended abstract", which may not include enough detail to make a solid argument for the claims)

Skepticism

쓰기의 핵심 가치는, 아이디어를 논리적이고 정리된 글로 말하는 과정이 생각을 정리하고 형성하도록 유도한다는 것이다.

과학계 문화의 보편적 원리는 "Skepticism"이다. 이는 곧 지식에 대한 open-minded approach이다. 이 과정은 우리의 아이디어를 설명하는 것으로 시작해, 어떤 형태의 출판물로 끝나게 되는데 이 전 과정에서는 writing이 요구된다.

2. Getting Started

많은 사람들은 지도 하에 단계를 밟으며 연구자가 되는 법을 배운다. 어떤 사람들은 이상한 방향으로 연구를 하려고 한다. 예를 들어, CS에서 많은 학생들은 실험을 하나의 소프트웨어 개발로 보고, write-up을 마치 매뉴얼 쓰듯이 한다(which is a very misguided habit). 그러나 연구는 결국 "papers"로 이끌면서 임팩트를 가지는 일을 하는 하는 것이다.

Beginnings

Shaping a Research Project

PhD를 위한 두 가지 목표가 있다. 단기적 목표는 현재의 탐구에 관한 것이고, 장기적 목표는 thesis를 위한 목표이다. 

우선 해야 할 것은, 다음 두 가지를 질문하는 것

  1. 어떤 넓은 범위의 문제를 조사해야 하는가?
  2. 가장 처음 해야 할 일이 무엇이고, 추구해야 할 아웃풋이 무엇인가?

주제를 고르는 과정에서, 다음을 고려해야 한다.

  • 학생들은 "이게 가장 흥미로운 주제인가?"를 질문하고 가장 잘 맞는 지도교수에 대해 의문을 갖는다.
  • 사실 주제가 근사한 정도는 고려해야 할 중요한 대상은 아니다.
  • 이 주제가 적당한 기술적 난이도를 가지는가?

어떤 문제를 고를 때, 또 다른 중요한 것은 진입장벽이다. 가끔, codebase도 요구된다. 또한, 분야가 오래됐을 수록, 알아야 할 지식은 많아지고, 연구할 스코프는 좁아지며, 대부분의 명확한 부분들은 다 연구되으며, baseline이 높다. 어떤 학생들은 아주 혁신적인 것을 이루는 걸 기대하지만, 이러한 돌파구(breakthrough)는 흔치 않다 (by its definition). 마이너한 발전이 더 rewarding할 수 있으며, 혁신적인 과제는 실패할 가능성이 높다.

많은 연구는 Incremental하다: 기존 연구들을 보완하는 작업이다. 연구 훈련의 단계에서, 핵심적인 가치는 흥미가 가는 가장 작은 문제를 고르는 것이다.

또한, 연구와 commercial implementation은 어느 정도 차이가 있는데, commercial에서 어떠한 발전을 이뤄냈더라도, 연구에서는 그 solution이 measure되는 데에 초점을 둔다.

Research Planning

다양한 일을 해내야 하는 Course와는 다르게, 일반적인 연구는 하나의 데드라인만이 있다; 바로 끝내는 것이다. 많은 사람들은 연구의 초반 단계 진행을 가지고 계획을 짜지만, 항상 각 단계는 예상한 것보다 오래 걸린다.

계획을 하는 좋은 어프로치는, 궁극적으로 끝나야 하는 것이 무엇인지를 생각하고, 역순으로 고려하는 것이다. 즉 논문을 내는 것을 먼저 고려하는 것이다. 다음 단계는, 가설과 관련해 어떤 실험이 필요한지를 생각하는 것이다.

계획의 방법은 다음과 같이 정리될 수(바라볼 수) 있다.

  1. 모든 연구의 component가 밝혀져야 하는 것은 맞으나, 반대로 모든 것들을 해낼 필요는 없다.
  2. 다음의 자세로 계획을 세우자: skeptical에게 우리가 맞음을 보이기 위해서는 어떤 증거를 모아야 하는가?

모든 계획이 생각보다 오래 걸린다는 것을 명심하자. 효율적인 방법은, 여러 step들을 오버랩하면서 진행하는 것이다. 가장 중요한 것은, 시간 앞에서 유연해지는 것이다. 매일 계획을 수정하고, current bottleneck을 분석하면서 나아가야 한다.

Advisors

Advisors are powerful figures in students' lives. 그들은 다음과 같은 문제들을 학생들에게 던져준다.

  • problems such as verifying a proof and applications to variants of the theorem
  • attempt to confirm someone else's results, by developing a fresh implementation.

(In most cases 논문 구현에 해당될 것이다.)이러한 연구들은 아주 좋은 연구 question의 source가 된다.

Advisor의 경험이 가장 중요시되는 부분은, 주제를 정하는 데 있다. 다른 이들의 업적과는 차이가 있어야 하고, 어느 정도의 혁신도 있어야 하며, 높은 성공 가능성도 있어야 한다. 학생 역시 해당 주제에 대해 지도교수의 supervision이 가능한 지에 대해 고려해야 한다.

Advisor들은 아주 바쁜 사람들이다. 미팅을 준비하라. 그들은 바보가 아니기 때문에, 이상한 짓을 하면 다 알아차린다. In the end, it's all about teamwork.

성공적인 학생들의 특징

  1. 세부 주제를 넘어서 분야를 넓게 탐구하고, 읽으며, 시도해보고, academic community의 일환이 되었음.
  2. 흥미를 기르고 thesis로 발전할 프로젝트에 대한 조언을 구함.
  3. 큰 주제 속 디테일에 대한 탐구를 지속할 수 있음.
  4. 책임감을 가지고, 어떤 일을 해야 하고 어떻게 보여줘야 하는지를 앎.
  5. 체계적이고 정리를 잘 하며, 열정과 훈련, 엄격함과 질, 그리고 높은 기준을 가지고 있음.
  6. 그들의 한계와 지식의 부족을 극복하기 위해 습관과 일하는 모습을 계속 발전시킴.
  7. 그들의 일은 그럴듯 해 보임; 좋은 질의 논문인 것 처럼 보이는 형식과 느낌이 있음.
  8. 실패에도 계속 앞으로 나아갈 용기가 있음. 

(나의 경우, 1,4,5,7은 어느 정도 자신이 있다. 하지만, 2,3,6,8은 극복해야 할 부분으로 생각된다.)

학업이 중요하긴 하나, 많은 똑똑한 사람들이 좋은 연구자가 되는건 아니다. 성공한 연구자들은 지속적으로 흔들림 없이 장애물을 뚫고 나아갔다.

A Getting Started Checklist

  • 당신의 주제는 연구주제가 맞음이 명확한가?
  • 당신의 주제는 소프트웨어 개발이나 데이터 분석과 무엇이 다른가?
  • 주제의 스케일은 당신의 능력과 관심에 부합한가? 연구에서 해결하고자 하는 것이 날카롭게 정의되어 있는가?
  • 주제가 독립적이고 결과가 인상적인가?
  • 완성을 위해, 어떠한 기술과 기여가 필요한가?, 아니면 어떤 것을 배워야 하는가?
  • 예상되는 장애물은 무엇이며 어떻게 해결할 것인가?
  • 마일스톤을 포함한 로드맵을 작성할 수 있는가?
  • 지도교수와 방향에 대한 생각이 일치하는가?

last modified June 2, 2024
comments powered by Disqus

© Copyright 2024. Jinho Ko. All rights reserved. Last updated: June 02, 2024.