Cong ty Cong Nghe Tin hoc Nha truong http://www.vnschool.net
Khung chương trình phân môn Khoa học máy tính (CS - Computer Science) trong môn Tin học của Anh quốc. PII
11/05/2017

II. Các khái niệm chính của định hướng Khoa học máy tính

Đây là những khái niệm, thuật ngữ, định nghĩa, vấn đề chính của phân môn Khoa học máy tính. Các vấn đề ở đây được nhóm và phân loại theo hướng chung, tổng quát. Có 5 nhóm khái niệm chính như sau.


- Ngôn ngữ, máy tính, tính toán.

- Dữ liệu số và biểu diễn dữ liệu.

- Tương tác và truyền thông.

- Thiết kế và trừu tượng hóa.

- Các mô hình mở.

Chúng ta sẽ cùng tìm hiểu chi tiết hơn các nhóm khái niệm này.

1. Ngôn ngữ, máy tính, tính toán

Nhóm này bao gồm các khái niệm sau:

(a) Ngôn ngữ lập trình

Ngôn ngữ lập trình ở đây được hiểu là các ngôn ngữ lập trình từ bậc thấp đến bậc cao được sử dụng rộng rãi trên toàn thế giới hiện nay. Các chuyên gia giải quyết các bài toán của mình bằng cách viết code chương trình trên 1 ngôn ngữ lập trình nào đó. Vậy có thể hình dung Ngôn ngữ lập trình chính là "ngôn ngữ" của Khoa học máy tính. Những ngôn ngữ lập trình kéo thả mới nhất như Scratch, Code.org, Snap, Kodu, … cũng được xếp vào nhóm Ngôn ngữ lập trình.

(b) Thuật toán

Thuật toán được hiểu là các phương pháp để giải quyết vấn đề trong môi trường máy tính, khoa học máy tính. Thuật toán được thể hiện bằng chương trình và được viết bằng các ngôn ngữ lập trình khác nhau. Các phương pháp giải bằng thuật toán là một trong những nội dung kiến thức quan trọng nhất của Khoa học máy tính.

(c) Máy tính toán

Máy tính toán được hiểu là các bộ máy, thiết bị trực tiếp thực hiện các công việc tính toán, xử lý số, … Ví dụ điển hình của máy tính toán là CPU. Máy tính toán cũng có thể được thiết lập ảo, ví dụ các Máy ảo Java, Máy tính ảo, …. Các môi trường lập trình, chạy chương trình trực tiếp, ví dụ như Scratch, cũng được coi là các máy tính toán.

(d) Mô hình tính toán

Có các mô hình tính toán như tính toán tuần tự (tại 1 thời điểm chỉ thực hiện được 1 lệnh) hoặc tính toán song song (tại 1 thời điểm có thể thực hiện đồng thời nhiều lệnh).

2. Dữ liệu số và biểu diễn dữ liệu

Một trong những thông số quan trọng của các máy tính là cách thức chúng có thể lưu trữ và xử lý dữ liệu số lớn, nhanh, an toàn như thế nào. Các khái niệm liên quan đến lĩnh vực này bao gồm:

- Dữ liệu được thể hiện như thế nào, ví dụ thể hiện bằng số, chữ, mẫu hình ảnh, âm thanh, video, …

- Dữ liệu được lưu trữ và kết xuất như thế nào, ví dụ các khái niệm liên quan như nén dữ liệu; kiểm tra lỗi; mã hóa và giải mã thông tin.

- Dữ liệu được tổ chức như thế nào, theo cấu trúc gì, ví dụ như retational database.

- Các dữ liệu, số đo analog (ví dụ nhiệt độ, áp suất, mật độ ánh sáng, âm thanh) được biến đổi sang dữ liệu số (digital data) như thế nào.

3. Tương tác và truyền thông

Máy tính về bản chất là các thiết bị có tương tác hoặc là các thiết bị hỗ trợ tương tác, truyền thông giữa người - người hoặc người - máy tính hoặc giữa các máy tính với nhau. Các khái niệm chính trong lĩnh vực này bao gồm:

- Hầu hết các chương trình đều được xây dựng trên cơ sở các quá trình có phản ứng (reactive processes). Cụ thể là các hành động (action) được thực hiện dựa trên sự kiện (event). Mô hình nhỏ nhất của các quá trình này đều có mẫu chung là đầu vào à xử lý à đầu ra (input à process à output).

- Các quá trình phản ứng như vậy được thiết kế và chạy rất khác nhau trong các hệ thống khác nhau, có thể chạy vô hạn và cũng có thể dừng theo điều khiển.

- Máy tính và thiết bị kết nối, nói chuyện với nhau thông qua giao thức (protocols), ví dụ TCP/IP hoặc HTTP thông qua các HTML tags.

- Dữ liệu truyền thông trên các giao thức đó có thể hỗ trợ các chuyển mạch gói và định tuyến (packet switching and routing). Dữ liệu giao tiếp được chứng thực (authentication)bảo mật tính riêng tư (privacy).

- Mạng máy tính (network) là một tập hợp máy tính được kết nối để chia sẻ dữ liệu, tài nguyên và thiết bị dùng chung. Internet là mạng máy tính toàn cầu lớn nhất hiện nay.

4. Thiết kế và trừu tượng hóa

Trừu tượng hóa (abstraction) là một kỹ thuật rất cơ bản trong quá trình thiết kế, hay được dùng trong khoa học máy tính khi cần xử lý các hệ thống lớn, phức tạp, có nhiều tham số. Ý tưởng cơ bản của kỹ thuật trừu tượng hóa là làm ẩn đi những tham số phụ, những công đoạn xử lý, tính toán không quan trọng, mà chỉ cần tập trung vào các tham số chính nhất, các tính năng quan trọng nhất. Khái niệm trừu tượng hóa và các kiến thức có liên quan sẽ là một trong những trọng tâm quan trọng của phân môn Khoa học máy tính trong nhà trường. Chúng ta hãy cùng xét chi tiết hơn.

- Phần cứng máy tính. Chúng ta đều biết rằng về phần cứng máy tính sẽ bao gồm các thành phần (phần cứng) được ghép nối với nhau (thông qua các kết nối gọi là giao diện). Ví dụ: bo mạch chủ, CPU lõi, ổ chứng SATA, RAM, ….

- Phần mềm máy tính. Mỗi phần mềm bao giờ cũng được xây dựng từ các lớp trừu tượng hóa. Ví dụ như kỹ thuật xây dựng các hàm số và thủ tục, được biên dịch và kết nối thông qua các giao diện. Hay một ví dụ khác khi phần mềm có lời gọi dữ liệu SQL đến các CSDL quan hệ thực chất là các lệnh đã được trừu tượng hóa, giấu đi các chi tiết xử lý dữ liệu phức tạp bên trong.

- Mô phỏng mô hình thực tế. Khi mô phỏng các mô hình thực tế chúng ta luôn phải thực hiện quá trình trừu tượng hóa, bỏ đi các chi tiết, tham số không quan trọng.

- Giao diện (interface). Thiết kế giao diện phần mềm là một ví dụ rõ nữa về khái niệm trừu tượng hóa. Khi thiết kế giao diện, chúng ta đã bỏ đi tất cả các chi tiết, chỉ để lại các kết nối dữ liệu quan trọng nhất trên giao diện.

- Khi thiết kế mô hình và làm việc trên mô hình (modelling), thực chất chúng ta đang làm việc trên kết quả của việc trừu tượng hóa, chỉ làm việc với các tính năng chính mà bỏ qua các chi tiết.

- Tất cả các quá trình chúng ta vẫn thực hiện trên thực tế như sắp xếp, phân hoạch, phân loại chính là một dạng của quá trình trừu tượng hóa.

5. Các mô hình mở rộng hơn của máy tính và khoa học máy tính

Các hệ thống máy tính hiện nay đóng vai trò rất lớn và là trung tâm của thời đại công nghệ số hiện đại. Không chỉ có bản thân các hệ thống máy tính, khoa học máy tính đóng vai trò cầu nối và kết nối với thế giới xung quanh chúng ta. Do vậy phân môn Khoa học máy tính sẽ có quan hệ rất chặt chẽ với các hệ thống, mô hình mở rộng, lớn hơn trong xã hội và thế giới tự nhiên xung quanh. Sau đây là một vài vấn đề nảy sinh.

(1) Các vấn đề liên quan đến trí tuệ và ý thức nhân tạo.

Hiện nay khoa học máy tính có hẳn một ngành nghiên cứu gọi là trí tuệ nhân tạo. Những vấn đề, câu hỏi là liệu con người có thể tạo ra các robot có thể suy nghĩ, trí tuệ, có nhận thức như con người được hay không.

(2) Mô phỏng hiểu biết về thế giới xung quanh chúng ta.

Khoa học máy tính sẽ giúp con người có thể nhìn ra xa hơn xung quanh, quan sát và mô phỏng thế giới rộng lớn các vì sao, hành tinh, ngược về điểm bắt đầu của vũ trụ, hoặc có thể mô tả cấu trúc toàn bộ DNA của con người. Khoa học máy tính sẽ còn có rất nhiều ứng dụng khác nữa kết nối con người với thế giới xung quanh.

(3) Sáng tạo và bản quyền trí tuệ.

Các vấn đề về sáng tạo và bản quyền trí tuệ này sinh do sự phát triển nhanh của công nghệ giúp việc sao chép, thể hiện trực tuyến các tác phẩm văn học, nghệ thuật, phim ảnh, ca nhạc trở nên rất dễ dàng. Một câu hỏi được đặt ra là có thể các họa sĩ, nghệ sĩ có thể hoạt động sáng tác theo "tư duy máy tính" được không? Vấn đề về tác quyền, bản quyền trí tuệ phần mềm cũng là một câu hỏi lớn. Vai trò của phần mềm tự do mã nguồn mở trong vấn đề này?

(4) Các vấn đề đạo đức và tinh thần.

Cuối cùng là các câu hỏi, vấn đề liên quan đến đạo đức, nhân phẩm, tinh thần của con người khi sử dụng máy tính, phần mềm, dữ liệu và chia sẻ chúng trên mạng xã hội. Khoa học máy tính có thể đóng góp gì vào việc ngăn chặn sự xuống cấp đạo đức, vi phạm nhân phẩm, tinh thần của xã hội trong lĩnh vực khai thác và sử dụng máy tính được hay không? 
URL của bài viết này::http://www.vnschool.net/modules.php?name=News&file=article&sid=8207
© Cong ty Cong Nghe Tin hoc Nha truong contact: sales@schoolnet.vn