Building a
classroom around interactive code
Posted 01 Sep 2016 by Mike
Croucher
Bài được đưa lên Internet ngày:
01/09/2016
Là một đứa trẻ những năm 1980, những
kỷ nhiệm thời học trò của tôi bị đổ đầy với
việc học cách lập trình trên các máy tính bé tẹo, bị
giới hạn như Sinclair
ZX Spectrum, Commodore
64, và BBC
Micro. Tôi thậm chí đã có chiếc PC-6
from Tandy kích cỡ bỏ túi với màn hình chỉ có 1
dòng. Chúng có thể có giới hạn, nhưng việc học cách
lập trình thì các máy tính đó đã trao cho tôi những
chìa khóa đi vào thế giới.
Khi tôi 9 tuổi, tôi từng là thành viên
của câu lạc bộ máy tính sau giờ học - một trong những
ghi chép bài giảng ở đó từng được phân phối trên
giấy
2 mặt có mùi đặc trưng (vì chúng tôi không kham được
một chiếc máy in thực thụ!) và nơi mà chúng tôi đã
viết các chương trình của riêng chúng tôi trong ngôn ngữ
BASIC
và lưu trữ trong các băng từ hoặc, may mắn cho số ít
người, vào
các đĩa mềm 5.25 inch. Chúng tôi đã học được về
các vòng lặp, logic boolean, các hàm, và các mảng - việc
xây dựng các khối của khoa học máy tính cơ bản. Tuy
nhiên, quan trọng hơn, chúng tôi đã học được rằng
việc lập trình là hơn cả sự kết thúc trong bản thân
nó - nó trao cho bạn khả năng khai thác và lý do về thế
giới theo các cách thức mà những người không phải lập
trình viên sẽ không bao giờ có được. Nếu bạn có thể
lập trình nó, thì bạn hiểu được nó.
Bất kỳ ai biết về lịch sử các máy
tính sẽ biết rằng thậm chí máy tính xách tay hiện đại
rẻ nhất là hàng ngàn lần mạnh hơn so với bất kỳ thứ
gì tôi đã truy cập trong những năm 1980. Thậm chí có khả
năng để mua một máy
tính đầy đủ chức năng, hiện đại với giá thành
của một cốc cà phê đặc biệt. Tuy nhiên, ít được
biết hơn, là những ghi chép bài giảng đã cũng đã được
nâng cấp theo.
Máy
tính xách tay Jupyter
tự do nguồn mở là cách kết hợp các
yếu tố văn bản giàu định dạng, toán học, và có tính
tương tác với mã máy tính có khả năng thực thi được
- tất cả trong môi trường thân thiện của trình duyệt
web. Vài người nghĩ rằng nó sẽ làm
thay đổi việc học tập khoa học trong tương lai.
Những điều đã đi theo thứ gì đó từ người nhân bản
tinh thần thời tuổi trẻ của tôi.
Các bài giảng và các
nhà nghiên cứu ở trường đại học của tôi, Đại học
Sheffield, đã nhiệt tình áp dụng máy tính xách tay
Jupyterr và hệ sinh thái xung quanh nó. Phần sống còn của
hệ sinh thái là SageMathCloud,
một nền tảng dựa vào đám mây mà mở rộng ý tưởng
máy tính xách ty thậm chí còn xa hơn. SageMathCloud cho phép
bạn chạy các máy tính xách tay Jupyter không cần phải
cài đặt bất kỳ phần mềm đặc chủng nào và cũng cho
phép nhiều người sửa cùng một lúc cùng một máy tính
xách tay - trao thứ gì đó mà giống như Google Docs cho máy
tính xách tay vậy.
Như một phần của chức năng mới về
Nghiên cứu Kỹ thuật Phần mềm (Research
Software Engineering), tôi đã và đang làm việc để giúp
các giảng viên trong các lĩnh vực như khoa học y sinh, vật
lý, toán, và khoa học máy tính nắm bắt được máy tính
xách tay Jupyter và SageMathCloud. Một trong nhưng kết quả
đầu ra của công việc này là tập
hợp các sách chỉ dẫn cho các nhà giáo dục về cách
sử dụng SageMathCloud để tạo
ra và quản
lý khóa học dựa vào máy tính xách tay đó. Nó cũng
bao gồm sự
tham quan các tính năng và một tập hợp các gợi
ý và các mẹo.
Góp ý phản hồi ban đầu từ các khóa
học chúng tôi đã phân phối có sử dụng kho công nghệ
từng là tuyệt vời. Trích dẫn yêu thích của tôi từ
một sinh viên khóa học tin sinh được TS. Marta Milo và tôi
phát triển, nơi mà tôi đã dạy cơ bản về lập trình,
tin sinh, và điện toán đám mây trong 6 tuần: "Điều
khó khăn nhất từ trước tới nay, đầy căng thẳng, bực
mình khó chịu, nhưng đầy phần thưởng". Đối với
tôi, chúng là những từ của vài người đã học được
cách suy nghĩ mới về chủ đề của họ.
As a child of
the '80s, my schoolboy memories are infused with learning how to
program on tiny, limited computers such as the Sinclair
ZX Spectrum, Commodore
64, and BBC
Micro. I even had a pocket-size PC-6
from Tandy with a single-line display. Limited they may have
been, but learning how to program those machines gave us the keys to
the world.
When I was 9, I
was a member of an after-school computer club—one where lecture
notes were distributed on distinctive-smelling spirit-duplicated
paper (because we couldn't afford a real printer!) and where we
wrote our own programs in BASIC
and stored on tape or, for the lucky few, 5.25
inch floppy disks. We learned about loops, boolean logic,
functions, and arrays—the building blocks of basic computer
science. More importantly, however, we learned that programming is
more than an end in itself—it gives you the ability to explore and
reason about the world in ways that non-programmers will never have.
If you can code it, you understand it.
Anyone who knows
about the history of computers knows that even the cheapest modern
laptop is thousands of times more powerful than anything I had access
to back in the '80s. It's even possible to buy a modern, functional
computer for the price of a fancy coffee. Less well known,
however, is that lecture notes have been upgraded too.
The free and
open source Jupyter
notebook is a way of combining richly formatted text,
mathematics, and interactive elements with executable computer
code—all from within the familiar environment of the web browser.
Some people think that it will change
how children of the future learn about science. Things have moved
on somewhat from the spirit duplicator of my youth.
Lecturers and
researchers at my university, The University of Sheffield, have
enthusiastically adopted the Jupyter notebook and its surrounding
ecosystem. A crucial part of this ecosystem is SageMathCloud,
a cloud-based platform that extends the notebook idea even further.
SageMathCloud allows you to run Jupyter notebooks without having to
install any specialized software and also allows multiple people to
edit the same notebook at once—giving something that looks like
Google Docs for the notebook.
As part of
Sheffield's new Research
Software Engineering function, I've been working to help
lecturers in fields such as biomedical sciences, physics,
mathematics, and computer science get to grips with the Jupyter
notebook and SageMathCloud. One of the outputs of this work was a set
of tutorials for educators on how to use SageMathCloud to create
and manage
a course based on the notebook. It also includes a tour
of features and a set of tips
and tricks. Collaboratively developed on GitHub, this material
will improve and evolve over time.
Initial feedback
from the courses we've delivered using this technology stack has been
fantastic. My favorite quote comes from a student of a bioinformatics
course developed by Dr. Marta Milo and me, where we taught the basics
of programming, bioinformatics, and cloud computing in six weeks:
"The hardest thing ever, stressful, frustrating, but very
rewarding." To my ears, they are the words of someone who's just
learned a new way of thinking about their subject.
Dịch:
Lê Trung Nghĩa
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.