Tôi không chắc đó có phải là nơi thích hợp cho câu hỏi này không. Xin lỗi nếu đi hơi lạc đề.
Chọn một ngôn ngữ phù hợp cho khóa học lập trình đầu tiên là một trong những điều quan trọng nhất mà mọi giáo viên / giảng viên liên quan nên ghi nhớ; đặc biệt là nếu học sinh còn trẻ hoặc có kiến thức toán hạn chế.
Tôi hiện đang dạy một nhóm những người trẻ rất nhiệt tình (khoảng 16 đến 17 tuổi) có kiến thức toán học trung bình . Họ đang học trường trung học lớp 10 ngay bây giờ. Tôi sẽ bắt đầu dạy một ngôn ngữ lập trình cho học kỳ sắp tới.
Họ là một nhóm sinh viên được tuyển chọn kỹ lưỡng trong toàn thành phố với mức độ sáng tạo và chuyên cần phi thường, vì vậy tôi thấy rằng làm việc với một ngôn ngữ lập trình thực sự sẽ không phải là một nhiệm vụ khó khăn với họ. Vì vậy, việc chọn các giải pháp đồ họa và kéo đơn giản như Nghệ thuật rùa, Scratch và Tynker không được coi là tùy chọn.
Có một vài yếu tố cần được kiểm tra trước khi đưa ra lựa chọn:
- Đơn giản : Hầu hết trong số họ có thể chưa từng trải nghiệm bất kỳ loại hành động mã hóa thực sự nào trước đây.
- Đơn giản, một lần nữa : Một trong những ý tưởng chính là dạy cách suy nghĩ thuật toán . Có một ngôn ngữ phức tạp hoặc hầu như không cú pháp sẽ chuyển hướng chúng ra khỏi đường dẫn.
- Tính tổng quát : Tốt hơn là ngôn ngữ không được thiết kế cho các trường hợp phát triển đặc biệt. Lấy PHP và MATLAB làm ví dụ được thiết kế tương ứng cho Phát triển và Tính toán / Mô hình hóa Web.
- Công cụ khách quan tối thiểu : Không có lập trình OO bắt buộc (như Java). Hoặc ít nhất với sự phụ thuộc tối thiểu vào các khái niệm OO.
- Nền tảng : Điều quan trọng là phải có Windows như một môi trường phát triển được hỗ trợ, vì gần như tất cả chúng đều có trên Windows.
- Dễ dàng thiết lập : Tốt hơn là nên có cách đơn giản để thiết lập môi trường dev.
- Ưu tiên ngành : Không phải là một vấn đề nghiêm trọng. Nhưng nó phải là một ngôn ngữ hiện đang hoạt động cho phép sinh viên đạt được những trải nghiệm gần như thực tế.
- Tính di động của phần cứng : Điều quan trọng (nhưng không bắt buộc) là ngôn ngữ đủ linh hoạt để được sử dụng trong lập trình Phần cứng. (Tôi không nói về các ngôn ngữ Mô tả phần cứng như Verilog và VHDL.) Mục đích là lập trình cho phần cứng dựa trên bộ xử lý đơn giản hơn như Bộ vi xử lý AVR hoặc giao diện Raspberry Pi GPIO .
Tôi muốn biết điều đó
- Có bất kỳ yếu tố nào khác mà tôi đang thiếu?
- Và, ngôn ngữ nào bạn đề nghị là sự lựa chọn?