プログラミング演習(Ruby)

科目ナンバリング U-LAS30 20008 SJ11 開講年度・開講期 2021 ・ 後期
単位数 4 単位 授業形態 演習
配当学年 全回生 対象学生 全学向
使用言語 日本語 曜時限 月4・5
教員 日置 尋久 (人間・環境学研究科 教授)
授業の概要・目的 コンピュータはプログラム(ソフトウェア)にしたがって動作する.世の中には数多くのソフトウェアがあり,それらを使えばさまざまなデータ処理を実現できる.しかし既存のソフトウェアでは自分のやりたいことがうまく実現できないこともある.そのような場合に自分でプログラムを作成できれば,自力で問題解決への道を開くことも考えられるようになる.また日常的にコンピュータで行う繁雑な作業をプログラムで自動化することで大幅に時間を節約することもできる.プログラムを作ることをプログラミングという.本科目では初学者を対象として,プログラミング言語Rubyを使って,毎回実際に手を動かしながらプログラミングの初歩から主要なトピックを一通り学んでいく.
到達目標 ・プログラミングの基本的な技能を一通り身につける.
・GUIを備えファイル入出力をともなって大量のデータ処理を行うようなプログラムが作成できるようになる.
・さまざまな課題を前にして,その解決をプログラムによって実現する方法を見出す経験を積み,自分の課題に応用できるようになる.
授業計画と内容 プログラミングは専門家の仕事であり,誰もが必ずしも学ぶ必要はないという考え方もある.しかしコンピュータは知的活動の可能性を大きく広げることができるツールであり,それを自在に使いこなす手段としてのプログラミングを学ばないことは,率直に言って非常にもったいないことである.

プログラミングはいい意味で「手軽」に創造性を発揮できる手段でもある.自分の書いたプログラムの記述通りにコンピュータが動くのを見るのは大変うれしいものである.その一方でプログラミングを学ぶことで,コンピュータが決して魔法の箱ではないこと,コンピュータがどれほど融通が利かないものなのかを知ることもできるだろう.この授業でプログラミングによるモノ作りの楽しさ(と難しさ)を体験してほしい.

この授業で予定している内容は,おおよそ次のとおりである.

01. プログラミングの概念とツールの使い方の基礎を学ぶ
02. プログラミングを始める
03. データをモデル化する(変数)
04. プログラムの部品を作る(メソッド)
05. 「繰り返し」を構造化する(ループ)
06. 条件に基づいて処理する(条件に基づくループと条件分岐)
07. 一連のデータを系統的に扱う(配列)
08. ファイルを利用してデータを処理する(ファイル入出力)
09. 問題を分解して統合する(再帰的処理)
10. プログラムを使いやすくする(GUI)
11. プログラムをデータとして扱う(手続き)
12. データと処理機能を構造化する(オブジェクト)
13. 総合的な問題に取り組む
14. オリジナルのプログラムを制作する
15. 授業フィードバック
成績評価の方法・観点 授業で扱うトピックごとに内容を理解してプログラムを作成できるようになること, また最終的には,学習したスキルを活かして,自分でテーマを設定してオリジナルのプログラムを作成できるようになることが求められる. 各トピックごとに課題として作成するプログラムについて,その難易度に応じた標準点を設け, 提出されたプログラムの内容に基づいて評価する. すべての課題についての合計点に基づいて成績を決定する.課せられた条件を満たした上で拡張を行うなど独自の工夫があれば積極的に評価する.
履修要件 受講者はコンピュータの基本的な使い方を身につけていることが求められる.演習にはLinux環境(仮想型端末)を用いる予定である.Linuxおよびプログラミングに関する知識は前堤としない.
授業外学習(予習・復習)等 授業で学習する各トピックについて,書籍等に基づいて概念・用語などを事前に調べ,また可能であれば簡単なプログラムを動かしてみることで,演習にスムーズに取り組めるようにしておくことが望ましい.また授業での学習の後にも学習したトピックに関連するさまざまなプログラムを作成し,動かしてみることで理解を深めることが重要である.
教科書 資料をPandAで配布する
参考書等 授業ポータルサイトで情報を提供する
関連URL https://www.i.h.kyoto-u.ac.jp/users/hioki/lect/Ruby/
PAGE TOP