Khoa học tính toán có liên quan đến lập trình không?


16

Tôi đọc về khoa học tính toán trên Wikipedia, nhưng sự hiểu biết của tôi không rõ ràng lắm.

Liệu khoa học tính toán có liên quan đến lập trình? Khoa học tính toán khác với tính toán _ ____ như thế nào , trong đó khoảng trống có thể là bất kỳ ngành học nào (khoa học vật liệu, kỹ thuật, hóa học, sinh học, v.v.)? (Tôi sẽ làm khoa học vật liệu tính toán.)


5
Tôi khuyên bạn nên xem tại đây: scicomp.stackexchange.com/questions/1148/ . Vấn đề của khoa học tính toán là nó có thể áp dụng cho hầu hết các ngành khoa học vật lý dưới một số hình thức (nó có thể không phải là cách hiệu quả nhất để xử lý vấn đề, nhưng đó hoàn toàn là một câu hỏi khác).
Godric Seer

Rất nhiều điều khó để chứng minh về mặt toán học. Thật tốt, khi bạn có thể lập trình mọi thứ và thử chúng. Chắc chắn, Khoa học tính toán không dễ dàng, nhưng với rất nhiều công việc, bạn sẽ có thể làm được.
vanCompute

1
Chào mừng đến với scicomp, Sheryl. Tôi nghĩ rằng bạn đã hỏi một số câu hỏi ở đây. Vui lòng chỉnh sửa những gì bạn đã viết để nó chỉ là một câu hỏi duy nhất. Nếu bạn muốn, bạn có thể gửi riêng các câu hỏi khác, từng câu hỏi một.
David Ketcheson

Tôi để câu hỏi này một lúc vì Wolfgang trả lời rất hay, nhưng tại thời điểm này, nó cần phải được đóng lại và chỉnh sửa trước khi mở lại, để câu hỏi tập trung hơn.
Geoff Oxberry

Câu trả lời:


14

Liên kết Godric chỉ ra dưới câu hỏi là hoàn toàn chính xác. Nó cung cấp một cái nhìn tổng quan tốt về nhiều tài năng mà một nhà khoa học tính toán phải có.

Nói chung, sự khác biệt giữa việc trở thành một Máy tính X (X = nhà toán học, kỹ sư xây dựng, nhà khoa học vật liệu) và là Lý thuyết X hoặc Thử nghiệm X là trước đây giải quyết các vấn đề với máy tính thay vì thử nghiệm hoặc lý thuyết. Rõ ràng, khả năng sử dụng máy tính - đặc biệt là lập trình cho chúng - là một phần quan trọng của vấn đề này, cũng như các kỹ năng và sự hiểu biết tốt về chính X.

Các nhà khoa học tính toán là những người không ngay lập tức thuộc cộng đồng X nhưng thường có nền tảng về toán học hoặc khoa học máy tính. Tôi sẽ tính mình là một. Tôi muốn nói rằng hầu hết trong số họ không quan tâm nhiều đến bất kỳ ứng dụng cụ thể nào (ví dụ: X), mà chỉ xem xét giải quyết các vấn đề trong trường X như một cách để phát triển và áp dụng các phương pháp tính toán và số mới - ví dụ như là các thử nghiệm cho các phương pháp được áp dụng rộng rãi hơn. Nhiều nhà khoa học tính toán là những lập trình viên xuất sắc và quan trọng hơn là các nhà thiết kế và kỹ sư phần mềm. Giỏi về điều đó chắc chắn là một phần quan trọng trong mô tả công việc của một nhà khoa học tính toán.


1
Nói rất hay.
Jack Poulson

Toán học tính toán là gì?
Milind R

Ai đó có mục tiêu là phát triển các phương pháp toán học cho các vấn đề tính toán. Ví dụ: để phát triển các phương pháp phần tử hữu hạn, bộ giải tuyến tính hoặc phi tuyến, v.v.
Wolfgang Bangerth

1
tốt, ngoại trừ máy tính có thể thực hiện "thí nghiệm tính toán", ví dụ như trong nghiên cứu toán học hoặc cs. (một loại / loại thí nghiệm khác.) cũng được gọi là "nghiên cứu thực nghiệm" trong các lĩnh vực này, có thể không phải là thuật ngữ tốt nhất nhưng là thuật ngữ được sử dụng. đây là một mô hình mới / lớn mới nổi. đặc biệt với "dữ liệu lớn", v.v.
vzn

6

Nói một cách thô bạo, bạn sẽ không phải là một chuyên gia giỏi nếu bạn tuyên bố sẽ làm 'khoa học tính toán' nhưng không biết lập trình.

Để làm tính toán, bạn cần một công cụ. Và máy tính là một công cụ như vậy. Lập trình là cách duy nhất để dạy máy tính cách làm một việc. Do đó lập trình là một phần thiết yếu của khoa học tính toán. Điều này không có nghĩa là nó là phần duy nhất của nó. Lý thuyết có nơi linh thiêng của riêng mình. Nếu bạn rất giỏi về lý thuyết, bạn sẽ thiết kế tốt hơn, và thuật toán chính xác nào quan trọng hơn.

Theo như tôi thấy, bạn có thể tồn tại mà không cần biết lập trình: bằng cách thiết kế các thuật toán theo lý thuyết. Nhưng sau đó bạn phải thuê một người khác biết lập trình để xác minh xem thuật toán của bạn có hoạt động trong thời gian thực hay không.

Bên cạnh đó, thực tế của thế giới hiện đại là những người biết lập trình được trả lương cao hơn. IMHO!


3

Tôi không biết các phiên bản sách giáo khoa về định nghĩa hoặc mô tả về khoa học tính toán nhưng đây là hai xu của tôi dựa trên kinh nghiệm của tôi:

Khoa học tính toán liên quan đến việc xử lý các quá trình tính toán. Một trong những quá trình quan trọng là lập trình. Vì vậy, vâng, nó liên quan đến lập trình. Đây là một vấn đề khác, nhà khoa học tính toán có phải là người viết chương trình hay không nhưng rất có thể cô ấy sẽ là người sử dụng các chương trình được viết cho các lĩnh vực khoa học cụ thể. Và ngày càng có nhiều khả năng cô ấy sẽ phải viết mã "keo" để làm cho mọi thứ phù hợp với nhu cầu của mình. Hy vọng điều này trả lời câu hỏi đầu tiên của bạn.

Tôi không biết về khoa học vật liệu tính toán nhưng cho rằng đây là một nhánh của khoa học có nhu cầu tính toán, ví dụ như mô phỏng năng lượng và tương tác giữa các yếu tố, v.v. thuật toán, thủ tục, mã keo, thao tác tập tin, cấu hình, trực quan hóa và như vậy. Hy vọng điều này gần với việc trả lời câu hỏi thứ hai của bạn.

Nền tảng khoa học máy tính của bạn chắc chắn sẽ giúp. Wether nó có trong phạm vi hay không là một chút chủ quan. Tuy nhiên, tôi sẽ nói, nó sẽ rất nhiều trong vùng thoải mái của bạn với các môn bạn đã học.


Tốt. Trên thực tế, liên quan đến các môn như Vật lý Kỹ thuật, Hóa học - Tôi không khoa học. Trong những năm gần đây, trọng tâm chính của tôi là Khoa học máy tính - Lập trình cụ thể. Nếu ai đó hỏi tôi vật lý lượng tử và tất cả, tôi không tốt như vậy.
Sheryl

Nếu dự án này chủ yếu là về "lập trình" với ý thức tốt về vật lý; Tôi đoán tôi có thể xử lý. (Bên cạnh đó, cơ học là phần yêu thích của tôi về vật lý nơi tôi có nền tảng vững chắc.)
Sheryl

5
Không có định nghĩa trong sách giáo khoa về khoa học tính toán, nhưng đây là những gì Bộ Năng lượng Hoa Kỳ nói rằng khoa học tính toán là một phương pháp liên ngành sử dụng thuật toán, toán học và máy tính để phân tích và giải quyết các vấn đề khoa học và kỹ thuật.
Aron Ahmadia

3

Đây là một loại câu trả lời khác nhau, nhưng theo tôi, khá thú vị.

Tôi đã xem xét tất cả những người dùng bản beta này với hơn 1000 danh tiếng. Tôi nghĩ rằng những người này có thể được coi là làm khoa học tính toán. Đối với mỗi người trong số họ, tôi đã xem hồ sơ và xem họ có tài khoản trên StackOverflow không, đây có thể được coi là một dấu hiệu của việc quan tâm đến lập trình. Đây là kết quả:

Trên 25 users having more than 1000 reputation:

  • 4 (16%)không có tài khoản.
  • 5 (20%)chỉ cần mở tài khoản mà không đạt được danh tiếng.
  • 16 (64%)đóng góp trên StackOverflow.

Vì vậy, ít nhất 84%trong số họ quan tâm đến lập trình. Theo tôi, điều này cho thấy lập trình là một phần thiết yếu trong công việc của máy tính khoa học :-) Đó chỉ là sự xác nhận cho các câu trả lời khác!

Một sự thật thú vị khác (mà tôi không định lượng được) là tất cả những người dùng này đều có tài khoản theo nhiều chủ đề, không chỉ Khoa học tính toán và StackOverflow! Tôi nghĩ rằng điều này chỉ đi theo hướng câu trả lời của Wolfgang Bangerth.


2

Phát biểu từ kinh nghiệm cá nhân của tôi, tôi biết các nhà khoa học tính toán khá xuất sắc, những người ít có kiến ​​thức hoặc kinh nghiệm lập trình thực tế. Mặt khác, hầu hết các nhà khoa học tính toán mà tôi biết đều biết cách lập trình máy tính.

Không có câu trả lời cuối cùng cho phần câu hỏi của bạn. Câu hỏi bạn phải tự hỏi mình là: Tôi có sẵn phần mềm cho tôi để tôi giải quyết vấn đề của mình không, hoặc là một phần công việc của tôi sẽ là viết phần mềm có thể giải quyết vấn đề trước và sau đó sử dụng phần mềm để giải quyết vấn đề thực tế. Câu trả lời cho điều này sẽ xác định xem bạn có cần biết lập trình hay không.


1

Câu hỏi thú vị, tôi đang học ngành khoa học vật liệu tính toán, và tôi là học sinh tốt nghiệp từ một chuyên ngành vật lý. Cho đến nay số lượng lập trình tôi đã thực hiện là tối thiểu, nhưng đó là nói cho chính tôi. Thông thường, các mục tiêu cụ thể của dự án của bạn sẽ xác định số lượng mã hóa chính xác mà bạn sẽ làm. Nếu đó là một cái nhìn cụ thể bằng cách sử dụng các kỹ thuật và phần mềm tiêu chuẩn, tệ nhất là cuối cùng bạn sẽ viết các tập lệnh Bash / Python để tự động hóa mọi thứ xung quanh mã bạn đang sử dụng. Tôi cho rằng bạn sẽ thực hiện một số chương trình có thể để thực hiện những thứ bạn tìm cách xác nhận, vì vậy câu trả lời ngắn gọn: không thể nói cho khoa học tính toán, nhưng đối với khoa học vật liệu tính toán, số lượng lập trình nếu có sẽ được xác định bởi dự án của bạn.


1

Tôi sẽ trả lời phần thứ hai. Mặc dù có thể có nhiều sự chồng chéo giữa một nhà khoa học tính toán nói chung và X tính toán chuyên ngành tùy thuộc vào sở thích của một người, mối quan tâm chính của nhà khoa học tính toán là giới thiệu các kỹ thuật tính toán mới để nghiên cứu một vấn đề trong lĩnh vực miền. Điều mới trong kỹ thuật tính toán có thể là một tính toán mới mà không thể thực hiện được do thiếu các công cụ tính toán phù hợp hoặc một cách nhanh hơn. Mặt khác, tính toán X sẽ quan tâm đến việc sử dụng các công cụ mới này để nghiên cứu các vấn đề mới. Do đó, nói chung, trước hết, một nhà khoa học tính toán sẽ đưa ra một tuyên bố vấn đề, giải thích khung chung để giải quyết nó, áp đặt một số hạn chế về khả năng áp dụng công cụ (tốc độ / lỗi, v.v.) và sẽ giải quyết vấn đề như một bằng chứng về khái niệm. Đối với phần đầu tiên,

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.