シラバス情報

科目授業名称(和文) Name of the subject/class (in Japanese)
プログラミング演習2
科目授業名称(英文) Name of the subject/class (in English)
Exercises in Programming Exercises 2
授業コード Class code
9946454
科目番号 Course number
46CSPRL201

教員名
楊 沢坤、大東 智洋、澤田 和弥、池辺 淑子
Instructor
Yoshiko IKEBE
Tomohiro Ohigashi
Kazuya SAWADA
Zekun YANG

開講年度学期
2026年度前期
Year
2026年度
Semester
①First semester
曜日時限
木曜2限、木曜3限
Class hours
Thursday, 2nd and 3rd periods

開講学科・専攻 Department
工学部 情報工学科

Department of Information and Computer Technology, Faculty of Engineering
単位数 Course credit
1.00単位
授業の方法 Teaching method
演習

Seminar
外国語のみの科目(使用言語) Course in only foreign languages (languages)
-
授業の主な実施形態 Main class format
① [対面]対面授業/ [On-site] On-site class

概要 Description
ソートやグラフ探索などの初歩的なアルゴリズムおよびリスト,ヒープ,2分木などの基本的なデータ構造に関するプログラミング技術を学ぶ.

We will learn about programming techniques concerning algorithms such as sorting and graph search and basic data structures, such a s lists, search trees, and binary heaps.
目的 Objectives
情報工学に必要な基礎学力と専門知識,情報技術者として職業上必要な基礎知識を修得するため,さまざまなアルゴリズムとデータ構造について理解し,コード化する技術を身に着ける.

We aim to (a): grasp fundamentals of basic algorithms and data structures, and (b): acquire skills in implementing them in actual code. These techniques are part of the basic skills that any engineer in computer technology should have.
到達目標 Outcomes
代表的なアルゴリズムについて、実際的なプログラム作成ができるようになる.

We aim to acquire skills to sufficiently write programs for basic algorithms.
卒業認定・学位授与の方針との関係(学部科目のみ)
リンク先の [評価項目と科目の対応一覧]から確認できます(学部対象)。
履修登録の際に参照ください。
​You can check this from “Correspondence table between grading items and subjects” by following the link(for departments).
https://www.tus.ac.jp/fd/ict_tusrubric/​​​
履修上の注意 Course notes prerequisites
講義科目の「データ構造とアルゴリズム」と連動するので,そちらと合わせて履修すること.
課題レポートを毎回必ず提出すること.

This course is closely linked to the Data Structures and Algorithms class.
All assignments must be handed in on time.
アクティブ・ラーニング科目 Teaching type(Active Learning)
グループワーク Group work/プレゼンテーション Presentation
最後の3回の授業においてプロジェクト課題にグループで取り組み,発表を行う.

The final three classes will be dedicated to group work on a project assignment.  

準備学習・復習 Preparation and review
毎回授業において指示する。

Topics for preparation and review will be given in each class.
成績評価方法 Performance grading policy
課題提出(毎回)による.未提出課題が4回以上の場合は内容にかかわらず不合格となる.

Will be graded on the quality of the assignments which will be assigned in each class. Failure to hand in more than three assignments will automatically result in  course failure.
学修成果の評価 Evaluation of academic achievement
・S:到達目標を十分に達成し、極めて優秀な成果を収めている
・A:到達目標を十分に達成している
・B:到達目標を達成している
・C:到達目標を最低限達成している
・D:到達目標を達成していない
・-:学修成果の評価を判断する要件を欠格している

・S:Achieved outcomes, excellent result
・A:Achieved outcomes, good result
・B:Achieved outcomes
・C:Minimally achieved outcomes
・D:Did not achieve outcomes
・-:Failed to meet even the minimal requirements for evaluation

教科書 Textbooks/Readings
教科書の使用有無(有=Y , 無=N) Textbook used(Y for yes, N for no)
N
書誌情報 Bibliographic information
-
MyKiTSのURL(教科書販売サイト) URL for MyKiTS(textbook sales site)
教科書および一部の参考書は、MyKiTS (教科書販売サイト) から検索・購入可能です。
​https://gomykits.kinokuniya.co.jp/tokyorika/​​​

It is possible to search for and purchase textbooks and certain reference materials at MyKiTS (online textbook store).
​​https://gomykits.kinokuniya.co.jp/tokyorika/

参考書・その他資料 Reference and other materials
毎回講義資料をLETUSにて準備する.
プログラミング演習1で使用したテキストを持参すると良い.

授業計画 Class plan
第1回:ガイダンスとプログラミング演習1の復習(1)
 授業の進め方について説明し,1年後期で学んだプログラミングの基礎を復習する。
第2回:リスト構造
 ポインタと線形リストのプログラムの実装取り組む。
第3回:2分探索木(1)
 2分探索木のプログラムの実装取り組む。
第4回:2分探索木(2)
 発展的な2分探索木のプログラムの実装取り組む。
第5回:ヒープとヒープソート
 ヒープソートのプログラムの実装取り組む。
第6回:ハッシュ法
 外部ハッシュ法,内部ハッシュ法のプログラムの実装取り組む。
第7回:バケット法(1)
 バケットソートのプログラムの実装に取り組む。
第8回:バケット法(2)
 分布数え挙げソートと基数ソートのプログラムの実装に取り組む。
第9回:再帰呼び出しとクイックソート
 クイックソートのプログラムの実装取り組む。
第10回:グラフ探索
 グラフの幅優先探索と深さ優先探索のプログラムの実装取り組む。
第11回:最短路問題
 グラフの最短路問題とそれを解くダイクストラ法のプログラムの実装取り組む。
第12回:ユニオン・ファインド森と最小木問題
 ユニオン・ファインド森のデータ構造と最小木に対する Kruskal法のプログラムの実装取り組む。
第13回:プロジェクト課題(1)
 集大成となる最終課題に取り組む。
第14回:プロジェクト課題(2)
 引き続き最終課題に取り組む。
第15回:プロジェクト課題(3)
 各グループが発表を行う。

1: Overview of class principles, and review of the C programming language
After describing basic class rules, assignments designed to review important points in the C programming language will be given.

2. Lists
Assignments concerning the implementation of pointers and llinked lists will be given.

3. Binary search trees: Part 1
Assignments concerning binary search trees will be given.

3. Binary search trees: Part2
Assignments concerning advanced binary search trees will be given.

5. Heapsort
Assignments concerning binary heaps and heapsort will be given.

6. Hashing
Assignments concerning hashing techniques, namely chaining and open addressing will be given.

7. Buckets: Part 1
Assignments concerning the implementation of bucket sort will be given.

8. Buckets: Part 2
Assignments concerning counting sort and radix sort will be given.

9. Recursive calls and quicksort
Assignments concerning quicksort will be given.

10. Graph search algorithms
Assignments concerning the Breadth-First-Search and Depth-First-Search algorithms will be given.

11. Shortest path algorithms
Assignments concerning Dijkstra's method for the shortest path problem will be given.

12. The minimum spanning tree problem and union-find data structures
Assignments concerning the implementation of Kruskal's minimum spanning tree algorithm via union-find data structures will be given.

13. Final project:: Class 1
We will begin work on the final assignment of this course. This assignment will consist of the design and implementation of an algorithm for a given combinatorial optimization problem. All work will be group based, and each group will give a 5-minute presentation at the end of term. Actual details of the problem will be announced in class.

14. Final project: Class 2
We continue work on the final project.

15. Final class
Each group will give a presentation on their algorithm and implementation of the final project assignment.

担当教員の実務経験とそれを活かした教育内容 Work experience of the instructor
-
教育用ソフトウェア Educational software
-
-

備考 Remarks

授業でのBYOD PCの利用有無 Whether or not students may use BYOD PCs in class
Y
授業での仮想PCの利用有無 Whether or not students may use a virtual PC in class
N