Check our Terms and Privacy Policy.

理論を体験・理解するための児童から大人向けプログラム講習の実施

プログラミングには、事前に問題の充分な分析が必要です。 このプロジェクトが成立した際に実施する講習と作成する教材では、プログラミングにおいて必要な「分析」、「手順・アルゴリズム」、「制御」、「データ構造」という考えかたの習得を目指します。そして、山梨県大月市をICTの街へと成長させたいと思います。

現在の支援総額

0

0%

目標金額は2,900,000円

支援者数

0

募集終了まで残り

終了

このプロジェクトは、2018/11/28に募集を開始し、 2019/01/31に募集を終了しました

このプロジェクトを見た人はこちらもチェックしています

理論を体験・理解するための児童から大人向けプログラム講習の実施

現在の支援総額

0

0%達成

終了

目標金額2,900,000

支援者数0

このプロジェクトは、2018/11/28に募集を開始し、 2019/01/31に募集を終了しました

プログラミングには、事前に問題の充分な分析が必要です。 このプロジェクトが成立した際に実施する講習と作成する教材では、プログラミングにおいて必要な「分析」、「手順・アルゴリズム」、「制御」、「データ構造」という考えかたの習得を目指します。そして、山梨県大月市をICTの街へと成長させたいと思います。

このプロジェクトを見た人はこちらもチェックしています

2018/12/18 17:26

大学生などを対象にしたプログラミング教育の教科書などでは、疑似コードが用いられます。疑似コードとはなにかについてはこちらをご覧ください。いくつかスタイルがありますが、Pascal-likeなものが多く使われています。問題の分析とアイディアをコードの形にする際に使われます。これは日本語 (あるいはもちろん他の日常で使われる言葉) でも構わないのですが、「意味するところ」を明確にするために、疑似コードが用いられます。

疑似コードは、プログラムのなにもかもをそれで書くことは意図していないので、通常疑似コードと日常の言葉とを合わせて使います。明確にしたい箇所は疑似コードで、それほどでもないところは日常の言葉でという具合です。

疑似コードは教科書で使うためなどの理由もあり、そもそもそれ自体は動かなくて構わないのですが、実行系が存在する場合もあります。とくに、特定の言語を適切に制限した形の場合、元の言語の実行系で動かすことも可能である場合があります (日常の言葉を含まない場合)。

その例というわけではないのですが、プログラミング教育の初期にはScratchやそのコピーであるSmalrubyが使われます。いずれも普通のプログラミング言語でできることはおよそできるのですが、教育現場やプログラミング教室の現場においては、命令を表すブロックをどう組み合わせるかというパズルとしての活用が多いようです。文部科学省の指針においては、「プログラムを試行錯誤によって作る」という記載がありますが、例や実践例を見ると、それはまさしく「パズルとしてのプログラミング」を指しています (個人的にそうではない方法を取っている方もいます)。本プロジェクト、本企画および本企画の母体となる講習では、そのような立場を否定します。つまり:

- 問題を分析する
 -分析からデータ構造とプログラムをデザインする
- コーディングする
- コードを検証する

となります。

ここにおいて、本プロジェクト、本企画および母体となる講習においては独自の疑似コードを用います。その簡単な説明についてはこちらをご覧ください。これはペラにまとめたもので、フル仕様ではありません。このペラの仕様では次のものを定義することはできません:

loop i in リスト :
    中身
;

loop 条件あるいは値あるいは変数 :
    中身
;

これはそちらの疑似コードがフル仕様ではないためです。フル仕様 (もちろんまだ設計中ですが) "loop" という命令が取る引数の違いにより、実行される部分が異なるという定義が可能です。

これは両方とも "loop" という命令を使っていますので、むしろわかりにくいかもしれません。その場合は次のようにすることも検討しています:

loop/for i in リスト :
    中身
;

loop/while 条件あるいは値あるいは変数 :
    中身
;

この場合であれば、オブジェクトのメソッドないしリファインメントの違いとして、公開しているペラの仕様でも定義可能になります。

また、これに加えて ――そのすべてではないとしても――、文芸的プログラミングの考えも導入したいと考えています。

本企画では、この疑似コードのフル仕様をより十分なものとし、同時にペラ版の仕様にも反映し、可能であれば形態はともかく実行系の実装も行ないたいと考えています。しかし、目的はあくまで分析結果にもとづくデザインの理解のしやすさである点は変えずにいきたいと考えています。

シェアしてプロジェクトをもっと応援!