社会学部Faculty of Social Sciences
COT300ED(計算基盤 / Computing technologies 300)システム・プログラミングBSystems Programming B
森 幹彦
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 社会学部Faculty of Social Sciences |
添付ファイル名Attached documents | |
年度Year | 2023 |
授業コードClass code | LD021 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | 【2017年度以前入学者向け科目名称】プログラミング中級C |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 月4/Mon.4 |
科目種別Class Type | |
キャンパスCampus | 多摩 |
教室名称Classroom name | 情報実習室3 |
配当年次Grade | 2~4 |
単位数Credit(s) | 2 |
備考(履修条件等)Notes | 受講許可が必要。詳細は「クラス指定科目・抽選科目・受講許可科目について」参照。 |
他学部公開科目Open Courses | |
他学部公開(履修条件等)Open Courses (Notes) | |
グローバル・オープン科目Global Open Courses | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
入学年度Admission year | |
カテゴリーCategory | |
カテゴリー(2022年度以降入学者)Category (2022~) | 講義・実習科目 |
カテゴリー(2018~2021年度入学者)Category (2018~2021) | 講義・実習科目 |
カテゴリー(2017年度以前入学者)Category (~2017) | 講義・実習科目 |
コース・プログラム名Course/Program name |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
We are surrounded by various computers that process information, and there are many computers that are invisible to us, such as information services. Many of these computers have an operating system (OS) that absorbs the differences in hardware and enables them to process information in a standardized procedure.
The aim of this course is to acquire practical knowledge and skills in OS manipulation methods. Students learn about the programming language Python as a tool for manipulating OS. Students learn how to run Python on a remote server and utilize the server's resources.
The goal of this course is as follows:
(1) To acquire knowledge of variables, control structures, etc. necessary for programming in Python,
(2) To understand how to operate the operating system in Python,
(3) To understand how to process data on a remote server,
(4) To build an application that runs on a server by oneself.
The standard preparation and review is 2 hours for each class.
This course progresses on the premise that students have reviewed the previous contents until they understand the contents before the next class. Therefore, students are recommended to consider creating their own programs in their free time as independent assignments. Programming skills will be derived from the time spent on program creation.
The following three assignments will be made: report assignment (50%), midterm assignment (20%), and final assignment (30%). The degree of goal achievement will be evaluated holistically.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
私たちは様々な情報処理をするコンピュータに囲まれており、情報サービスなどの見えない場所にあるコンピュータも多数ある。多くのコンピュータは、オペレーティングシステム(Operating System: OS)が動くことで個々のコンピュータの差異を吸収して、統一的な処理が行えるようになっている。
本授業では、OSの操作法について実践的な知識と技能を身につけることを目的とする。そこで、OSの操作手段のひとつとして、プログラミング言語Pythonについて学ぶ。Pythonを遠隔のサーバー上で実行し、サーバーのリソースを活用する方法について学ぶ。
到達目標Goal
(1) Pythonによるプログラミングに必要な変数や制御構造等の知識を身につける。
(2) PythonでのOSに関係する操作方法を理解する。
(3) 遠隔のサーバー上のデータ処理方法を理解する。
(4) サーバー上で動作するアプリケーションを一人で作り上げられる。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
社会学部のディプロマポリシーのうち,DP2・DP4に関連。 DPについてはこちら https://www.hosei.ac.jp/shakai/info/article-20200325181407/
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
本授業では最初に、「プログラミング入門」の復習と新しい文法の習得をする。その上で、幅広いプログラムスキルを身につけていく。最終課題では実際にサーバー上で動くアプリケーションソフトウェアを作成する。
授業内で行う演習課題について適宜フィードバックをしながら進めていく。また、レポート課題に対してフィードバックを行う。
授業計画は授業の展開によって変更する可能性がある。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
第1回[対面/face to face]:導入
授業の目的と概要の説明、OSの解説
第2回[対面/face to face]:サーバー操作とプログラミング環境
Linux環境の使用方法を学ぶ。また、手元のPC上でのプログラミング環境との連携について学ぶ。
第3回[対面/face to face]:ファイルとディレクトリ
Linuxのファイル・ディレクトリ構造と操作方法について学ぶ。
第4回[対面/face to face]:変数と演算、代入
Pythonにおけるデータ処理の基礎を学ぶ。
第5回[対面/face to face]:データ型とリスト
Pythonが用意する型を学ぶ。また、代表的なリスト型の操作を学ぶ。
第6回[対面/face to face]:繰り返し構文
繰り返し構文forとwhileについて学ぶ。
第7回[対面/face to face]:条件分岐構文
条件分岐構文ifについて学ぶ。
第8回[対面/face to face]:関数
一連の手続きをひとまとめにできる関数について学ぶ。
第9回[対面/face to face]:ファイル入出力
Pythonを用いてファイルの読み書きする方法を学ぶ。
第10回[対面/face to face]:データファイルの扱い方
CSV形式を例にデータ入出力と簡単な処理について学ぶ。
第11回[対面/face to face]:文字列検索
データ中の文字列を検索する方法について学ぶ。
第12回[対面/face to face]:簡易Unixコマンド
ここまで学んできたことを使って、Unixコマンドの作り方を学ぶ。
第13回[対面/face to face]:最終課題作成(1)
Pythonを使って各自で最終課題を作成する。
第14回[対面/face to face]:最終課題作成(2)
Pythonを使って各自で最終課題を作成する。
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
本授業の準備学習・復習時間は各2時間を標準とする。
前回までの内容ができるようになった前提で授業を進めていく。課題に取り組みながら各回の内容が十分に達成できるようにしなければならない。そのために、空いている時間に自主課題を考えて積極的にプログラムの作成を試みることが望ましい。プログラム作成にかけた時間がプログラミング能力へ結びつく。
テキスト(教科書)Textbooks
適宜資料の配布と提示を行う。
参考書References
授業内で参考資料をその都度提示する。Javaの参考書は無償、有償を問わず多数ある。自分に合ったものを探して用意してよい。
成績評価の方法と基準Grading criteria
レポート課題 (50%)、中間課題 (20%)、最終課題 (30%)として、到達目標への達成度を総合的に評価する。
学生の意見等からの気づきChanges following student comments
学生の進捗に合わせて授業進度や難易度の調整をする。
学生が準備すべき機器他Equipment student needs to prepare
情報実習室にて授業を行う。
その他の重要事項Others
システム・プログラミングAの事前受講を強く推奨する。システム・プログラミングAを既習のものとして、OSの基本操作やサーバーへのアクセス法について詳しく説明しない。
質問は原則授業中に受け付ける。その他のコミュニケーション手段でも受け付ける。詳細は,初回授業で説明する。