Toán học rời rạc quan trọng như thế nào đối với một nhà khoa học máy tính? [đóng cửa]


8

Như tiêu đề nói,

Toán học rời rạc quan trọng như thế nào đối với một nhà khoa học máy tính? Bối cảnh: Tôi đang theo đuổi bằng thạc sĩ, tập trung vào các nguyên tắc cơ bản như Thuật toán, Độ phức tạp và Lý thuyết tính toán và Ngôn ngữ lập trình để có nền tảng tốt để làm việc trong lĩnh vực Điện toán song song.

Một số thông tin cơ bản khác: Trường đại học của tôi cấp rất nhiều sự tự do trong việc lựa chọn các khóa học cho bằng thạc sĩ của tôi. Nó chính thức được gọi là "Kỹ thuật phần mềm", nhưng do một loạt các môn tự chọn, một trọng tâm khác nhau là có thể. Thật thú vị, không có môn tự chọn nào là một bài giảng trong môn Toán! Tôi đang suy nghĩ về việc thực hiện một khóa học về Toán học rời rạc, sẽ mất nửa học kỳ để hoàn thành thành công, ngay cả khi tôi không thể sử dụng nó cho bằng cấp của mình. Vì vậy, với câu hỏi này, tôi đang cố gắng tìm hiểu xem nỗ lực này có hợp lý không.


1
Tôi có môn toán rời rạc trong cử nhân ... đã giúp tôi về đồ họa máy tính và trí tuệ nhân tạo.
K ..

Câu trả lời:


27

Là một nhà khoa học máy tính đang tìm kiếm bằng thạc sĩ với trọng tâm là "Thuật toán, độ phức tạp và lý thuyết tính toán và ngôn ngữ lập trình", tôi sẽ nói Toán học rời rạc là rất quan trọng.

Toán học rời rạc sẽ giúp bạn với phần "Lý thuyết thuật toán, độ phức tạp và khả năng tính toán" của trọng tâm hơn là ngôn ngữ lập trình. Sự hiểu biết về lý thuyết tập hợp, xác suất và kết hợp sẽ cho phép bạn phân tích các thuật toán. Bạn sẽ có thể xác định thành công các tham số và giới hạn của thuật toán của mình và có khả năng nhận ra mức độ phức tạp của một vấn đề / giải pháp.

Theo như ngôn ngữ lập trình, toán học rời rạc không đề cập đến cách lập trình thực sự; nhưng đúng hơn nó có thể được sử dụng cho đặc tả thiết kế hệ thống phần mềm. Tôi đã sử dụng "ZED" trong trường đại học và nó liên quan đến việc thiết kế một hệ thống sử dụng lý thuyết tập hợp. Tôi không chắc chắn bao nhiêu phần trăm hệ thống phần mềm được thiết kế với lý thuyết tập hợp ngày nay.

Khái niệm quan trọng cuối cùng để loại bỏ toán học rời rạc là đại số boolean. Điều này rất hữu ích không chỉ để tạo ra giải pháp logic, mà nó cũng rất hữu ích trong lập trình. Phần mềm có thể được tạo / ngắt đơn giản dựa trên logic boolean trong đó.

Nhìn chung, toán học rời rạc không phải là một lớp số cho hầu hết các phần. Nó làm cho bạn sử dụng bộ não của bạn theo cách mà không có lớp nào khác làm. Đây là một lớp tư duy logic và bạn phải kiên nhẫn nếu thực hiện các tính toán bằng chứng / logic không dễ dàng với bạn. Tôi đã thấy mọi người thay đổi chuyên ngành vì họ không thể nghĩ "trừu tượng" đủ để vượt qua khóa học.

Nói tóm lại, tôi sẽ đưa ra lập trường rằng toán học rời rạc sẽ là lớp quan trọng cần có cho một Nhà khoa học máy tính / Kỹ sư phần mềm.


1
Sẽ trả lời nhưng đây thực chất là câu trả lời của tôi.
Bóng Eliot

Đã được một vài năm, nhưng tôi nhớ Toán học rời rạc đi vào Ngôn ngữ. Nửa đầu của lớp là Đại số và Bộ Boolean, nửa sau là ngôn ngữ và automata. Có phải họ chỉ kết hợp hai lớp?
Chris

Tôi đoán nó phụ thuộc vào tốc độ của lớp học. Nếu nó đang học về một loạt các lý thuyết tôi đoán bạn có thể thoát khỏi việc nói rằng đó là một lớp; nhưng nếu bạn đang viết một cái gì đó giống như một đặc tả tự động hóa bằng ngôn ngữ Set, thì đó là sự kết hợp của hai lớp. Toán học rời rạc là một chủ đề đủ rộng, nó chỉ nên dạy lý thuyết và sử dụng các ví dụ (tức là bài tập về nhà) để xây dựng lý thuyết.
Kcvin

2

Thật ra Toán học rời rạc là xương sống của Khoa học Máy tính hay tôi nói là Khoa học Máy tính Lý thuyết. Không có nghiên cứu về toán học rời rạc, chúng ta bỏ lỡ mấu chốt của Phát triển Logic-Khoa học Máy tính. Nó mang lại sự rõ ràng hợp lý cho các giải pháp của bạn và một cách chính thức để phân tích một vấn đề.

Mọi lĩnh vực trong khoa học máy tính đều liên quan đến các đối tượng riêng biệt cho dù đó là cơ sở dữ liệu, mạng Nueral, Tổ chức máy tính, Trình biên dịch, Lập trình mạng, v.v. Tôi sẽ nói đó là 'môn học chính' của khoa học máy tính và mọi người nên học môn này.

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.