タイトル

科目番号 教室 登録人数 履修登録方法 対面/遠隔
工共114   [金1]工1-321   70   抽選対象   対面授業  
開講年度 期間 曜日時限 開講学部等
2024 前学期 金1 工学部工学科  
講義コード 科目名[英文名] 単位数
610004071 プログラミングⅠ   2  
担当教員[ローマ字表記]
當間 愛晃  
授業の形態
講義、演習又は実験、TA有り
 
アクティブラーニング
学生が議論する、学生が自身の考えを発表する、フィールドワークなど学生が体験的に学ぶ、学生が文献や資料を調べる
 
授業内容と方法
*本科目(工共114)は、工学科「知能情報コース」の学生が受講可能である。

可読性が高くインタプリタのあるスクリプト言語Pythonを、講義・演習・課題を組み合わせた実習形式で実施する。
言語仕様を学ぶだけではなく、「実現したいことを理解し、説明できるレベルまで整理し、コンピュータが処理できる形に翻訳する」というプログラミング開発一連の流れを体験する。
レポートを通して学んだことを整理させると共に、レポート作成技術について学ぶ。
なお、プログラミングとはある種の工芸(創造的な芸術)であり唯一の正解がある問題ではない。一方で、その工芸品を作る手段や過程にはある程度の共通項があるのも事実である。そこで、「考えていることを話合いながら作業する」ペア・プログラミングを導入することでプログラミングにおける躓き明確化やテクニック共有を促す環境を構築し、明文化され難い観点への気づきを支援する。また、2名で演習に取り組むことを通して他者と協働する力を養う。

原則対面とするが、遠隔参加も可能である。Zoom URLはMattemrost(prog)にてその都度告知する。
また、2週目以降については30分オンデマンドを導入する。

【変更履歴】
2024/3/25, 初期バージョン登録。今後の変更履歴はこちらに記入します。
 
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度の割合で課題レポートを設定する予定である。その際には締切日を守り、提出すること。
 
教科書にかかわる情報
教科書 書名 ISBN
4764906465
備考
世界標準MIT教科書。
第3版を購入ください。
著者名
John V. Guttag著 ; 麻生敏正 [ほか] 訳
出版社
近代科学社
出版年
2023
NCID
 
教科書全体備考
 
 
参考書にかかわる情報
参考書 書名 ISBN
4274064069
備考
大分古く、読みづらいですが、設計思想に触れてみたい方はおすすめします。
著者名
Mike Gancarz著 ; 芳尾桂監訳
出版社
オーム社
出版年
2001
NCID
BA51204260
参考書 書名 ISBN
477412222X
備考
著者名
小森裕介著
出版社
技術評論社
出版年
2005
NCID
BA6983850X
参考書 書名 ISBN
4822284654
備考
著者名
平澤章著
出版社
日経BPマーケティング (発売)
出版年
2011
NCID
BB05704566
参考書 書名 ISBN
9784130624527
備考
著者名
増原英彦, 東京大学情報教育連絡会著
出版社
東京大学出版会
出版年
2010
NCID
BB02373101
参考書 書名 ISBN
4623060454
備考
著者名
山田剛史, 林創著
出版社
ミネルヴァ書房
出版年
2011
NCID
BB06394555
参考書 書名 ISBN
9781449355739
備考
著者名
Mark Lutz
出版社
O'Reilly
出版年
2013
NCID
BB13587093
参考書 書名 ISBN
4873117380
備考
Python3の構文から一通り学ぶための入門書。
著者名
Bill Lubanovic 著,斎藤康毅 監訳,長尾高弘 訳,
出版社
オライリー・ジャパン
出版年
2015
NCID
 
参考書全体備考
 
 
使用言語
日本語
 
メッセージ
受動的な学びだけでは学びになりません。高い学費を払っているのだから学費以上のものを勝ち取るように、大学というリソースを活用しよう。
シラバスや授業計画は計画時点のものです。授業の進展具合に応じて調整することを想定しています。最新版は授業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/2024/prog1/
 

ページの先頭へ