Đây là sự đảm nhận của tôi sau một vài lần thất bại và một vài nỗ lực khá tốt:
Lập trình là giải quyết vấn đề.
Bắt đầu với những thứ cụ thể được lập trình mà họ sử dụng hàng ngày - trình duyệt internet (facebook), điện thoại di động, máy tính tiền, v.v. Hãy lấy chúng để cung cấp cho bạn rất nhiều ví dụ. Thiết lập rằng tất cả những thứ này có một loại máy tính trong đó. Trái tim của máy tính là bộ xử lý.
Bộ xử lý giống như một công nhân rất nhanh, nhưng rất ngu ngốc. Nếu bạn cung cấp cho nó một số hướng dẫn, nó sẽ thực hiện chúng chính xác như bạn nói. Nó sẽ không làm gì thêm và nó sẽ không cho bạn biết nếu điều gì đó bạn bảo nó làm là sai. Tuy nhiên, bộ xử lý này thực hiện mọi thứ - nếu bạn nói chính xác cách thực hiện, nó có thể thực hiện cuộc gọi điện thoại hoặc đặt ảnh vào e-mail.
Hỏi cô ấy làm thế nào cô ấy sẽ nói với một công nhân rất nhanh nhưng rất ngu ngốc để mua một lon soda từ máy soda. Khi cô ấy bắt đầu mô tả các bước ("Đặt tiền vào máy và nhấn nút.") Bắt đầu mổ xẻ nó như một chương trình ("Tiền là gì? Làm thế nào để tôi đặt nó vào máy? Khi tôi đặt tiền vào máy và nhấn nút cùng một lúc, không có gì xảy ra. "). Nếu bạn có bảng trắng, hãy bắt đầu bên trái với bộ hướng dẫn đầu tiên của cô ấy. Khi cô sửa lại chúng, đặt danh sách mới lớn hơn ở phía bên phải. Khi bạn có một bộ hướng dẫn tốt, hãy bắt đầu khái quát các phần ("Bỏ tiền ra khỏi túi của bạn và lấy soda ra khỏi khay có âm thanh tương tự - phần nào giống / khác nhau?") Lấy phần tổng quát và đặt chúng vào giữa và gạch bỏ những mảnh mà bây giờ chúng bao gồm. Cố gắng cuối cùng buộc các mảnh để phù hợp với hướng dẫn ban đầu của cô ấy, loại cuộc gọi giống như chức năng. Các bài tập tốt khác: gửi thư, đi qua cửa, vẽ hình tròn / hình vuông / hình tam giác.
Vì vậy, Lập trình là giải quyết vấn đề: chia vấn đề thành các phần, xác định các phần phổ biến và nhóm các phần đó lại để giải quyết vấn đề. Ngay sau đó, bạn phát hiện ra rằng một số phần là phổ biến trong nhiều vấn đề, và sau đó bạn bắt đầu kết hợp các phần lại với nhau để giải quyết vấn đề mà bạn thậm chí không biết là mình có.
Được rồi, đến lúc này cô ấy có thể hiểu nhưng có lẽ cô ấy đã chán. Theo dõi nó với một tập hợp các ví dụ lập trình thú vị. Shader và mã hình ảnh liên quan rất dễ để demo - bạn có thể đưa ra một hình ảnh và bắt đầu thực hiện các thay đổi với nó với những thay đổi mã rất nhỏ. Nếu cô ấy bày tỏ sự quan tâm đến Facebook, hãy thể hiện việc nói chuyện với Facebook thông qua REST để xem dữ liệu của bạn bè (6 độ của cô ấy). Nếu cô ấy thích trò chơi điện tử, hãy thể hiện một vài bản demo trò chơi mã nguồn mở cùng với một vài đoạn mã của họ và cách họ giúp trò chơi hoạt động. Hoàn thành nó bằng cách hiển thị một vài công cụ và tài nguyên miễn phí mà cô ấy có thể điều tra tại nhà. (Python, C #, v.v.)
Những lần thử thất bại của tôi: cố gắng giải thích tính toán số pi (họ đang hỏi), trò chơi bảng C-Jump http://c-jump.com/ (họ không hiểu và hướng dẫn bị lỗi) và mã hóa trực tiếp 2d trò chơi (không thể giữ mối quan tâm, bất kể tôi đã thực hiện các bước nhỏ như thế nào giữa các bản demo).
Chúc may mắn!