Cử nhân, thạc sĩ, và tiến sĩ

Cử nhân, thạc sĩ, và tiến sĩ
(Dịch từ: http://tinyurl.com/ya55jj4h)
—-
Tôi đã thử suy ngẫm về sự khác nhau giữa cử nhân, thạc sĩ và tiến sĩ.
1) Cử nhân
Có thể tự mình đọc bài báo khoa học và thực hiện những thử nghiệm bổ sung. Không nhất thiết phải theo đuổi những kết quả nghiên cứu tốt nhất nhưng cũng phải nắm bắt được những nghiên cứu tiêu biểu trong những năm gần đây.
2) Thạc sĩ
Có thể tiếp cận về mặt lý luận những vấn đề chưa được giải quyết (dù nhỏ cũng được); có thể tự mình thực hiện thực nghiệm và quan sát để kiểm chứng những giả thuyết được lập nên.
3) Tiến sĩ
Thử thách bằng cách tiếp cận độc đáo, sáng tạo với những vấn đề được nhận thức là vấn đề chung trong lĩnh vực nghiên cứu. Ví dụ, dù không giải quyết được vấn đề, nhưng cách tiếp cận tự nó ẩn chứa khả năng áp dụng sang vấn đề khác.
Trong thế giới này, có những công việc đòi hỏi thời gian. Nếu (chúng ta) vội vàng tiến lên những giai đoạn tiếp theo một cách vô lý thì về sau sẽ phải trả giá. Nếu bạn là típ người như vậy thì tôi nghĩ rằng bạn tốt nhất là theo con đường khác.

Bằng tiến sĩ

Chỉ là một giấy phép (license) trong nghiệp nghiên cứu. Nó không phải là một chứng nhận rằng bạn là bậc thầy trong ngành mà mang nghĩa giống như giấy phép lái xe hay chứng chỉ hành nghề bác sĩ. Không có nó, chúng ta vẫn có thể nghiên cứu. Nhưng sau đó, bạn có thể bị đặt câu hỏi là vì sao bạn không có nó. Trường hợp tôi cố gắng lấy bằng tiến sĩ đó là, tôi đã xấu hổ khi được giới thiệu trong hội nghị quốc tế: “diễn giả tiếp theo là tiến sĩ Kazawa. (những diễn giả từ doanh nghiệp và không có bằng tiến sĩ cũng không có gì dở cả). Điều đấy đã làm tôi khó chịu.

Advertisements

Checklist cho luận văn thạc sĩ

Checklist cho luận văn thạc sĩ (Cho các sinh viên đang viết luận văn thạc sĩ)

  1. Có thực hiện lại được không? (Reproducibility). Để thực hiện lại được, nên cố gắng đóng gói chương trình sao cho với mỗi kết quả trong luận văn thạc sĩ, chỉ cần chạy một script duy nhất để tái hiện lại được các kết quả từ dữ liệu thô. Ngay cả các bảng số liệu, hình vẽ cũng nên sinh ra bằng chương trình máy tính.
  2. Có tính mới mẻ không? (Novelty). Có tính mới mẻ về mặt khoa học là yêu cầu dành cho những luận văn thạc sĩ xuất sắc. Nhưng luận văn thạc sĩ cũng nên cũng có tính mới về mặt thực hành.
  3. Đã chỉnh sửa lại nhiều lần chưa? Không chỉ tự mình chỉnh sửa mà nên nhờ thầy hướng dẫn và nhiều người khác mà mình tin cậy đọc và chỉnh sửa giúp.
  4. Đã hiểu rõ các nghiên cứu trước chưa?
  5. Tự bạn đánh giá xem mình có đủ điều kiện tốt nghiệp thạc sĩ chưa?

Bài viết dựa trên nguồn tiếng Nhật: 【卒論修論のさしすせそ】https://twitter.com/nh_m_/status/423322673993633792
さ:再現性あるの
し:新規性あるの
す:推敲は何度もしましたか
せ:先行研究ちゃんと理解してるの
そ:卒業できると思ってるの
#noted #teaching

Mastering Programming

Dịch từ bài viết “Mastering Programming” của tác giả Kent Beck.

Qua nhiều năm quan sát những lập trình viên bậc thầy, tôi đã nhận thấy những mô thức chung trong quy trình làm việc của họ. Qua nhiều năm huấn luyện những lập trình viên ở mức thạo nghề, tôi đã nhận thấy sự thiếu vắng những mô thức đó. Tôi đã thấy sự khác biệt (mà) khởi đầu cho những mô thức đó, có thể tạo ra.

Đây là những cách thức mà những lập trình thu được hiệu quả tốt nhất có thể từ hơn 3 tỉ giây quý báu của họ ở trên trái đất này (ý nói là thời gian trong 1 năm – lời người dịch).
Bài luận này sẽ làm bạn sáng tỏ hơn về những điều đó. Một “công nhân thạo nghề” học cách giải quyết những vấn đề lớn hơn bằng cách cùng một lúc giải quyết nhiều vấn đề hơn. Một bậc thầy học cách giải quyết những vấn đề còn lớn hơn thế bằng cách giải quyết ít vấn đề hơn cùng một lúc. Các phần của lời khuyên này sẽ được chia nhỏ sao cho việc tích hợp những giải pháp riêng biệt sẽ là một vấn đề nhỏ hơn việc chỉ giải quyết chúng đồng thời.

Thời gian

  • Phân chia. Lấy một dự án lớn, cắt nó thành các phần nhỏ, và sắp xếp lại các phần sao cho phù hợp với hoàn cảnh. Tôi luôn có thể phân chia các dự án nhỏ hơn và luôn tìm thấy những cách thay đổi trật tự của các phần mà phù hợp với các nhu cầu khác nhau.
  • Một việc tại một thời điểm. Chúng ta tập trung vào tính hiệu quả đến mức chúng ta giảm số lượng số vòng phản hồi (feedback cycles) trong một nỗ lực để giảm tổng chi phí. Điều này dẫn đến những tình trạng gỡ lỗi phức tạp mà chi phí của nó có thể còn lớn hơn tổng phí về số vòng phản hồi mà chúng ta đã tránh.
  • Viết chương trình chạy được, chạy đúng, và chạy nhanh (Make it run, make it right, make it fast). (Ví dụ của một việc tại một thời điểm, phân chia công việc, và dễ dàng sửa đổi).
  • Những sửa đổi dễ dàng. Khi bạn phải đối mặt với một sự thay đổi phức tạp, đầu tiên hãy làm cho nó dễ đi (tôi cảnh báo rằng điều này có khó), sau đó thực hiện việc sửa đổi dễ (ví dụ: phân chia công việc, làm một việc tại một thời điểm, tập trung, và sự cô lập. Đây là một ví dụ của việc phân chia công việc.
  • Sự tập trung. Nếu bạn cần thay đổi một vài thành phần, đầu tiên hãy sắp xếp lại mã chương trình sao cho sự thay đổi chỉ cần xảy ra trong một thành phần.
  • Sự cô lập. Nếu bạn chỉ cần thay đổi một phần của một thành tố, hãy trích xuất thành tố đó ra để thay đổi trên toàn bộ thành tố con đó.
  • Quản lý các hệ thống cơ sở. Bắt đầu các dự án bằng việc so sánh với những hệ thống đã có. Điều này có thể chống lại thiên hướng muốn bắt đầu sửa chữa mọi thứ của chúng ta, nhưng khi bạn xem xét các hệ thống cơ sở, bạn sẽ thực sự biết liệu có đúng là bạn đang làm công việc sửa chữa những thứ hiện có không.

Học tập

  • Trước khi thực thi chương trình, dự đoán chính xác điều gì sẽ xảy ra.
  • Các giả thuyết cụ thể. Khi chương trình hoạt động không đúng, hãy minh định những gì bạn cho là sai trong chương trình trước khi thực hiện sự thay đổi. Nếu bạn có hai hay nhiều hơn các giả thuyết, hãy phân tích sự khác biệt giữa các giả thuyết đó.
  • Loại bỏ chi tiết không liên quan. Khi báo cáo một lỗi, hãy tìm những bước ngắn nhất để sinh lại lỗi đó. Khi cô lập một lỗi, hãy tìm những ví dụ (test case) ngắn nhất. Khi sử dụng một API mới, bắt đầu từ những ví dụ đơn giản nhất. “Tất cả những thứ này không thành vấn đề” là một giả thuyết quá mạnh và có khi là sai lầm.
    • Ví dụ, hãy xem một lỗi trên mobile, sinh lại nó với chương trình curl.
  • Đa quy mô. Di chuyển tự do giữa các quy mô (ví dụ khi thực thi trên dữ liệu nhỏ sang thực thi trên dữ liệu lớn — cách hiểu của người dịch). Có thể đây là một vấn đề thiết kế, không phải là vấn đề kiểm thử. Có thể vấn đề này liên quan đến con người chứ không phải là một vấn đề công nghệ [Lừa đảo, điều này luôn đúng].

Những thứ vượt trên cả logic

  • Tính đối xứng. Những thứ gần như nhau có thể phân chia chia thành những phần giống hệt nhau và những phần khác biệt rõ ràng.
  • Tính thẩm mỹ.
  • Nhịp điệu. Chờ đợi cho đến thời điểm đúng bảo toàn năng lượng và tránh sự lộn xộn.
  • Cân bằng (tradeoffs). Tất cả những quyết định là chủ đề của việc tradeoff. Quan trọng hơn là biết quyết định phụ thuộc vào cái gì hơn là biết câu trả lời bạn lựa chọn hôm nay (hoặc câu trả lời này bạn đã lựa chọn hôm qua).
  • Danh sách niềm vui (Fun list). Khi các ý tưởng không thứ tự đến, hãy ghi chép chúng và quay trở lại làm việc nhanh chóng. Xem lại danh sách khi bạn tạm dừng.
  • Chăm sóc các ý tưởng. Các ý tưởng giống như là những chú chim nhỏ dễ sợ hại. Nếu bạn doạ chúng đi, chúng sẽ dừng việc đến với bạn. Khi bạn có một ý tưởng, hãy chăm chút nó một chút. Kiểm chứng để loại bỏ chúng nhanh nhất có thể, nhưng từ dữ liệu chứ không phải là từ sự thiếu sự say mê.
  • Nguyên tắc 80/15/5. Sử dụng 80% thời gian của bạn cho những công việc nguy cơ thấp hoặc những công việc được trả lương vừa phải. Sử dụng 15% thời gian của bạn cho các việc nguy cơ cao/trả lương cao có liên quan. Sử dụng 5% thời gian của bạn cho những việc làm cho bạn thích thú, không quan tâm tới kết quả. Hãy dạy những người tiếp nối bạn làm 80% công việc của bạn. Vào thời gian ai đó sẵn sàng để đảm nhận công việc, một trong số 15% thí nghiệm của bạn (hoặc ít thường xuyên hơn, một trong số 5% thí nghiệm) sẽ cho kết quả và trở thành phần 80% của bạn. Lặp lại điều đó.

Kết luận

Dòng chảy trong trong bản phác thảo này dường như bắt đầu từ việc giảm nguy cơ bằng việc quản lý thời gian đến việc chấp nhận mạo hiểm một cách có ý thức bằng cách sử dụng toàn bộ não bộ và nhanh chóng quyết định độ ưu tiên của các ý tưởng.

Để công việc nghiên cứu tiến triển, điều gì là quan trọng nhất?

Dịch từ bài viết “研究を前にすすめるためには「何」が最も重要か?” đăng trên trang blog của Nakahara Lab.

Đây là câu chuyện mới xảy ra cách đây không lâu. Một sinh viên sau đại học đang bế tắc trong nghiên cứu và đã đến tham khảo ý kiến tôi. Đây là một điều khá bất ngờ với tôi, nên chủ đề câu chuyện đã phát triển như sau đây.

“Vậy thì, thưa giáo sư, để làm nghiên cứu tốt thì điều gì là quan trọng?”

“Uhm… Cái gì nhỉ (cười). Thầy cũng đang muốn được nghe đây…
Cho đến bây giờ, với người chưa từng thực sự cảm thấy cái gọi là “nghiên cứu tốt” như thầy thì cũng khó trả lời cho câu hỏi của em đấy (cười).”

Nhưng ở đây, nếu thay đổi câu hỏi đi một chút, tôi sẽ nói với các bạn còn đang băn khoăn như sau. “Nếu bạn hỏi, “để sinh viên sau đại học đạt được tiến triển trong việc nghiên cứu, điều gì là quan trọng?, thì tôi sẽ trả lời được.”

Trong các nghiên cứu ở các bậc thạc sĩ hay tiến sĩ, hơn thế nữa, trong những nghiên cứu liên quan đến lĩnh vực của tôi, nếu bạn hỏi “Để có tiến triển trong nghiên cứu, điều gì là quan trọng?” thì tôi với khoảng 10 năm kinh nghiệm hướng dẫn sinh viên ở bậc sau đại học có thể nhanh chóng đưa ra câu trả lời của riêng mình. Continue reading

Cách trình bày báo cáo khoa học

Dịch từ bài viết “Giving a technical presentation (giving a scientific talk)” của giáo sư Michael Ernst, khoa khoa học máy tính, đại học Washington.

Mở đầu

(Bạn có thể đọc thêm các lời khuyên của tôi về thuyết trình khi ứng tuyển công việccách làm poster).

Có rất nhiều tài liệu tham khảo tốt liên quan đến cách thuyết trình hiệu quả. Ở đây, thuyết trình mang ý nghĩa là một bài thuyết trình về kết quả nghiên cứu khoa học, có thể là ở một hội nghị, cho nhóm nghiên cứu của bạn, hoặc thuyết trình với tư cách diễn giả khách mời ở trường đại học hay lab nghiên cứu khác. Bài viết này không thể thay thế những tài liệu tham khảo đó, nhưng nó sẽ ghi lại vắn tắt một vài vấn đề tôi rất thường xuyên nhìn thấy ở các buổi thuyết trình. Continue reading

Cách viết báo cáo tiến độ nghiên cứu

Dịch từ tài liệu “Writing a progress/status report” của giáo sư  Michael Ernst, ngành khoa học máy tính, đại học Washington, Mỹ.

Viết báo cáo hàng tuần về tiến độ nghiên cứu có thể giúp nghiên cứu của bạn thành công hơn, bạn ít chán nản hơn, và giúp người khác biết về nghiên cứu của bạn đang làm và nhiều những lợi ích khác nữa.

Một bố cục tốt là viết báo cáo tiến độ thành ba phần:

  1. Trích dẫn lại kế hoạch tuần trước. Điều này giúp bạn xác định rõ liệu mình đã hoàn thành các mục tiêu không.
  2. Trình bày rõ tiến độ của tuần vừa rồi. Trong đó, nội dung có thể bao gồm các thông tin như: những gì bạn đã hoàn thành, những gì bạn đã học được, những khó khăn bạn đã vượt qua, những gì còn vướng mắc chưa giải quyết được, những ý tưởng mới cho các hướng nghiên cứu hay dự án nghiên cứu, vv.
  3. Đưa ra kế hoạch tuần kế tiếp. Một định dạng tốt là một danh sách gồm các gạch đầu dòng, vì  như vậy bạn có thể thấy được những gì mình đã hoàn thành và chưa hoàn thành. Cố gắng thiết lập mục tiêu có thể đo đếm được: không nên có những nhập nhằng về việc đánh giá liệu bạn đã hoàn thành nó hay chưa. Kế hoạch cũng có thể gồm cả những mục tiêu dài hạn.

Báo cáo không cần phải nặng nề, quá tốn công để viết. Nó có thể là một vài đoạn văn hoặc một trang, vì thế bạn không nên bỏ ra thời gian dài để viết. Giảm thiểu những chi tiết không thích đáng với người đọc, ví dụ như công việc trên trường hay những thứ đại loại như thế để sao cho báo cáo của bạn tập trung vào điểm quan trọng; làm như thế, bạn sẽ tốn ít thời gian hơn để viết, mà tăng cơ hội người khác đọc nó.

Việc viết báo cáo tiến độ có nhiều lợi ích.

Viết báo cáo sẽ giúp bạn làm việc hiệu quả hơn vì nó khiến bạn suy nghĩ về công việc đủ cụ thể, tỉ mỉ để có thể viết thành báo cáo. Bất kỳ thời gian nào bạn dành để sắp xếp những suy nghĩ của mình cũng giúp bạn hiểu sâu sắc hơn và tăng hiệu quả công việc. Khi hoàn thành một dự án, bạn rất dễ quên một vài đóng góp của mình. Bạn có thể nhìn lại toàn bộ những báo cáo tiến độ để nhớ lại đâu là vấn đề khó, và để nghĩ về cách làm thế nào làm việc hiệu quả hơn trong tương lai. Bạn cũng có thể dùng lại một số nội dung trong các báo cáo khi bạn cần viết tổng kết về các kết quả nghiên cứu.

Viết báo cáo sẽ giúp cho các buổi họp trở nên hiệu quả hơn. Khi bạn có một buổi họp thảo luận hàng tuần, bạn nên gửi báo cáo trước 24 giờ để giúp cho mọi người chuẩn bị. (Gửi trước 2 giờ là không thể chấp nhận được: nó không đủ để mọi người (bao gồm bạn và người khác) suy nghĩ cẩn thận về các ý tưởng.) Đừng trì hoãn báo cáo của bạn chỉ bởi vì bạn muốn đợi cho đến khi bạn có các kết quả tốt hơn để báo cáo. Thay vào đó, gửi báo cáo đúng như lịch dự kiến, và nếu bạn có thêm kết quả trong 24 giờ tới, bạn có thể thảo luận về chúng tại buổi họp.

Viết báo cáo sẽ đưa đến cho bạn những phản hồi từ một góc nhìn mới mẻ. Báo cáo cho phép những người bên ngoài dự án nghiên cứu của bạn biết về những việc bạn đang làm. Những người đó có thể góp ý những ý tưởng và gợi ý mới — qua đó có thể giúp bạn gỡ rối và mang lại cho bạn những hướng mới để khám phá. Nó cũng giúp bạn được người khác để ý và nhắc họ về công việc nghiên cứu của bạn. Điều đó hữu ích nếu bạn không gặp họ thường xuyên. (Đối với các sinh viên PhD, báo cáo định kỳ cho những người trong hội đồng luận án có thể đem lại những lợi ích lớn.)

Viết báo cáo giúp lý giải (chủ yếu cho bạn, nhưng cũng cho người khác nữa) về cách bạn đã sử dụng thời gian — thậm chí nếu không có nhiều tiến triển như bạn mong muốn, bạn có thể thấy rằng bạn đã làm việc chăm chỉ, và thấy được cách làm thế nào để tăng năng suất và hiệu quả công việc trong tương lai.

Cách viết một bài báo khoa học

Dịch từ tài liệu “Writing a Technical Paper” của Michael Ernst, giáo sư ngành khoa học máy tính, đại học Washington, Mỹ.

Tài liệu này vạch ra một vài phương pháp đơn giản, cụ thể để nâng cao chất lượng viết lách của bạn, bằng cách tránh một số lỗi phổ biến. Phần cuối của tài liệu có thêm những tài nguyên để cải thiện công việc viết lách.

Một số người tin rằng công việc viết bài báo khoa học, thuyết trình, và những hoạt động mang tính “marketing” tương tự không phải là những phần việc trong nghiên cứu mà chỉ là công việc phụ hoặc thậm chí gây ra những xao nhãng không mong muốn. Quan điểm đó không chính xác. Mục đích của công việc nghiên cứu là mở rộng kho tri thức của nhân loại, và vì thế ngay cả những công trình nghiên cứu tốt nhất cũng thành vô dụng nếu bạn không thể truyền đạt nó một cách hiệu quả ra bên ngoài giới nghiên cứu. Thêm nữa, công việc viết bài báo và thuyết trình sẽ làm sáng tỏ những suy nghĩ của chính bạn và do đó cải thiện chất lượng nghiên cứu của bạn. Bạn có thể ngạc nhiên khi biết việc truyền đạt một cách mạch lạc những ý tưởng và đóng góp của mình khó như thế nào. Thực hiện nó sẽ “ép” bạn hiểu sâu sắc hơn về những ý tưởng và đóng góp của mình trong công trình nghiên cứu và cho phép bạn cải tiến chúng. Continue reading