この授業の目的は、プログラミング言語C、Scheme、アセンブリ、Pythonの基礎を習得し、それらの言語を通じて、情報科学を学ぶ上で必要な基礎学力を身につけることにあります。理学部情報科学科の開講科目である「計算機システム」と「アルゴリズムとデータ構造」を履修する事を前提としていますので、理学部情報科学科・生物情報科学科以外の学生は注意してください。
単位を取得する条件は、オプショナル以外の課題を全て解くことです(この基準が変化する事はありません)。 出席は取らないので、課題を解き終わった場合は退出しても構いません。
プロミング初心者の学生は、講義にきちんと出席してわからない事をその場で教員やTAに質問し、課題の提出期限をしっかり守って課題を溜めない事を強く推奨します。
過去単位が取れなかったために本演習を再履修する学生は、昨年度合格した課題(及びその類似課題)については再提出する必要はありません。自分がどの課題を提出する必要があるかについては、個別に問い合わせてください。
https://docs.google.com/spreadsheets/d/1PuJVXsY43c9zyDAcSqG5X04j6Sak5-HfiYZhse7R4so/edit?usp=sharing
(正しく解答されたものは "AC"、出力結果が間違っている(or 実行できない)場合は"WA"と記載しています)
(1/9, 2025) The class on Jan 10 will be online:
(1/6, 2025) The class on Jan 7 will be online:
(12/23, 2024) The class on Dec 24 will be online:
(12/18, 2024) 金曜日(12月20日)には対面でアルゴリズムとデータ構造の初回クラスがあります。C言語とScheme言語の両方のTAが参加しますので、ぜひ対面で参加して質問してください。
(12/18, 2024) There will be no class on 2024/12/27. Happy new year.
(11/22, 2024) There will be no class on 2024/11/22 due to 駒場祭.
(11/05, 2024) There will be no class on 2024/11/08.
(10/11, 2024) The class on 2024/10/18 (金) will be online. Please use the following zoom link:
(10/04, 2024) First class!
Slide for the first class
受講者にプログラミング初心者が多いことを考慮して、資料は厳密性よりも読み易さを優先して書かれています。例外的な事項を無視していたり、厳密には間違っている内容が書かれていることがあるので、注意してください。
課題を提出する前に、作成したプログラムが正しく動作するか(入力に対して適切な答えを返すか)をある程度自分で確かめてから提出するようにしてください。
演習中にわからない部分を友人に聞いたりしてアイデアを得る事は構いませんが、他人のソースコードをほぼ同じように書き写す事は当然禁止で、不正行為とみなされます。不正行為が認定された場合には、本演習の単位のみならず本セメスターの単位全てが無効となる可能性があります。
第01回:2024/10/04(金):C言語 (0回目)
第02回:2024/10/08(火):C言語 (1回目)
第03回:2024/10/11(金):C言語 (2回目)
第04回:2024/10/15(火):C言語 (3回目)
第05回:2024/10/18(金):C言語 (4回目) - online
第06回:2024/10/22(火):C言語 (5回目)
第07回:2024/10/25(金):C言語 (6回目)
第08回:2024/10/29(火):C言語 (7回目)
第09回:2024/11/01(金):Scheme (1回目)
第10回:2024/11/05(火):Scheme (2回目)
2024/11/08(金): no class
第11回:2024/11/12(火):Scheme (3回目)
第12回:2024/11/15(金):Scheme (4回目)
第13回:2024/11/19(火):Scheme (5回目)
2024/11/22(金) : no class (駒場祭)
2024/11/26 (火): no class
第14回:2024/11/29(金):Assembly (1回目)
第15回:2024/12/03(火):Assembly (2回目)
2024/12/06(金):no class
第16回:2024/12/10(火):Assembly (3回目) - online
第17回:2024/12/13(金):Assembly (4回目)
2024/12/17(火): no class
第18回:2024/12/20(金):アルゴリズムとデータ構造 (1回目)
第19回:2024/12/24(火):アルゴリズムとデータ構造 (2回目) - online
2024/12/27(金): no class
第20回:2025/01/07(火):アルゴリズムとデータ構造 (3回目) - online
第21回:2025/01/10(金):Python (1回目) - online
第22回:2025/01/14(火):Python (2回目)
五十嵐研究室 助教 I-Chao Shen / イーチャオ シェン
五十嵐研究室 修士1年 金澤 爽太郎 / Sotaro Kanazawa (C)
五十嵐研究室 修士1年 坂宮 丞太郎 / Jotaro Sakamiya (Scheme)
横矢研究室 修士1年 藤野 将吾 / Shogo Fujino (Assembly, Python)
授業時間中・授業時間外に関わらずメールでの質問を受け付けています。質問メールは以下のフォーマットに従ってください。
宛先: isutbe2024 [at] gmail.com
件名: [Question][課題番号] [所属/内定先] [学生証番号] [氏名] (※角括弧[ ]は取り除く,数字は半角)
例えば、件名の凡例は以下の通りです。
[Question] C1 理学部情報科学科 123456 東大太郎 (C言語の1問目の場合)
[Question] S1 理学部情報科学科 123456 東大太郎 (Scheme言語の1問目の場合)
[Question] ASM1 理学部情報科学科 123456 東大太郎 (Assembly言語の1問目の場合)
[Question] AD1 理学部情報科学科 123456 東大太郎 (アルゴリズムとデータ構造の1問目の場合)
また、メールを書くときは以下の点を注意してください。
エラーが出たりおかしな挙動をする場合は、自分で試したときの実行結果をコピーしてください。(スクリーンショットでもかまいません。)実行環境が授業の標準と違う場合は、その実行環境も明記してください。
知りたいことをできるだけ具体的に書いてください。単に「うまく動かない」と言うのではなく、「どの関数でエラーが起こるのか分からない」や「この行でエラーになっていることを突き止めたが、何故エラーになるのか分からない」などと具体的に問題点を挙げてください。
課題提出メールの本文や提出ファイルのコメントに質問を書いても教員・TAはそれを見逃してしまうことがあります。同様に質問メールのフォーマットに従っていないものも見逃してしまう可能性があります。