![]() 教員名 : 中村 文一
|
科目授業名称(和文) Name of the subject/class (in Japanese)
コンピュータ科学基礎
科目授業名称(英文) Name of the subject/class (in English)
Fundamentals of Computer Science
授業コード Class code
9973406
科目番号 Course number
73ICPRO202
教員名
中村 文一
Instructor
開講年度学期
2023年度後期
Year/Semester
曜日時限
木曜2限
Class hours
開講学科・専攻 Department
創域理工学部 電気電子情報工学科
Department of Electrical Engineering, Faculty of Science and Technology 単位数 Course credit
2.0単位
授業の方法 Teaching method
講義
Lecture 外国語のみの科目(使用言語) Course in only foreign languages (languages)
-
授業の主な実施形態 Main class format
対面授業 / On-site class
概要 Description
【概要】
本科目では、プロジェクトマネージメント技術を学び、アジャイル開発モデルに基づいて、グループで1つのプログラムを作成する。また、高度なプログラムを書く能力を養うため、「プログラミング基礎」で学んだ内容を発展させた、オブジェクト指向プログラミングと計算機アルゴリズムを学ぶ。 目的 Objectives
【目的】
本科目の目的は、グループで1つのプログラムを完成させるための技術を身に着けることである。プロジェクトマネージメント技術、オブジェクト指向プログラミング技術、計算機アルゴリズムなど情報工学の専門知識を身に着けることにより目的の達成を図る。 本学科のディプロマポリシー「電気工学、電子工学、情報通信工学の学問分野に共通した基礎学力と、その上に立つ各分野の専門知識」に該当する科目である。 到達目標 Outcomes
【到達目標】
次のことができるようになることを目標とする。 ・チームで協働して1つのプログラムを開発できるようになる。 ・UMLを使ったチーム内の役割分担ができる。 ・開発スケジュール管理ができる。 ・C++言語におけるユーザ定義関数の作成とそれを使った簡単なプログラムを作成できる。 ・C++言語における基本データ型とクラス、ポインタを使った簡単なプログラムが作成できる。 ・オブジェクト指向プログラミングを理解し、C++言語を用いて実装することができる。 ・簡単な検索及びソートアルゴリズム、再帰的関数呼び出しを使ったプログラムが作成できる。 卒業認定・学位授与の方針との関係(学部科目のみ)
専門基礎能力
履修上の注意 Course notes prerequisites
基礎情報工学またはコンピュータリテラシーを履修済みのこと。
プログラミング基礎を履修済であることが望ましい。 アクティブ・ラーニング科目 Teaching type(Active Learning)
課題に対する作文 Essay/小テストの実施 Quiz type test/ディベート・ディスカッション Debate/Discussion/グループワーク Group work/プレゼンテーション Presentation/PBL (課題解決型学習) Problem-based learning
-
準備学習・復習 Preparation and review
(準備学習)
各回の授業前に2時間程度、授業計画欄に記載した各回ごとの指示を行う。 (復習) 2時間程度復習課題を行い、各回の内容に関する理解の定着を図ること。 成績評価方法 Performance grading policy
成績を総合評価し,評価点が60点以上を合格とする。
20%:開発成果に基づく最終論文.論文の書き方等は授業内で説明する. 15%:最終プレゼンテーション.プレゼンテーションの評価法は授業内で説明する. 65%:演習課題13回、各5% 学修成果の評価 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)
Y
書誌情報 Bibliographic information
-
MyKiTSのURL(教科書販売サイト) URL for MyKiTS(textbook sales site)
教科書および一部の参考書は、MyKiTS (教科書販売サイト) から検索・購入可能です。
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
プロジェクトマネージメント
・オブジェクト指向でなぜつくるのか第2版、平澤章、日経BP、2018、ISBN978-4-8222-8465-7 ・実践的ソフトウェア工学第2版、浅井治、近代科学社、2019、ISBN978-4-7649-0587-0 授業計画 Class plan
1.シラバスを用いたガイダンス【対面授業】
シラバスを用いて本講義の進め方に関するガイダンスにより本講義の内容を確認し、 外部講師による、プロジェクトマネージメントの基礎を学ぶ。 2.グループワーク1:ソフトウェアの業務分析【対面授業】 開発するソフトウェアによってグループ分けを行い、開発するソフトウェアに関してディスカッションを行う。 3.演習:オブジェクト指向プログラミング【対面授業】 Visual C++を用いたC++言語プログラミングの復習を行い、 C++言語におけるクラスを用いたオブジェクト指向プログラミングについて学習し、演習を通じて理解を深める。 (予習)「プログラミング基礎」で扱った項目の復習をしておくこと。 4.グループワーク2:ソフトウェアの要件定義【対面授業】 グループで作成するソフトウェアの目的・概要・目標性能をまとめた要件定義書を作成する。さらに、目標性能を実現しやすいプログラム言語と、プロジェクトで実現する最低限の機能をまとめる。 5.演習:コンストラクタの機能【対面授業】 C++言語におけるクラスの機能であるコンストラクタについて学習し、演習を通じて理解を深める。 6.グループワーク3:ソフトウェアの機能設計【対面授業】 開発するソフトウェアの具体的な内容についてディスカッションを行い、UML(Unified Modeling Language)のユースケース図、アクティビティ図、クラス図を作成する。 7.演習:新しいクラスと継承【対面授業】 オブジェクト指向プログラムにおける重要な機能である多態性と継承を、C++言語におけるオーバーロードとオーバーライドを用いて学習し、演習を通じて理解を深める。 8.グループワーク4:ソフトウェアの詳細設計【対面授業】 各グループで作成したUMLのアクティビティ図、クラス図から複数人が開発する相互作用を抽出する。また、UMLのシーケンス図、コミュニケーションズ、配置図を作成して各自の開発分担を行う。 9.演習:クラスに関する高度なトピック【対面授業】 演算子オーバーロードやクラステンプレートなど、クラスに関する高度なトピックを学習し、演習を通じて理解を深める。 10.グループワーク5:ソフトウェアのコーディング【対面授業】 各個人の分担に関するUMLを説明し、実際にプログラミング言語を使ってソフトウェアのコーディングを行う。 11.演習:アルゴリズムの基礎:探索と整列【対面授業】 アルゴリズムの概念について、探索プログラムを例に学習する。挿入ソートの実装を例に、交換による並べ替えアルゴリズムを理解する。例題演習を通じ、ポインタの取り扱いに習熟する。 12.グループワーク6:スケジュール・マネジメント【対面授業】 最小限の開発過程によって把握した各自の能力を考慮して、プロジェクト最終段階までのスケジュール・ベースラインを作成する。 13.演習:再帰アルゴリズム【対面授業】 階乗計算とクイックソートの実装を通じ、再帰的関数呼び出しの基礎を理解する。 14.グループワーク7:進捗報告と最終発表までの計画【対面授業】 スケジュール・ベースラインに沿った開発状況について進捗を報告し、最終発表までのスケジュールコントロールを行う。 15.最終プレゼンテーション【対面授業】 開発したソフトウェアに関する最終プレゼンテーションを実施する。 授業担当者の実務経験 Work experience of the instructor of the class
システムエンジニア(ネットワークスペシャリスト・データベーススペシャリスト)の実務経験を活かし、プロジェクトマネージメントに関する講義を行う。
教育用ソフトウェア Educational software
-
Visual Studio 2022
備考 Remarks
|