プログラム設計 -質の良いプログラムは質の良いアリゴリズムから-
単位数 | ナンバリングコード |
---|---|
2 | DIF303 |
|
|
教員名 | 穴田 有一 |
---|---|
専門 | ソフトマター物理学(高分子固体物理学) |
出身校等 | 北海道大学工学部応用物理学科卒業,北海道大学大学院工学研究科応用物理学専攻修士課程修了,北海道大学大学院工学研究科応用物理学専攻博士後期課程単位取得退学,工学博士 |
現職 | 北海道情報大学教授 |
授業形態 |
---|
前期印刷授業・後期印刷授業 |
授業範囲 |
---|
教科書「はじめて学ぶプログラム設計」の1章から5章まで |
試験範囲 |
---|
授業範囲と同じ
(持ち込み許可物)一切自由 (試験に関する注意事項)科目試験は、インターネット試験で実施します。 |
科目の概要 |
---|
プログラミングの本質的な部分は、アルゴリズムという処理の手順(あれをして、つぎにこれをして、……)を考える点にあります。フローチャートは、アルゴリズム表現としての基本的な道具ですが、構造化プログラミングの考えを生かす道具としては、これだけでは十分ではないので、疑似言語についても学びます。
できるだけ、数値計算的なもの、事務計算的なものなどに片寄らない、身近な問題を中心に、アルゴリズム作りの訓練を進めていくことができるように教科書が編纂されています。 |
授業における学修の到達目標 |
---|
質の良いアルゴリズムをいかにして作り、いかにして表現するか、これが本科目の目標です。 |
講義の方針・計画 |
---|
アルゴリズム作りの感覚を身に付けることが大切であり、できるだけ演習を交えて、易しいものから難しいものへと一歩一歩進めていきます。教科書の例題、問題に取組むことが特に必要です。
第1回:(教科書第1章)ソフトウェア開発におけるプログラム設計 第2回:(教科書第1章)アルゴリズムとは 第3回:(教科書第1章)練習問題1 第4回:(教科書第2章)フローチャートの役割 第5回:(教科書第2章)アルゴリズムをフローチャートで表す 第6回:(教科書第2章)練習問題2 第7回:(教科書第3章)プログラムはどうあるべきか 第8回:(教科書第3章)ダイクストラと構造化プログラミング 第9回:(教科書第3章)練習問題3 第10回:(教科書第4章)疑似言語とは 第11回:(教科書第4章)アルゴリズムを疑似言語で表現する 第12回:(教科書第4章)練習問題4 第13回:(教科書第5章)配列 第14回:(教科書第5章)練習問題5 第15回: まとめ |
準備学習 |
---|
印刷授業は、教科書や学習用プリントなどを基に自学自習で学習を進めますが、授業範囲の内容の他に、教科書の内容全体を2単位で90時間かけて学習することを目安としています。
わからない用語や内容は、参考文献等で検索することが準備学習として必要になります。 |
課題(試験やレポート等)に対するフィードバック方法 |
---|
印刷授業は、提出されたレポートについて講評を付与して返却します。 |
成績評価の方法およびその基準 |
---|
試験:100% |
教科書 |
---|
書 名:はじめて学ぶプログラム設計(初版)
著者名:林雄二 発行所:森北出版 ISBN:9784627845817 |
参考書 |
---|
書 名:日本語PADによるアルゴリズム演習
著者名:河村一樹、斐品正照 発行所:日刊工業新聞社 |
その他 |
---|
知識ではない。アルゴリズムを創造する力を、一歩一歩身につけていこうという科目である。試験直前の一夜漬では、どうにもなりません。 |
試験期間 |
---|
シラバス検索画面トップページ(https://syllabus-tsushin.do-johodai.ac.jp/)下部の「2022科目試験時間割」を参照 |
学習プリント |
---|
あり |
教職科目 |
---|
関連受講科目 |
---|
プログラムを初めて学ぶ学生は、「プログラミング基礎」、「プログラム言語I」などを履修し、プログラミングの基礎を学んでおくことが必要です。 |
担当教員の実務経験 |
---|
1981年から1982年にかけて、石油化学企業に勤務し、4ヶ月間の工場実習を経て研究所に配属され、プロジェクトチームのメンバーとして合成樹脂材料の研究開発に従事しました。2つの開発テーマを与えられましたが、その内の一つ、自動車部品メーカーに販売することを目的としたゴム状の合成樹脂材料の開発では、ガラス面での低摩擦力を実現するために、物理学研究の基本的方法論にもとづく独自の分析方法を考案し、様々な摩擦係数をもつ材料を容易に成形するための材料組成をつきとめました。この研究については、プロジェクトリーダーの主任研究員および部門主管からも高評価を得て、プロジェクトの進行に寄与しました。
この実務経験から学んだことは、学問の基礎を修得することが実務上でも有益であること、そして、研究開発を進めるためには、プロジェクトチームの一員として協調しながらも、独自の考えを持つことが重要であり、口先だけで無く、その考えに基づく実績を作ることで、チームと協調しながらプロジェクトの前進に寄与することができるということです。 本学の担当科目では、この経験に基づいて、基礎知識と学問の方法論を学習することの重要性を伝えるとともに、その基礎に裏付けられた自分の考えもち、他者とコミュニケーションを十分にとりながら協調することの重要性を伝えています。 |