|
教員名 : 薄倉 淳子
|
科目授業名称(和文) Name of the subject/class (in Japanese)
プログラミング1 (プログラミング1)
科目授業名称(英文) Name of the subject/class (in English)
Computer Programming 1
授業コード Class code
9914263
科目番号 Course number
14ISCIP203
教員名
薄倉 淳子
Instructor
Junko Usukura
開講年度学期
2026年度前期
Year
2026年度
Semester
①First semester
曜日時限
水曜4限
Class hours
Wednesday 4th period
開講学科・専攻 Department
理学部第一部 応用数学科
Department of Applied Mathematics, Faculty of Science Division Ⅰ 単位数 Course credit
2.00単位
授業の方法 Teaching method
講義
Lecture 外国語のみの科目(使用言語) Course in only foreign languages (languages)
-
授業の主な実施形態 Main class format
① [対面]対面授業/ [On-site] On-site class
概要 Description
C++ はC言語にオブジェクト指向を追加した言語である。C言語自体がメモリ管理に優れた言語であるので,C++は「メモリ管理」と「オブジェクト指向」の特徴を併せ持つ言語である。オブジェクト指向は複雑なプログラムを効率的に設計するための手法であり,高度なソフトウェアを作るには欠かせない。オブジェクト指向はプログラム上で「クラス」というもの定義することによって実現される。
C++の実習を通して,「プログラムがどのようにメモリを使うのか?」,「クラスを使ってどのようにプログラムが効率化されるのか」を学んでいく。 また,クラスをより深く理解するため,別のオブジェクト指向言語であるpythonのクラスについても学ぶ。 目的 Objectives
C++ の実習をとおして,メモリを意識してプログラミングする能力を養う。同時に,クラスを使ったプログラムの基礎を身につける。
グラフィック ユーザー インターフェース(GUI)はクラスを理解するのに良い例であり,python は GUI ライブラリを標準装備している。python で GUI アプリケーションを作成すること通してクラスについての理解を深める。 本学科のディプロマ・ポリシーに定める『数学を中心とする基礎知識を習得し、応用数学の中の「統計科学」「計算数学」「情報数理」の3つの学問領域を体系的かつ統合的に理解できる能力』を養成するための科目である。 到達目標 Outcomes
1. ポインタ,参照を理解し,これらを利用して関数に引数を渡すことができるようになる。
2. クラスの定義して,クラスからオブジェクトを生成できるようになる。 3. 基本クラスを継承した派生クラスを定義するプログラミングができるようになる。 卒業認定・学位授与の方針との関係(学部科目のみ)
リンク先の [評価項目と科目の対応一覧]から確認できます(学部対象)。
履修登録の際に参照ください。 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
実習の授業なので,ノートパソコンを持参して授業に参加すること。
「プログラミング基礎1及び演習」と「プログラミング基礎2及び演習」を履修済みであることが望ましい。 アクティブ・ラーニング科目 Teaching type(Active Learning)
小テストの実施 Quiz type test/実習 Practical learning
-
準備学習・復習 Preparation and review
準備学習は必要ないが、各週の課題を通して復習し理解を深めて,次の授業に備えること。
成績評価方法 Performance grading policy
毎週の課題と期末の到達度評価(対面試験)により評価する。内訳は次のとおり。
・「プロクラム提出」の課題:50% ・その他の課題:10% ・到達度評価:40% 学修成果の評価 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
授業計画 Class plan
1 C++ とは
CとC++の違いを理解する iostream クラスを使った入出力ができるようになる 2 ポインタと参照 プログラム上で定義した変数が,どのようにメモリ上に存在するのかを理解する 間接参照演算子*とアドレス演算子&の使い方を理解する ポインタ変数と参照変数を理解する 3 関数 関数のオーバーロードができるようになる 3種類の関数への引数の渡し方(値渡し,ポインタ渡し,参照渡し)を理解する 4 配列 配列とポインタの関係を理解する 配列の関数への引き渡し方を理解する 5 文字列 文字列は文字の配列であることを理解する 日常で使われる文字がブログラム上でどのように表現されているのかを理解する 6 構造体 構造体の定義をすることができるようになる 構造体のメンバにアクセスのし方を理解する 7 クラスとは クラスは何によって構成されるのかを理解する クラスからオブジェクトを生成させることができるようになる 8 クラスの定義 クラスの定義をすることができるようになる コンストラクタによるクラスのデータメンバの初期化を理解する 9 デストラクタ クラスにから生成されたオブジェクトの破棄時に呼び出されるデストラクタを理解する どのような場合にデストラクタが重要になるのかを理解する 10 クラスの継承1 基本クラスを継承した派生クラスを作ることができるようになる 11 クラスの継承2 派生クラスのコンストラクタを理解する 12 pythonのクラス python のクラスの作り方を理解する 13 python のGUIライブラリ (tkinter) tkinter の使い方を理解する 14 GUIアプリケーションの作成 tkinterライブラリ中で定義されているクラスを継承した派生クラスを自作することができるようになる 15 到達度評価と解説 担当教員の実務経験とそれを活かした教育内容 Work experience of the instructor
-
教育用ソフトウェア Educational software
-
C++コンパイラ(g++),python
備考 Remarks
教材はLETUS上で公開するので, 購入の必要は「ありません」。
授業での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
|