シラバス
※学期中に内容が変更になることがあります。

2020年度


10807614-001 

△プログラミング基礎-1
Fundamentals of Programming-1
2単位/Unit  秋学期/Fall  京田辺/Kyotanabe  講義/Lecture

  波多野 賢治 太田 公子 蒲原 智也

<概要/Course Content Summary>

「プログラミング入門」で学んだプログラミングの基本的事項を確認し,プログラミングに対する理解をより一層深いものにすることを目標とする.人工言語の一種であるプログラミング言語には,さまざまな工夫が施されている.本講義では,近年利用者数が急増しているPythonを通じて,構造化プログラミングやオブジェクト指向などのソフトウェア設計技法を紹介すると同時に,演習を通じて理解を深める.

<到達目標/Goals,Aims>

・基本的なアルゴリズムとデータ構造を理解できるようになる. 
・オブジェクト指向の基本となるクラスおよびメソッドについて理解できるようになる.  

<授業計画/Schedule>

(実施回/
Week)
(内容/
Contents)
(授業時間外の学習/
Assignments)
(実施回/ Week) (内容/ Contents) プログラミング入門の復習 (1)  
Python による基本的なプログラム 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) (内容/ Contents) プログラミング入門の復習 (2)  
フローチャートと制御構造  
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) (内容/ Contents) プログラミング入門の復習 (3)  
制御構造と配列 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) (内容/ Contents) プログラミング入門の復習 (4)  
多重ループと多次元配列 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) (内容/ Contents) 関数 (1)  
関数の利用法 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) (内容/ Contents) 関数 (2)  
関数を使ったプログラミング練習 
(授業時間外の学習/ Assignments) 復習,復習 
(実施回/ Week) (内容/ Contents) 振返り (関数)  (授業時間外の学習/ Assignments) 予習 
(実施回/ Week) (内容/ Contents) アルゴリズムとデータ構造 (1)  
探索 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) (内容/ Contents) アルゴリズムとデータ構造 (2)  
ソート 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) 10  (内容/ Contents) アルゴリズムとデータ構造 (3)  
ソートのプレゼンテーション 
(授業時間外の学習/ Assignments) 予習,復習 
(実施回/ Week) 11  (内容/ Contents) クラスの基礎 (1)  
クラスの定義 (オブジェクト),クラスの機能 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) 12  (内容/ Contents) クラスの基礎 (2)  
コンストラクタ,インスタンスメソッド,継承,オーバーライド 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) 13  (内容/ Contents) クラスの応用 (1)  
オブジェクトのリスト,シミュレーション 
(授業時間外の学習/ Assignments) 復習 
(実施回/ Week) 14  (内容/ Contents) クラスの応用 (2)  
クラスを使ったプログラミング練習 
(授業時間外の学習/ Assignments) 予習,復習 
(実施回/ Week) 15  (内容/ Contents) 振返りと総括  (授業時間外の学習/ Assignments) 予習 

 本講義は Python 言語を利用して行われる.Python の事前知識は必要としないが,基礎的な命令の組み立てを行う能力,例えば「プログラミング入門」程度の知識を前提として行われる.また,自分の頭で物事を論理的に考える能力が必要であるため,講義後の復習が必須となる.担当教員が示した一つの解法やプログラムに満足することなく,さらなる改善が可能ではないかと常に考察し,できるだけ簡潔に,また見通しの良いプログラムを実装できるよう努力する必要がある.  
 なお,講義の進度および受講者の理解度によって授業計画を変更することがある.

<成績評価基準/Evaluation Criteria>

提出課題   30%  習得した知識,技能の理解度 
中間課題  35%  習得した知識,技能の理解度 
最終課題  35%  習得した知識,技能の理解度 

 出席は重視せず,本講義で得た知識・技能が理解されているかどうかを各回の提出課題および2回の振返り時の課題で確認する.そのため,理解できない箇所があった場合や,更なる知識を得たい場合は,教員,TA,SAにe-class内の掲示板での質疑応答や,オンラインミーティングツール等で積極的に関わり,そうした問題や要求の解消に努めること. 
 なお,受講における不適切な行為,例えば,提出物である各課題を他者と共有し,盗用・剽窃等を行ったことが判明した場合は,不正行為として認定する.

 

<成績評価結果/Results of assessment>   成績評価の見方について/Notes for assessment

    

登録者数

成績評価(%)

評点
平均値

備考

A B C D F
112 6.3 27.7 26.8 17.0 22.3 0.0 1.8

<参考文献/Reference Book>

柴田 淳 著  『みんなの Python』第4版 (SB クリエイティブ、2016)ISBN:978-4797389463 Python の知名度が低い時代に登場した Python を学ぶためのデファクトスタンダードの書籍です. 
 

John V. Guttag 著, 久保 幹雄 監訳  『Python 言語によるプログラミングイントロダクション-データサイエンスとアプリケーション-』第2版 (近代科学社、2017)ISBN:978-4764905184 MIT で人気の講義内容をまとめた計算科学の教科書です.最初の部分以外は初学者には難しくなる可能性はありますが,実際に直面する問題をプログラミング言語で解くために必要な基礎知識が散りばめられており,本来はこのくらいは理解出来る必要があることに気づかされます. 
 

森 巧尚  『Python 1年生-体験してわかる!会話でまなべる!プログラミングのしくみ -』(翔泳社、2017)ISBN:978-4798153193 名前から分かるように,知識がゼロの方を対象にした,Python の超入門書です. 
 

 プログラミングの習得は自学自習をどれだけ行えるかが重要です.講義内容をより理解するために上記の参考書で学ぶことも求められています.自分自身の知識量に応じて,適切な参考書を上記から選んでみて下さい.

<参照URL/URL>

Python.org 
プログラミング言語 Python 公式サイト 

<備考/Remarks>

 本講義は DUET で教室配当がされていますが,原則ネット配信講義 (オンデマンド講義: 動画配信型) で実施します.時間割の都合で,本講義を大学で受講する場合は,当該曜日校時である火曜2限に配当教室で受講のこと. 

 

お問合せは同志社大学 各学部・研究科事務室まで
 
Copyright(C) 2020 Doshisha University All Rights Reserved. 無断転載を禁止します。