タイトル

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

可読性が高くインタプリタのあるスクリプト言語Pythonを、講義・演習・課題を組み合わせた実習形式で実施する。
言語仕様を学ぶだけではなく、「実現したいことを理解し、説明できるレベルまで整理し、コンピュータが処理できる形に翻訳する」というプログラミング開発一連の流れを体験する。
レポートを通して学んだことを整理させると共に、レポート作成技術について学ぶ。
なお、プログラミングとはある種の工芸(創造的な芸術)であり唯一の正解がある問題ではない。一方で、その工芸品を作る手段や過程にはある程度の共通項があるのも事実である。そこで、「考えていることを話合いながら作業する」ペア・プログラミングを導入することでプログラミングにおける躓き明確化やテクニック共有を促す環境を構築し、明文化され難い観点への気づきを支援する。また、2名で演習に取り組むことを通して他者と協働する力を養う。
 
URGCC学習教育目標
コミュニケーション・スキル、情報リテラシー、問題解決力、専門性
 
達成目標
1. 提示された課題を口頭および報告書として説明することができる。[コミュニケーション能力, 専門性]
2. Pythonの基本的な宣言・式・関数・制御文・関数・スコープ・ファイルI/Oを理解し,用いることができる。[実践性]
3. (クラス、)モジュール、関数の表面的な違いを意識し、コードを読み書きできる。[実践性]
4. 開発中に得られたErrors、 Warningsを元に、どのようにデバッグしたら良いかを考え、実行に移すことができる。[実践性]
5. 第三者の書いたコード(100行程度)を読み、動作を説明することができる。(小作品理解)[実践性, 専門性, コミュニケーション能力]
6. プログラミングの概念と設計方法を理解し、KISS原則を意識した構造化プログラミング(100行程度)を実践することができる。(小作品制作)[実践性, 専門性, 課題解決能力と創造性]
7. 第三者にとって保守管理し易くするためにコード規約を意識し、適切なコメントを記述、単体テストを用意することができる。(小作品仕上げ)[実践性, 専門性]
 
評価基準と評価方法
レポートおよび課題(85%)、ミニテスト(10%)、ペア・プログラミング演習(5%)、により評価する。
プログラミング・プロセスを重視する。課題に対する考察の課程が分るような表現法を考え、レポートとしてまとめること。
 
履修条件
情報工学科システムを使うため、原則として情報工学科学生のみ履修可能である。他学科の学生は事前に相談すること。
 
授業計画
毎週教科書に関するミニテストを実施する。第1回に関しては事前にPrefaceを読んでくること。それ以降はレポートの進み具合を鑑みながら調整する。

第1回: 卓上プログラミングによる開発設計概観、Pythonインタプリタの起動と逐次処理・変数の利用
第2回: Pythonインタプリタとスクリプトの体験1、ペア・プログラミングの導入
第3回: Pythonインタプリタとスクリプトの体験2: 文字列とif文、関数の利用
第4回: 関数の利用2、ループ処理(while文)
第5回: ループ処理(for文)、range()関数とリストによるシーケンス集合表現、浮動小数点問題
第6回: 関数とスコープ、仕様、ユニットテスト、モジュール
第7回: KISS原則とDRY原則、doctest補足、再帰と木構造
第8回: File I/O, Tuples, Jupyter Notebook, 振り返り
第9回: 統合環境PyCharm、デバッガ、振り返り
第10回: リスト操作、文字列操作と調べ方
第11回: これまでの振り返り(演習)
第12回: ディクショナリと関数オブジェクト
第13回: テストとデバッグ、関数設計
第14回: 例外とアサーション、matplotlibとpandas入門
第15回: バージョン管理システム Git入門
 
事前学習
講義用Webページ、教科書で予習しておくこと。第1回についてはPrefaceを読んでくること。第2回以降については授業は講義用Webページにて指示する。
 
事後学習
講義で実習したことを復習し、時間内にできなかった課題は次の授業までに行うこと。
また、ほぼ2週間に1度の割合で課題レポートを設定する予定である。その際には締切日を守り、提出すること。
 
教科書にかかわる情報
教科書 書名 ISBN
978-0262529624
備考
2017年度まで使用していた教科書でもある程度対応可能ですが、内容がやや古い点に注意が必要です。
著者名
John V. Guttag
出版社
MIT Press
出版年
2016
NCID
 
教科書全体備考
 
 
参考書にかかわる情報
参考書 書名 ISBN
9784274064067
備考
著者名
Mike Gancarz著 ; 芳尾桂監訳
出版社
オーム社
出版年
2001
NCID
BA51204260
参考書 書名 ISBN
477412222X
備考
著者名
小森裕介著
出版社
技術評論社
出版年
2005
NCID
BA6983850X
参考書 書名 ISBN
9784822284657
備考
著者名
平澤章著
出版社
日経BPマーケティング (発売)
出版年
2011
NCID
BB05704566
参考書 書名 ISBN
9784130624527
備考
著者名
増原英彦, 東京大学情報教育連絡会著
出版社
東京大学出版会
出版年
2010
NCID
BB02373101
参考書 書名 ISBN
9784623060450
備考
著者名
山田剛史, 林創著
出版社
ミネルヴァ書房
出版年
2011
NCID
BB06394555
参考書 書名 ISBN
9781449355739
備考
著者名
Mark Lutz
出版社
O'Reilly
出版年
2013
NCID
BB13587093
参考書 書名 ISBN
4873117380
備考
Python3の構文から一通り学ぶための入門書。
著者名
Bill Lubanovic 著,斎藤康毅 監訳,長尾高弘 訳,
出版社
オライリー・ジャパン
出版年
2015
NCID
 
参考書全体備考
 
 
使用言語
日本語
 
メッセージ
受動的な学びだけでは学びになりません。高い学費を払っているのだから学費以上のものを勝ち取るように、大学というリソースを活用しよう。
シラバスや授業計画は計画時点のものです。授業の進展具合に応じて調整することを想定しています。最新版は授業Webページ(下記URL)を参照のこと。

「アクティブラーニング」の項目にチェックを入れていますが、下記に示す形で薄く関わっています。
『学生が議論する』と『学生が自身の考えを発表する』については、主にペアプログラミングという2名による演習時に意思疎通が必要です。
『フィールドワークなど学生が体験的に学ぶ』については、情報工学科(知能情報コース)における現場の一つである「コンピュータとの対話」が必要です。
『学生が文献や資料を調べる』については、演習や課題レポート作成時に教科書だけでなく、マニュアル等の資料を調べることが必要です。
 
オフィスアワー
調整中。
 當間: 木曜日3時限目@工1-705予定。
 TA1: 當眞南@名嘉村研(主に授業中のサポート対応)
 TA2: 西山昴志@當間研(主にレポート指導対応)
 
メールアドレス
この項目は教務情報システムにログイン後、表示されます。
 
URL
http://ie.u-ryukyu.ac.jp/~tnal/2018/prog1/
 

ページの先頭へ