2013-08-09 28 views
6

Tôi sẽ dạy một số học sinh lớp 9 và 10 Python sớm và nghĩ rằng sẽ rất tuyệt khi thực hiện một số thử thách kiểu Project Euler với chúng. Vấn đề đầu tiên dường như có thể thực hiện được bởi họ, nhưng tôi nghĩ một số người khác có thể hơi hơn đầu họ, hoặc không đòi hỏi phải lập trình đủ.Các vấn đề dễ dàng cho trẻ em giải quyết bằng Python

Nếu có ai đó có thể tìm thấy một số vấn đề lập trình dễ dàng hoặc có thể nghĩ ra bất kỳ vấn đề gì, họ có thể vui lòng cho tôi biết không.

chỉnh sửa: Đến năm 9 và 10 tôi có nghĩa là họ đã đi học trong 9 hoặc 10 năm. Vì vậy, khoảng 13, 14 và 15 tuổi. Xin lỗi vì sự nhầm lẫn!

+1

Một số trong số này khá thú vị http://inventwithpython.com/hacking/chapters/ –

+1

Tôi ghét phải nói điều này, nhưng tôi nghĩ hầu như tất cả các vấn đề lập trình đều nằm trong phần đầu của 9-10 tuổi. – orlp

+3

@nightcracker: Điều này nghe giống như ý kiến ​​50 năm trước rằng ngôn ngữ nước ngoài nên được dạy cho người lớn, vì nó trên đầu của 9-10 tuổi. Bây giờ bạn bắt đầu dạy ngôn ngữ ở trường mầm non, vì nó nằm trên đầu của bất cứ ai cũ hơn 10 năm ... – Hyperboreus

Trả lời

2

Ồ tôi nhớ điều tôi đã được dạy ở trường! Giáo viên CNTT của tôi đã tạo ra một lớp trong python mà các thuộc tính đã tạo ra một chuỗi toán học. Mục đích là để đoán công thức đằng sau chuỗi này chỉ sử dụng python. Rõ ràng, bạn không thể nhìn vào tệp với lớp, chỉ nhập nó trong python. Có thể có nhiều toán hơn lập trình ở đây, nhưng để giải quyết điều này, sinh viên sẽ phải học cách biến, không gian tên (để tìm biến), vòng lặp (để in các biến đó), và các lớp (lưu trữ các biến đó) hoạt động trong python và ít nhiều là mọi thứ bạn cần biết lúc đầu, theo ý kiến ​​của tôi.

Ah, thời điểm tốt. Chúng tôi cũng sử dụng để chơi "ẩn và tìm kiếm" trong các bài học về CNTT: giáo viên sẽ ẩn một tệp ở đâu đó và để lại một số manh mối xung quanh, và chúng tôi phải tìm tệp đó bằng môi trường văn bản trên linux :)

1

Lấy số bên phải:

Chương trình chọn giá trị ngẫu nhiên betwen 1 100 sau đó bạn phải đoán. Nó sẽ cho bạn biết nếu bạn ở trên hoặc bên dưới.

+0

Ý tưởng tuyệt vời! Chắc chắn sẽ có điều đó trong bài học ở đâu đó. Thật tuyệt vời bởi vì họ có thể tự làm việc đó cho điểm xuất phát phù hợp! – ahansen

1

Tiếp xúc học giả đầu tiên của tôi với lập trình thực sự để lại dấu ấn cho tôi;) Giáo viên cung cấp cho chúng tôi một gui chứa một bảng rô 2 chiều (giả sử nó là 20x20 ô). Một trong những tế bào chứa 'robot' và giao diện lập trình cơ bản tiếp xúc với 3 phương pháp: di chuyển về phía trước, rẽ trái và kiểm tra xem ô trực tiếp trước robot có phải là tường hay không gian mở. Trò chơi là sau đó để 'chương trình robot' (giảng dạy logic cơ bản và cấu trúc vòng lặp) để làm tất cả các loại nhiệm vụ như đi qua tất cả các tế bào trong hội đồng quản trị. Sau đó, các phương thức đã được thêm vào giao diện (với 3 phương thức gốc) và 'đối tượng' (không phải OOP, nhưng .. các trạng thái khác mà các ô có thể chiếm hơn là chỉ tường hoặc trống) được thêm vào trò chơi. Cuối cùng, các mục tiêu là ví dụ cho robot để 'nhận' phụ tùng xe hơi và mang chúng đến một 'nhà máy sản xuất ô tô'. IMHO rất đẹp để xem lập trình như một trò chơi với 'điểm số' (số lượng ô cần thiết để đạt được mục tiêu trong trường hợp này) và tôi thực sự quảng bá Gamification http://en.wikipedia.org/wiki/Gamification trong bất kỳ môi trường nào của trường.

Cheers

+0

Wow ý tưởng tuyệt vời! Tôi sẽ có một cái gì đó để tạo ra một cái gì đó như thế cho họ nếu tôi có thời gian. – ahansen

1

Không chắc bao lâu bạn phải dạy điều này, nhưng Udacity's cs101 class có một số vấn đề khá mát mẻ và bắt đầu từ một mức độ khá đơn giản. Khóa học là miễn phí, và bạn có thể thấy một số vấn đề hữu ích đứng một mình nếu bạn không có thời gian cho toàn bộ sự việc. Cuối cùng, nếu bạn hết ý tưởng cho các dự án có ý nghĩa đủ dễ dàng/đủ nhanh trong Python hoặc quyết định tìm thứ gì đó dễ dàng hơn cho lớp học thì hãy cân nhắc sử dụng Scratch, đây là ngôn ngữ lập trình trực quan thú vị của MIT. bạn sử dụng các cấu trúc như biến, vòng lặp, điều kiện, v.v. mà không phải lo lắng về cú pháp. Điều này làm cho nó đẹp và dễ dàng để tạo ra các trò chơi/hình ảnh động cơ bản.

+0

Cảm ơn bạn rất nhiều Tôi sẽ có một cái nhìn vào những khóa học đó. Scratch là một lựa chọn tuyệt vời nhưng tiếc là bài học của chúng tôi phải bằng Python. Có lẽ sẽ thấy nếu chúng ta có thể sử dụng nó trong những năm tới! – ahansen

Các vấn đề liên quan