授業の形態
|
講義、演習又は実験、TA有り
|
|
アクティブラーニング
|
学生が議論する、学生が自身の考えを発表する、フィールドワークなど学生が体験的に学ぶ、学生が文献や資料を調べる
|
|
授業内容と方法
|
*本科目(工共114)は、工学科「知能情報コース」の学生が受講可能である。
可読性が高くインタプリタのあるスクリプト言語Pythonを、講義・演習・課題を組み合わせた実習形式で実施する。 言語仕様を学ぶだけではなく、「実現したいことを理解し、説明できるレベルまで整理し、コンピュータが処理できる形に翻訳する」というプログラミング開発一連の流れを体験する。 レポートを通して学んだことを整理させると共に、レポート作成技術について学ぶ。 なお、プログラミングとはある種の工芸(創造的な芸術)であり唯一の正解がある問題ではない。一方で、その工芸品を作る手段や過程にはある程度の共通項があるのも事実である。そこで、「考えていることを話合いながら作業する」ペア・プログラミングを導入することでプログラミングにおける躓き明確化やテクニック共有を促す環境を構築し、明文化され難い観点への気づきを支援する。また、2名で演習に取り組むことを通して他者と協働する力を養う。
原則対面とするが、遠隔参加も可能である。Zoom URLはMattemrost(prog)にてその都度告知する。
【変更履歴】 2023/3/7, 初期バージョン登録。今後の変更履歴はこちらに記入します。
|
|
URGCC学習教育目標
|
コミュニケーション・スキル、情報リテラシー、問題解決力、専門性
|
|
達成目標
|
1. 提示された課題を口頭および報告書として説明することができる。[コミュニケーション能力, 専門性] 2. Pythonの基本的な宣言・式・関数・制御文・関数・スコープ・ファイルI/Oを理解し,用いることができる。[実践性] 3. (クラス、)モジュール、関数の表面的な違いを意識し、コードを読み書きできる。[実践性] 4. 開発中に得られたErrors、 Warningsを元に、どのようにデバッグしたら良いかを考え、実行に移すことができる。[実践性] 5. 第三者の書いたコード(100行程度)を読み、動作を説明することができる。(小作品理解)[実践性, 専門性, コミュニケーション能力] 6. プログラミングの概念と設計方法を理解し、KISS原則を意識した構造化プログラミング(100行程度)を実践することができる。(小作品制作)[実践性, 専門性, 課題解決能力と創造性] 7. 第三者にとって保守管理し易くするためにコード規約を意識し、適切なコメントを記述、単体テストを用意することができる。(小作品仕上げ)[実践性, 専門性]
|
|
評価基準と評価方法
|
レポートおよび課題(85%)、ミニテスト(10%)、ペア・プログラミング演習(5%)、により評価する。 プログラミング・プロセスを重視する。課題に対する取り組み方が分るような表現法を考え、レポートとしてまとめること。
レポートはほぼ2週間に1度のペースで用意されており、合計7件のレポートがある。 それぞれのレポートは100点満点で採点するが、85%への換算時には難易度に応じた重み付けをして調整する。(簡単なレポートは重みが小さくなり、配点が小さくなります) 例年積み残しにより最終的に出せなくなる学生が出ていることから、〆切を厳格化することを想定している。
|
|
履修条件
|
知能情報コースのシステムを使うため、原則として同コースの学生のみ履修可能である。他コース・他学科の学生は事前に相談すること。
|
|
授業計画
|
毎週教科書に関するミニテストを実施する。第1回に関しては事前にPrefaceを読んでくること。それ以降はレポートの進み具合を鑑みながら調整する。
第1回: プログラミング概観、Pythonインタプリタの起動、逐次処理、変数の利用 第2回: Pythonインタプリタとスクリプトの体験、計算的思考 第3回: 関数定義とその操作、デバッグ実行入門 第4回: 条件分岐 第5回: ループ処理 第6回: 振り返り1 第7回: シーケンス、リスト型、辞書型、集合 第8回: ファイル入出力、型ヒント、ドキュメンテーション 第9回: doctest、スタックフレーム、関数のデフォルト値 第10回: 振り返り2、JupyterLabとNumpy入門 第11回: デバッグ演習2、正規表現の紹介、モジュール 第12回: 浮動小数点数の取り扱い、抽象化&再帰関数 第13回: 例外とアサーション 第14回: バージョン管理システム Git入門 第15回: 振り返りと今後の道標
|
|
事前学習
|
講義用Webページ、教科書で予習しておくこと。第1回についてはPrefaceを読んでくること。第2回以降については授業は講義用Webページにて指示する。
|
|
事後学習
|
講義で実習したことを復習し、時間内にできなかった課題は次の授業までに行うこと。 また、ほぼ2週間に1度の割合で課題レポートを設定する予定である。その際には締切日を守り、提出すること。
|
|
教科書にかかわる情報
|
|
978-0262529624
|
2017年度まで使用していた教科書でもある程度対応可能ですが、内容がやや古い点に注意が必要です。
|
John V. Guttag
|
MIT Press
|
2016
|
|
|
|
|
教科書全体備考
|
|
|
参考書にかかわる情報
|
|
4274064069
|
|
Mike Gancarz著 ; 芳尾桂監訳
|
オーム社
|
2001
|
BA51204260
|
|
477412222X
|
|
小森裕介著
|
技術評論社
|
2005
|
BA6983850X
|
|
4822284654
|
|
平澤章著
|
日経BPマーケティング (発売)
|
2011
|
BB05704566
|
|
9784130624527
|
|
増原英彦, 東京大学情報教育連絡会著
|
東京大学出版会
|
2010
|
BB02373101
|
|
4623060454
|
|
山田剛史, 林創著
|
ミネルヴァ書房
|
2011
|
BB06394555
|
|
9781449355739
|
|
Mark Lutz
|
O'Reilly
|
2013
|
BB13587093
|
|
4873117380
|
Python3の構文から一通り学ぶための入門書。
|
Bill Lubanovic 著,斎藤康毅 監訳,長尾高弘 訳,
|
オライリー・ジャパン
|
2015
|
|
|
|
|
参考書全体備考
|
|
|
使用言語
|
日本語
|
|
メッセージ
|
受動的な学びだけでは学びになりません。高い学費を払っているのだから学費以上のものを勝ち取るように、大学というリソースを活用しよう。 シラバスや授業計画は計画時点のものです。授業の進展具合に応じて調整することを想定しています。最新版は授業Webページ(下記URL)を参照のこと。
「アクティブラーニング」の項目にチェックを入れていますが、下記に示す形で薄く関わっています。 『学生が議論する』と『学生が自身の考えを発表する』については、主にペアプログラミングという2名による演習時に意思疎通が必要です。 『フィールドワークなど学生が体験的に学ぶ』については、情報工学科(知能情報コース)における現場の一つである「コンピュータとの対話」が必要です。 『学生が文献や資料を調べる』については、演習や課題レポート作成時に教科書だけでなく、マニュアル等の資料を調べることが必要です。
**重要** [3/7更新] (1) 3/7時点ではオンライン実施を並行して実施する形を想定しています。 なお、体調が悪い場合には理由を問わず教室来訪を禁止します。素直に休息を取るか遠隔参加で受講ください。
(2) Zoomリンクは連絡網であるMattermost(チーム「ie-ryukyu」、チャンネル「prog」)」で通知します。 何のことか分からない人はメールで連絡ください。
[4/4更新] (1) 対面&オンラインの併行実施します。オンライン(Zoom)情報は、Mattemorstのprogチャンネルで通知します。
|
|
オフィスアワー
|
調整中。 當間: 木曜日2時限目@工1-705予定。
|
|
メールアドレス
|
この項目は教務情報システムにログイン後、表示されます。
|
|
URL
|
http://ie.u-ryukyu.ac.jp/~tnal/2023/prog1/
|
|
|