情報教育とプログラミング教育: 私達は当事者である (べき) かも?
久野靖∗

2018.3.5

1

はじめに3

日本の情報教育の経緯□ 1970 改訂高校学習指導要領:□ 日本の初等中等情報教育

数学一般「電子計算機と流れ図」応用数学「計算機と数値計算」□ 各国の情報教育との比較□ 1980 年代 → PC の普及 → 散発的に (教員個人の試み□ 小学校プログラミング教育として) BASIC、LOGO などによるプログラミング□ 情報入試と情報入試研究会□ 1989 告示指導要領:□ 思考力・判断力・表現力

小学校から高校までの複数科目で情報教育を行なうと記載 (実際には何も行なわれない)□ プログラミングどうやって教えるの?

□ 1997 年:

文部科学省調査協力者会議 → 高校に独立教科「情報」新設提唱 (新しい教科ができるというのはな

2

かなか大変なこと)「情報教育とプログラミング教育」• 3 目標「情報活用の実践力」「情報の科学的な理解」□ 質問:(小学校〜大学初年次までの) 情報教育 / プロ
グラミング教育はあなたにとって関心事? (各々聞き「情報社会に参画する態度」(科学、社会を中心とする 2 科目を提唱)ます)• 情報教育:• プログラミング教育:□ 質問:□ 1999 告示指導要領:

YES / NO

情報科新設 (2003 年実施) →「情報 A(実践力中心)」「情報 B(科学中心)」「情報 C(社会中YES / NO心)」の 3 科目 (各 2 単位) から 1 科目以上選択必履修

自分がプログラミングに目覚めたのはいつ?

• 「情報 A」(易しい科目) を追加、「情報 B」にのみア• 小学校時代 (ないしそれ以前)

ルゴリズムの話題 (「深入りしないこと」「プログラ• 中学校

ミングはやらない」)• 全国の全高校生が学ぶ → 多数の「情報科免許を持• 高校つ」教員が必要→ 現職 (他教科) 教員に 15 日間の講

• 大学

習で免許 → 3 年間で 14,269 人を「促成栽培」(つ• まだ目覚めていない□ 質問:

なぎのはずが永続化)小学校」プロ• A/B/C は本来「生徒のが興味・関心に応じ選択」のグラミングに目覚めていたら自分はもっと「書ける」人

もし自分がもっと早くから「例:はずだが実際には学校がどれか 1 つ選択 → しかもになっていたと思う?

易しい「A」が 8 割「B」は 1 割未満

YES / NO• 教 科 書 も Windows の 操 作 画 面 多 用 の も の が 圧• もし「YES」なら「日本のために」何かした方がいい

倒 的 シェア → 多 く の 高 校 の 情 報 科 の 内 容 はわけだよね?

「Word/Excel/PowerPoint」(今も?)• さらに「プログラミングの才能」ある人がプログラ• 未履修問題の発覚 (世界史が発端だが情報でも多ミングに触れないままよその分野に行ってしまわな数)(入試にない科目だからと軽視)いためにも…

□ 2008 年告示指導要領 (2013 年実施) → 「社会と情報(旧情報 C)」「情報の科学 (旧情報 B)」の 2 科目 (各 2単位) 選択必履修に (このほか中学校技術で全員が計測・制御プログラミングを少量学ぶ)∗ 電気通信大学

1• プログラミングが含まれている「科学」の比率は 3割程度 (先生が教えたくない/教えられない)• 情報 I「情報社会の問題解決」「コミュニケーションと情報デザイン」「コンピュータとプログラミング」• 他教科と掛持ちの教員が多い (情報に軸足がない)「情報通信ネットワークとデータの利用」• 47 都道府県の多くで情報科教員の採用は「0」よくて「1〜3」(2017 年度: 大阪 12、埼玉 8、東京・神• 情報 II 「情報社会の進展と情報技術」「コミュニケーションと情報コンテンツ」「情報とデータサイエンス」

奈川 6、あとは 3 以下、34 道府県でゼロ)(採用あり「情報システムとプログラミング」+ 課題研究でも複免許必要が多い)• 情報 I(必修) は「大学入学共通テスト」に入る予定(2024-)• 情報科新設時に多くの大学が設置した免許課程も撤退相次ぐ• じゃあ教員はどこから来ているの?

非常勤講師 (ま各国の情報教育との比較だまし)、免許外担任許可・臨時免許 (免許を持って4ない教員に担当させる):□ どちらだと思いますか?

情報が突出して多い• A: わが国の子供たちは他国よりも情報技術を使いこなしている• B: わが国の子供たちは情報技術の使いこなしで他国にたち遅れている□ OECD PISA 調査の中の ICT 活用調査

• 遠 藤 諭 さ ん の サ イ ト か ら …
http://ascii.jp/elem/000/001/410/1410256/□ 「オタクですらない」(遠藤さんのことば)• 私から見たら大変うなずける結果□ 学校で ICT 機器がどういう扱いされてるか知ってます?

• 学校に ICT 機器を持ってきてはいけない• 学校で用意した ICT 機器しか使ってはいけない• 先生がいいと言った時だけしか使ってはいけない• 先生はできる限り使わないようにしたいと思っている□ 教師暴行動画事件で校長「SNS が悪い」←これも同じこと□ 他国と比較するといかにひどいか分かる (ex.

スウェーデン)□ 小学校 1 年生からキーボードで入力して物語を作成• (日本の国語科では手書き絶対。コンピュータとんで(参照) 中山 泰一, 中野 由章, 角田 博保, 久野靖, 鈴 木 貢, 和 田 勉, 萩 谷 昌 己, 筧 捷 彦, 高もない)□ 小学校 1 年生から保護者や先生にメール等学校情報科における教科担任の現状, 情報処理学
会論文誌教育とコンピュータ (TCE), 3(2), 41-51• (日本の学校では対外連絡可能なメールは与えない)(2017-06-14), 2188-4234.
□ 2017 告示小学校指導要領:□ 自分の機器を持って行く=家でも学校でも同じように活用

複数の科目内でプログラミ• (日本ではもちろん持って行くこと禁止)

ングを扱う (後述)
□ 2017 告示中学校指導要領:

技術科で計測・制御に加え □ 授業時間中でもいつでもネットで調べてよい「双方向性のあるコンテンツに関するプログラミング」• (日本では「とんでもない!」)□ 2018 告示高校指導要領: 「情報 I(必修)」「情報 II(選□ 「ICT 教具論」(豊福)択)」の積み上げに移行 (2021-)2• 日本の学校では ICT 機器は教具 (授業をするときの □ 2017 告示小学校学習指導要領での記載 →「プログラミング」は下記の 4 箇所
道具) の 1 つ。だから決まった風にしか使ってはいけないし「教材」(特定単元向けの動画とかアプリと• 総則「プログラミングを体験しながら、コンピュータに意図した処理を行なわせるために必要な論理的思か?) が必須• 他国では ICT 機器は文具 (調べたり記録したり整理考力を身に付ける」学習活動を指示 (全般的な指示)したり発信したりするのに使うツール)• 算数「正多角形の作図を行なう学習に関連して、正確な繰り返し…(中略) さらに一部を変えることでい□ 大人になって社会に出た時の使い方はどっち?
□ 挽回するチャンス:

ろいろな正多角形を同様に考えることができる場面プログラミング教育などで扱うこと」□ 英 国 王 立 協 会 の レ ポ ー ト「Shutdown or restart?」(2012)• 理科「例えば…電気の性質や働きを利用した道具があることを捉える学習など、与えた条件に応じて動https://royalsociety.org/~/media/education/
computing-in-schools/2012-01-12-computing-in-schools.pdf

作していることを考察し、更に条件を変えることに→ 「ICT ツールばかりやってもいいことはない」「プロり扱うものとする」• 総合「プログラミングを体験しながら論理的思考力を身に付けるための学習活動を行なう場合には、プグラミングこそやるべきだ」→世界的なプログラミング教育の潮流□ 英国では 2016 年から小学校で教科 Computing を導入、プログラミング教育を開始□ しかし英国もうまくいっていない程に適切に位置付くようにすること」

積み)• 小学校の先生が自力でプログラミング教育を勉強して実践というのはなかなか大変そう• 高校の選択 (GCSE) で学ぶ生徒が少ない• 英語教育が圧倒的に注力されていてプログラミングは軽視 (周囲の無理解)• 性別間格差• 教員不足/既存教員へのサポート不足• 都会はまだいいが地方では民間とかいってもリソー• CS 教育の研究に基づいた政策立案の不足

スがない• 起こっていること: 「指導要領にはプログラミングと書いてあるがコーディングは目的じゃないのだか

政府が教員養成に 150 億円投入、Googleも 1.5 億円支出

ら、プログラミング的思考を机上やアンプラグドで□ 日本の場合…高校必修が維持されていて、入試でも採用やればよいのでは」されていけば希望はあるかと• 小学校プログラミングは?

ログラミングを体験することが、探究的な学習の過□ これを具体的にどうやるのかは不明 (というか問題山

https://royalsociety.org/topics-policy/projects/
computing-education/□ すぐに対応:より、動作が変化することについて考える場面で取□ 久野の考え: 「プログラミング的思考を目的とし、プロ(次の話題)

グラミングは目的としない」みたいなのはやめた方が…
まずプログラム作って動かすようにならないと分からな

5

いのでは?

小学校プログラミング教育□ 日本の希望が持てるところは…

□ 各国の動きをうけて文部科学省で有識者会議を招集 →• 教 育 用 言 語 の 開 発:

「小学校段階におけるプログラミング教育の在り方につViscuit(原 田)、SmarlRuby(高尾)、Dolittle(兼宗・久野) など…

いて」(2016.6)• 総務省などもお金を出して事例を作るための事業をやっている (昨年招待講演者の原田さんのところで• ロボット・AI の時代 → コンピュータが魔法の箱でも多く引き受けている)

なくプログラムにより動くことを分からせる
プログラミング的思考には普遍性がある → これを• 民間の活用もおこなわれている (小学校の OB がお金を出して等)重視• 民間のプログラミングスクール、 CodaDojo や Ruby

• プログラミング言語は変わる (なくなる?) かも →プログラミング少年団などの活動も活発になされて• 小学校では「身近な生活でコンピュータが活用されいるていること、問題の解決には必要な手順があることに気付くこと」が目標□ 皆様もぜひ機会があればご協力を!

3

6

情報入試と情報入試研究会□ 高校における情報科軽視 (無視?) の原因:

入試に出な

いこと

• センター試験に「情報関係基礎」はあるが多くの大学で利用できない• 各大学の個別試験でも「情報」はごく少ししか出題されていない• 利用大学少ない→受験勉強の効率悪い→選ばれない→利用大学少ない• 慶應 SFC、明治大学情報コミュニケーション学部で□ 一定の認知は得たが毎年ボランティアでやるのは相当

は最近採用

大変
2012.1 に有志□ 短冊型問題 --- プログラムを書かせる問題を出題するで立ち上げた団体 (2013 から情報処理学会情報入試 WG、ため開発
2016 から同情報入試委員会と表裏一体)• プログラミングの試験は (紙でも CBT でも)「穴埋め• 目的: 情報科の適切な評価を行なう問題が作れるこ問題」が多い← 採点しやすいとを示すこと、またそのような入試の可能性につい• 穴が正しく埋められるからといってプログラミングて広報能力があることには全くならない (ex. 基本情報
• 問題セットを実際に作成し、4 回の模擬試験を実施
技術者の対策本など)した• 会場受験者は少数だったが高校での団体受験は結構 □ 「紙にプログラムを全部書かせる」のが最善だと思うが…採点がものすごく大変多かった□ 情報入試研究会 (http://jnsg.jp):□ CBT であればプログラムを打ち込ませられるが採点は?

□ 作題では知識問題を避け易しいものから難しいものまで「考える」問題を工夫。問題構成は AB の 2 セット (各 45分:

• プロコンのような自動判定→「正誤」しか出てこ高校の授業で使える)、それぞれ小問群 (共通)+大ない、cheat 対策必要 (「1+2+…+10 を計算せよ」

問 (科学・社会)「puts(55)」)□ set-003(第 2 回) の場合:

• コードを制御フロー/データフロー解析して… → 大A セット• 大問 1(小問群): 2 進法計算問題、音のデータ量、Web サイトの作成指針、ネットワークサービスの機能• 大問 2(科学):プログラミングの問題 (短冊型…後(はるか) 昔、パンチカードにプログラムを打っていた頃、「床にぶちまけたカード」を正しく復元

スマホに関するアンケートのデータ□ set-003(第 2 回) の場合:

• 大問 1(小問群):• 機械学習でよいコード悪いコードの特徴を検出 →試験採点にはまだ…
□ アイデア:述)• 大問 3(社会):の解釈

変できる人は「書ける人」• 正解プログラムを行単位で分けて惑わし選択肢を追B セット加し、並べて選択記号を振る → 正しいプログラム

キーボードのポジション、記録メを構成し記号列を解答

ディア、ファイル形式、GPS の原理、相対 URL の解• DEMO (set-003A 大問 2)

釈、組み合わせの数• 大問 2(科学):と画面遷移

寿司店の注文システムのデータ設計• 大問 3(社会):コミュニケーションを題材とした長□ 情報入試研究会の各模擬試験で多様な短冊問題を試行• 複数の (方針の異なる) 正解を許容 → プログラミン
グの性質と一致

文の読解問題• 採点は自動化容易 (いずれかの正解との編集距離の最小が 0 なら満点、1 なら部分点、など)• 「プログラミングができる/できない」は見分けられるように思える

4

7

思考力・判断力・表現力□ ご存じと思いますが:□ それに対する回答:「では、その T‘の定義と作問も追加しましょう」

高大接続改革で大学入試は「知識・技能」に加えて「思考力・判断力・表現力」と「主体• ただしそれはそれなりに手間なので、作題が可能な性・多様性・協働性」を評価することが求められている範囲でできるだけ汎用的に (広く) 最初の T を定めておく方が望ましい□ 文 部 科 学 省「 大 学 入 学 者 選 抜 改 革 推 進 委 託 事 業 」(DNSKSIJ) 選定「情報学的アプローチによる『情報科』

網羅的・包括的定義

複数の狭い恣意的定義

大学入学者選抜における評価手法の研究開発」(代表:大阪大学、連携:東京大学・情報処理学会)• 情報科での「思考力・判断力・表現力」評価手法の思考力？

検討を含む←久野担当

TrTd

TiTd

• (そのほか CBT 開発とか色々やっています)• (情報教育の参照基準も…←ポスター発表予定)

7.1□ 「思考力」って何ですか???

(Tr) reading□ (自分にとって必ずしも馴染みのない) 記述を読んで意味を理解する力• 考える力…まんまやんけ!

• 普通に問題作ったら「考える力」を見たことになるの? □ 作問方法: 記法の定義やその定義を参照する記述の読解ができていることを見る問題。
• 知識問題 (暗記していれば答えられる) は思考力では□ 作問例: アルファベットＡ〜Ｚと演算◇および△が混ないような…
ざって並んだ列を考える。列 s に対し、s ◇は s を 2 回繰り返すこと、s △は s を左右反転することを意味する。
• ｛すべての問題の集合｝− ｛知識問題の集合｝＝｛考sは空でもよい。演算は左から解釈する。
える力の問題｝??
• それでは「問題の作り方の指針」にできない orz

例: ＡＢ◇△ → ＡＢＡＢ△ → ＢＡＢＡ

□ 重要な前提: 「思考力」「判断力」「表現力」の包括的・網羅的定義は行なわない!

以下の選択肢のうち互いに同じ結果となるものをすべて挙げよ。
ア ＢＡＢＡ◇イ ◇Ａ◇◇ウ ＡＢＢＡ△エ ＡＢ△◇
オ ＡＡＡＡ△カ Ｂ△Ａ△◇• そんなものが出せるなら苦労はしない (大仕事すぎる)• 「思考」がそんな簡単に定義できるくらいなら自分はもっと偉くなってる (と思う)□ ではなくて…

□ T(Thinking/思 考 力)、J(Judgement/判 断 力)、 7.2

E(Expression/表 現 力) の「 恣 意 的 な 」「 狭 い 」定(Tc) connection□ (一見関連が分からないところから) 結び付きを見出す力

義を天下りで勝手に定める□ 作問方法:□ ただし、たとえば思考力 T なら、ある受験者が T を持つ多数の事項の中から結び付きを発見できるか見る設問

なら、世の中の全般的な理解として、その受験者がその特定面についていえば「思考力」を持つといって異論な □ 作問例: 次の文を読み、正人の動作とその理由の組になるものを挙げよ。解答欄は余るかもしれない。
いだろう、というふうに T を定める

• たとえば:• 「正人は起きて、寒くはなかったが、シャツを着た。

詰将棋が解ける人は世の中的にいって春子が来る予定だったので。次に空腹だなと思い、「思考力がある」

パンを食べた。ジャムは塗らなかった。嫌いだった□ なおかつ、T を「問題を作ることが比較的容易であるよので。」

うに」定める

解 答 欄: 動 作:_____ 理 由:_____ 動 作:_____ 理
由:_____
動 作:_____ 理 由:_____ 動 作:_____ 理由:_____□ その T に基づき作題する□ 当然想定される反論: 「その T では測れない思考力 T‘がある」

5

7.3(Td) discovery

7.6(Ju) judgement□ (Tc で結び付きを発見したものを含めた事項の集まりに □ 作題例: ある職場では顧客から預ったデータが漏洩していたことが発見されるという事件があった。この事態
関して) 直接に示されていない事柄を発見する力。事柄を受けて原因や対処方法を検討するミーティングを開催することになった。そこで使用するのに最も適しているとしては、次のものが考えられる。と思われる図式を選べ。
• 事項どうしの関連が持つ規則・規則性やトレードオフ。
(1) フローチャート (2) 状態遷移図(4) PART 図(5) 散布図• 事項に内在する問題・法則・原理。これらは「問題発見」「仮説構築」に相当する。
• 事項の特性や振舞いを説明する上で有用なモデル化や抽象化。

7.7(3) 魚の骨図(6) ER 図

(Ex) expression• 事項に対する現に記述されているのとは異なる視点。 □ (与えられた基準において有用な) 表現を構築/考案/創• 事項が記述されている範囲 (文書等) 外のものと事項出する力。基準としては、次のものが考えられる。との関連。

• 日本語記述としての適切性 (内容が過不足ない、把握しやすい提示順序、適切な接続関係の採用など)。

• 事項の記述・表現に内在する意図。
□ 作問方法:事項の記述を与えた上で、上記のような新• 図や絵 (グラフや状態遷移図その他特定の図法によたな事柄を発見できるかを見る設問るもの、および一般的な模式図や絵の形のもの)・表□ 作題例: 次の整数が共通に持つ性質について 20 文字以内で述べよなどで事項を表現する場合の適切性。重要な事項が読み取りやすく表現されているか、アピールするかなど。

5, 9, 12, 20, 33

7.4• 自分や他者の問題解決に資する表現としての適切性(提示された問題の本質的な部分の選択や解決に至り(Ti) inference

やすい構造の選択など)。

□ (Tc で結び付きを発見したものや Td で発見したものを• プログラムなど処理手順記述としての適切性 (求める結果の出力や構文規則への合致など)。

含めた) 事項・事柄の集まりに対し推論を適用する力□ 作問方法:推論の正しさ判別を見たり、推論そのもの• 自分と必ずしも前提が共通しない他者に理解可能なを構築させる表現としての適切性 (コミュニケーション内容とし□ 作題例: 次の等式すべてが成り立つことはあり得ない。
矛盾を生じる最小の集合をすべて列挙せよ• SNS やネットなどの場における行動の適切さ (誤解を生まない、他者に迷惑を掛けない、自分や他者に(1) x = y + 3 (2) y = t - 5 (3) x = z + 5(4) t = x - 2 (5) z = y + x (6) y = z - 4

7.5ての適切性)。

とって価値がある等)。
□ 作問方法:(Ju) judgement

設問によって与えられた事項や、Tc の結び付きについて、Td の発見した事柄について、あるいはむ) の中から、規定した基準において上位ないし下位のTi の推論の道筋について、適切な表現を構築する設問。
Tr の記法や定義 (所与のものまたは自分で定める) を適ものを選択する力。基準としては、次のものが考えら切に活用した記述も含む。必要に応じて前提とする状況れるや制約を付記する。

□ (優先順位づけを含め) 複数の事項 (トレードオフを含□ 作題例: 自転車の利用を促進することが社会的によいという主張をする文章を作成したい。書き出しは「自転車の利用を促進することは社会的に好ましい。なぜなら• 社会的、倫理的、道徳的な影響や重要度。
ば、」である。これに続く文章の断片を選択肢から選んで記入せよ。句読点は適宜補われるものとする。同じ選• 制約条件を与えることで順位が変化するような指標
択肢を複数回使ってもよい。解答欄は余ってもよいが、(セキュリティ、安全などエンジニアリングデザイン解答欄を超えて記入することはできない。
的な指標)• 個数、効率、金額などの理工学的に合理的な指標。

□ 作問方法:設問によって与えられた事項や、Tc の結び付きの中から、Td で発見した事柄の中から、あるいは Tiの推論の道筋の中から、正しいものや重要なものを選ぶ設問。必要に応じて前提とする状況や制約を付記する。

6

ア 自転車にはタイヤが 2 つついている
イ 自転車に乗るのには技能が必要である
ウ 自転車は人力によって動くエ 自転車に乗る能力は多くの人か子供時代に身につける
オ 大人になってから自転車に乗ることを学ぶのは大変である
カ 自転車の駐輪が社会問題となっている

キ 自転車の駐輪スペースは 1 人あたりにすれば駐車場より小さい
ク 都会の高価な土地の有効活用になるケ 自転車はエコである
コ したがってサ しかし
シ 一方でス また
解答欄: [7.8][][][][][][][

freq.

0

score

100

• --- この左のこぶを小さくしたい (無くしたい) けど…

]□ これまでに見聞してきた良くない実践 (DON’Ts)• 言語機能を逐一説明 --- 機能の暗記になり「自分で書く」ようにならない (多くの教科書に沿ってやる思考力・判断力・表現力のまとめ□ 「思考力・判断力・表現力」を測るテストを作るために、これらを定義する (しないと作題の指針にならない) という無茶なお題 → 恣意的に狭く定義するとそうなる)• 最初の例題を「易しいから」と簡単に説明 --- 初心者にはその例題こそ「短くて易しいから理解できるようになる可能性がある」のに台無し• (Tr) 自分にとって馴染みのない記述を読んで意味を• 沢山 (丁寧に) 説明した後で「さあやってみよう」 ---理解する力

何をするかわからない• (Tc) 一見関連が分からないところから結び付きを見出す力• 解くべき課題を 1 つ指定 --- 大半の人にはレベルが合わない• (Td) 事項の集まりにおいて直接示されていない事
柄を発見する力• 学習内容を網羅した例題を 1 つ選び丁寧に説明 ---• (Ti) 事項・事柄の集まりに対し推論を適用する力• 操作手順を丁寧に説明 --- その通りに操作するだ

その例題の丸暗記で試験対策されて何も学ばない• (Ju) 複数の事項の内容を規定した基準で並べられるけで何も学ばない• (Ex) 与えられた基準において有用な表現を構築/考案/創出する力• そもそも一斉授業はダメ ---- できる人からできない人までの多様性が極めて大 → 大半の人には「易しすぎ」か「難しすぎ」

8

プログラミング教育□ 久野の野望:□ では、どうすれば?
□ 「離陸ファースト」(離陸:全ての人をプログラミング大好きにする

動かし、結果を見て手直しできるようになる)(まあ難しいけど)• 現在のポスト:動かす

電通大で初年次情報教育の責任者

動かす
動かす(天職!?)
• 前期:

動かす

コンピュータリテラシ (Unix/Emacs/LaTeX。
書く• 後期: 基礎プログラミングおよび演習 (カリキュラ
ムもテキストも担当)(最高!)

書く 観察• 前記の「易しい (最初の短い) 例題」で離陸をとにかく実現□ プログラミングをできるようにする (可能なら好きに):• 実際にはその易しい例題でも色々あるのでそれらを体験してもらう

永遠のテーマ• その後離陸を維持したまま「変数」「制御構造」「関• 質問: あなたは「プログラミング入門」を教えていますか? (担当教員として、TA として、ボランティ
• 質問:

書く 観察
書く 観察

オフィスソフト無し)(最高!)ア、塾講師?、etc...)

自分の手でコードを書いて数」など増やしていく

YES / NO

□ 人によるばらつきが極めて大きいことへの対応方法:

あなたは上記において成功していますか?

電通大の場合YES / NO• 学習内容の説明 (講義) をできるだけ避ける ← 反□ "Camel has two humps"

転授業:
提供

7

テキストで予習を義務づけ講義のビデオを• 演習問題を 1 つでなく多数 (易しいものから難しいものまで) 提供• どれをやるかは学習者が選ぶ (できる人は易しいのは速攻で終わるのでどんどん進むが自分のレベルに相応した問題まで来るとそこで時間が掛かるようになりそれに取り組む)• 提出する課題も学習者が選ぶこととする (現在は「1問以上」としている)(できる人が易しい問題だけで済ませないように説得する)• 課題は普通のものを各回 1 問以上出せば合計 50 点。
あと 50 点が試験。

カテゴリ

問題群 A

問題群 B

01. 分岐のないプ
ログラム
02. 分岐のあるプ
ログラム
03. 配列を扱うプ
ログラム
04. 単純な再帰

引数 x を受け取り、作業変数 y を併用して x2 ±C程度の計算を行なう
引数 x, y, z を受け取り、うち 2 者の大小に応じ別の値を返す
配列 a を受け取り、合計や最大などの計算結果を返す
再帰を用いて 1+2+· · ·+N のような単純な結果を求める
ほとんどが 1(0) で一部が 0(1) である 5 × 5 配列を生成する
円や長方形を塗るルーチンを呼び重なりのない配置の図を再現する
配列の前半と後半を別の配列の前半/後半に正順/逆順でコピー
擬似乱数を用いて N 回値を生成し簡単な統計値やシミュレーション結果を得る
次々に指定された規則で値を取得できるようなクラスを作る

引数 x を受け取り、作業
変数 y を併用して xn ±xm 程度の計算を行なう
引数 x, y, z を受け取り、3 者の大小関係に応じ別の値を返す
配列 a を受け取り、全部の値が同じか否か等のやや込み入った結果を返す
再帰を用いて左記と同程度の単純な結果を求める

05. 2 次
元配列を作る
06. 画像の生成• 試験もすべて「プログラムを作らせる問題」と告知(短冊問題)。
• 試験は短冊問題を多数用意し配点を同一とする (1 問
2 点。できる人が 20 問 40 点、苦手な人が 10 問 20

10. 単連結リストと再帰

単連結リストの指定位置への挿入や削除などを行
なう

11. C 言語の基本

文字「.」と「*」を連ねて長方形や台形などを出力する
三角関数や数学関数の簡単な数表を出力する

多くの要素が 0 で残りに連番が入るような 5 × 5配列を生成する
円や長方形を塗るルーチ
ンを呼び重なりのある配置の図を再現する
整列アルゴリズムに現れるような様々な配列の操作
擬似乱数を用いてやや込み入った規則のゲーム等のシミュレーション結果を得る
値を複数投入し、その最大値など投入値に応じた値が取得できるクラスを作る
再帰や相互再帰により数値の単連結リストから奇数番の合計などの値を得る
文字「.」と「*」を連ねて左記と同様の形を出力する
指定された数列 (例: ai =1など) の和を出力する
i

文字列 s と文字 c を受け取り、s に関して c を用いた条件の正否を返す

文字列 s を受け取りさまざまな変形をおこなう(複数の手続き使用)

構造体を用いた数値対の単連結リストを受け取り指定の結果を求める

2 つの実数フィールドを持つ構造体に指定の値を入れて返す

07. 整列アルゴリズム08. モンテカルロ
法点は妥当)(満点は素点の満点でなくできる人の点数)□ できる人もできない人もそれぞれ自分の水準で学んでもらえれば評価するという方針。

• 問題は途中で挫折する人。挫折させないための手当

09. クラス定義てはまだ必要。
□ 電通大の情報基礎科目 --- 2 科目 (全学必修、700 名、13 クラス)
□ コンピュータリテラシ (前期) --- Unix、ファイル、LaTeX、HTML などの内容• 「コンピュータの原理」でアセンブリ言語 (1 回)、「ソフトウェアの開発」で JavaScript(1 回) を扱う

12. C 言語による計算
13. C 言語の文字列操作
14. C 言語の構造体→ 後期に備えて準備□ 基礎プログラミングおよび演習 (後期) --- 上でのべた方式で実施• 最初の 10 回が Ruby、あとの 5 回が C 言語
• 2017 年度の経験 --- Ruby は順調だったが C に来た
ところでギャップに苦しむ• C 言語に来たところで「離陸し直し」が必要であるというのが教訓

45
40□ 評価してみたらどうだったか?

35

短冊 (split-paper) テスト ←自動採点

30

容易だがプログラミング能力が測れると考えている

25• 評価方式:

20

問題セットの概要と素点の分布:(2 コブを免れた!!)

15
10
500

8

510

15

20

25

30

3540