Dr. Jason's blog

IT, Engineering, Energy, Environment and Management

講義 プログラミング 2009-1, 2, 3 補足

2009-10-04 | Software
 
 最近は,大学生でも,教科書や参考書が上手に使いこなせない者が少なくない.
 
 「本」というのは古いメディアであるが,ある程度込み入った概念,知識,技術などを伝達,学習するための媒体としては,とても安く便利なものである.

 読書による学習についての筆者の考えは,過去の記事を参照されたい.
  2005-8-24 夏休み読書月刊 (1) 本は安い!
  2005-7-31 知識のフロー,ストック,そして,「本」は安い!


「プログラミング」を学ぶ上での参考書について補足する.

[基本を学ぶ]
 
 C言語の開発者による定本.
 入門向きではないので,講義では必須としていないが,卒業研究や仕事で,本格的にC言語でプログラミングする場合には,必読である.

プログラミング言語C 第2版 ANSI規格準拠
B.W. カーニハン,D.M. リッチー
共立出版

このアイテムの詳細を見る



 C言語の定本の筆者による,プログラミング作法についての基本書.
 C言語に限らず汎用的な手続き型のプログラミングにおける基本的な作法の指南書.機械系においては,制御,ロボット,シミュレーション,あるいは,その他IT関係の業界を目指すものは,学生時代から本書の内容を何度も反芻することを強く推奨する.

 
プログラミング作法
ブライアン カーニハン,ロブ パイク
アスキー

このアイテムの詳細を見る


 
[もっとC言語]

 中級者向けのC言語参考書.本講義で教科書として用いている「明解 C言語 入門編」と同じ筆者による.2冊目の参考書として推奨する.
 
新版 明解C言語 中級編 明解C言語シリーズ
柴田 望洋
ソフトバンククリエイティブ

このアイテムの詳細を見る



 Linux 上の C言語プログラミングについてまとめた良書.C言語の視点で,OSの仕組みを理解できるようになる.

ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
青木 峰郎
ソフトバンククリエイティブ

このアイテムの詳細を見る



ソフトウェアの入門者向けの月刊誌.
 2009.11号はの特集は「C言語超入門」と付録「Rubyまるごと学習ブック」で,お特な内容.本号は,この秋から,プログラミング,C言語を学ぶ学生には特に推奨できる.
日経ソフトウエア 2009年 11月号 [雑誌]

日経BP出版センター

このアイテムの詳細を見る



[コンピュータ科学とソフトウェア工学]

 米国の大学のコンピュータサイエンスの定番的教科書の翻訳.
「痛快!コンピュータ学」(坂村)のあとに,コンピュータ科学全般について学ぶ場合に特に推薦する一冊.
やさしいコンピュータ科学 (Ascii books)
アラン・W. ビアマン
ASCII

このアイテムの詳細を見る




 エンジニアの勉強としては,プログラミングの学習と並行して,ソフトウェア工学について学ぶことが重要であると考える.
 ソフトウェア工学の教科書,参考書は,非常に多いが,一冊で決定版というものはない.また,あまり大冊のものは初心者には向かないであろう.
 「ソフトウェア入門」(黒川)のあとに読むことを想定して,初心者にも読みこなせる比較的コンパクトな,ソフトウェア工学の参考書をいくつか紹介する.

 
ソフトウェア工学入門
河村 一樹
近代科学社

このアイテムの詳細を見る


ソフトウェア工学 (情報科学こんせぷつ)
中所 武司
朝倉書店

このアイテムの詳細を見る


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 2009-1, 2, 3

2009-10-04 | Software
 今年度も,後期は,某大学でプログラミングについて講じている.

[重要連絡事項]
 今年度は,都合で,講義は,土曜日に変更になった.昨年までは,1限,3限の2コマだったが,今年度は1限の1コマだけである.また,メディア情報センターの演習環境は,306室から,202室に変更になった.(Linux環境の不具合は10/2に解消されたので現在は,202室でLinuxが使える)

 演習環境の使い方と,Linuxの超入門のためのガイド(PDFファイル)を,以下に用意している.
 Dr. Jason Suzuki Class Room 「講義関係資料」

 「メディア情報センターICTルーム Linux超入門ガイド(2008年度版)」

 ※本資料中の教室名等は,「306」を「202」に読み替えること.


[これまでの概要]
プログラミング講義の1,2,3回目の概要を以下にまとめる.
また,参考として,2008年度の blog も参照すること.


第1回 概要

 連絡先等
 ねらい
 対象範囲
 受講者
 評価方法
 教科書、参考書
 講師略歴

 受講者:
  履修者の条件
  ・コンピュータリテラシ関連科目を受講済み
  ・コンピュータやインターネットに興味がある
  ・ソフトウェアを開発できるようになりたい
  ・メカトロ、制御系を専攻したい
  ・シミュレーション等を専攻したい

 参考書、課題図書、宿題、演習
  ・教科書、参考書を購入して読破する
  ・課題図書を購入して読破する
  ・演習、宿題を自分でやって,きっちり提出する
  ・プログラミング演習は各自が自力で、ICT ルーム等で行う
  ・自習は毎週、週に2-4時間程度必要になる

 ※プログラミングの修得は外国語の修得に似ている.直感的には,講義と自習で概ね300時間を投入すれば,単位取得の最低限のレベルに到達すると想定している.

 評価方法:
 出席: 
 ・重視します
 ・70%以上の出席が単位取得の最低限の目安です
 ・大人として適切な授業態度が望まれます

 宿題レポート:
 ・宿題(演習)を出します
  ※前回の演習の結果提出をもって前回講義の出席とします
 ・ソフトウェアに関連する課題図書の読書とその内容に関すエッセィを
  レポートとして課します

 期末試験:
 ・試験を行います 受験必須
 ・教科書、参考書、自分のノート、自分の演習結果、持ち込み可
 ※他人のノートのコピー等は不可
 ・記述式
 ・但し、試験の成績だけでは単位は取得できません

 評価の配分(予定):
 ・出席: 30%前後
 ・宿題(演習): 30%前後
 ・期末試験: 30-40%


第2回 概要

 出席票
 教科書 参考書
 情報の調べ方
 演習
 Linux OS
 ソフトウェア
 C言語
 課題

 出席票について:
 以下を記述して,出席票として提出すること.
  学籍番号,学年,氏名,日付
  簡単な自己紹介  
  普段使っているメールアドレス。
  出身地、出身校、興味のある技術分野、  
  趣味、好きな音楽、好きなアーティスト、その他。
  現在のバイト、サークル。  
  将来の希望、専攻分野、なりたいもの  
  IT関連分野へ就職希望の者 はその旨明記すること。相談にのります。
  本日の講義で印象にのこったこと。
 
 ※第2回の講義を欠席したが本科目を履修する者は,上記の内容を必ずメールすること.
 課題については,友人に聞くか,講義の際に質問するように.


 Linux OS:
 今日,専攻分野にかかわらず理工系の学生にとって,Linux の基礎知識は必須事項である.C言語のプログラミングは習いました,でも,Linux は知りませんでは,エンジニアとしては通用しない.
 本講義では,プログラミングの演習環境として,Windows ではなく,Linux を用いることによって Linux の基本をあわせて学ぶをとをねらいとしている.

 以下の参考文献にひととおり目を通し,重要と思われることは,ノートにメモすること.

 http://www.linux.or.jp/general/linux.html
 http://ja.wikipedia.org/wiki/Linux
 http://ja.wikipedia.org/wiki/GNU
 http://ja.wikipedia.org/wiki/リチャード・ストールマン

 さらに詳しい,歴史的な話については,以下を参照.
 GNUシステムとフリーソフトウェア運動
 Linuxの強味

 インターネット上のある程度くわしい入門ガイド
 Linux入門ガイド


第3回 概要

 ソフトウェアの設計
 C言語の特徴
 IDを表示するモジュール
 課題


 課題1
  IDを表示するモジュールの my_id() プログラムのソースコードと
  実行結果を印刷して,10/10 講義時に提出する.

 課題2
  教科書 29.p の list 2-8 のプログラムを,kadai_2-8.c
  として入力する.(コメントはローマ字/英文で良い)
  そのあと return (0); の前の行に,
   my_id();
  の呼び出しを追加して,保存する.
  コンパイル方法は,IDを表示するモジュールの場合を
  参考にする.
   gcc -c kadai_2-8.c
   gcc -c sp_02.c
   gcc -o kadai_2-8  kadai_2-8.o sp_02.o
  ソースコードと実行結果を印刷して 10/10 講義時に提出する.

 課題3
  この課題の目的は,各自が本書の内容を精読し内容を理解することである.
  レポートは,それを表現し伝達するために提出してもらうものである.

   「ソフトウェア入門」 黒川利明著 岩波新書 876

  この「ソフトウェア入門」を読んで,その概要と印象に残った
  こと等を800-1000文字程度レポート(A4横書き)にまとめ,10/31 講義
  開始時に提出すること.
  レポートのスタイルは以下のとおり.
   学籍番号 学年 学科 氏名 提出年月日
   レポートの題目
   まえがき
   本文
    本書の概要
    印象に残ったこと
    その他
   あとがき,まとめ

  レポートのコピーは手元に保存すること.
  期末試験の際に持参すること.





[教科書および参考書]

本講義で主に参照する教科書.
試験にも持参すること.
新版 明解C言語 入門編
柴田望洋
ソフトバンククリエイティブ

このアイテムの詳細を見る



講義の中のソフトウェア工学につい補足するサブの教科書.
ソフトウェア全般についての入門となる良書.
レポートの課題図書,試験にも持参すること.
ソフトウェア入門 (岩波新書)
黒川 利明
岩波書店

このアイテムの詳細を見る



コンピュータ科学全般についての入門となる良書.
レポートの課題図書,試験にも持参すること.
痛快!コンピュータ学 (集英社文庫)
坂村 健
集英社

このアイテムの詳細を見る



自宅のPCにLinuxをインストールして演習環境を作成する場合の参考書.
Linuxのソフトウェアが入ったDVD/CDつき.
超簡単Linux入門 (日経BPパソコンベストムック)
日経Linux編集
日経BP出版センター

このアイテムの詳細を見る


Linux インストールの際は,「開発環境」もインストールすること.
※Ubuntu を使用する場合,演習のCのプログラムをコンパイルして,以下のエラーが出る場合は,C言語の開発に必要なファイルが不足している.
  error: stdio.h: No such file or directory
この場合には,インターネットにつながっている状態で,以下のコマンドを実行して不足しているファイル群を追加インストールする必要がある.
  sudo apt-get install build-essential
途中で,続行するかどうかで,Y/n をきかれたら,Y を入力する.


理工系の学生向けの,Linuxの使い方の入門書.
Linuxで学ぶコンピュータ・リテラシー―KNOPPIXによるPC‐UNIX入門

朝倉書店

このアイテムの詳細を見る



その他の参考書については,別途,随時解説する.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 例題プログラム訂正

2008-12-22 | Software
 2008/12/15 の講義で提示した例題プログラムの中に,「移植性」の低い記述があったので訂正します.

 講義の例題プログラムは,MacOSX 10.5.5 上の gcc version 4.0.1 (i686)で動作確認していましたが,今回大学のICTルームのPCのLinuxでは同じ動作にならないという報告がありました.改めて当方の手元のLinux環境(gcc version 4.1.2 20070626 Red Hat 4.1.2-14)で確認したところ,元の例題プログラムの記述はで,MacOSXとLinuxの上で動作が異なり,移植性に問題があることがわかりましたので,以下のとおり修正します.

 janken.c main() の中,印刷サンプルの 63 line 目

修正前の記述:
int ch, con, you, count;

 修正後の記述:
  int con, you, count; char ch;


 以上.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 「出席不足を補う特別レポート」 補足

2008-12-07 | Software
 某大学の「プログラミング」の講義に関して.

 これまでの講義で「出席不足」が危惧される者は,1/15(木)の振替講義の修了までに,以下の特別レポートを提出すること.レポートの評価に応じて1-4回文の出席に代えて加点する.

課題図書は,以下の「ビジネスの基本を知っているSEは必ず成功する」である.本書は,IT業界でのシステムエンジニア(SE)の仕事について書かれているが,機械系のエンジニアを含む広い意味での技術者を目指す者には有用な内容である.


 「出席不足を補う特別レポート」
 以下の課題図書を購入し,精読して,その概要,本書でいう「要求」,「構想力」,「提案力」,印象に残ったこと等を,1500-2000文字程度レポート(A4横書き)にまとめ,2009/1/15(木) の振替講義修了時に提出すること.


 レポートのスタイルは以下のとおり.

  1行目 学籍番号 学年 学科 氏名 提出年月日
  2行目 空行 
  3行目 レポートの題目
  4行目 空行


  まえがきの文

  本文
   本書の概要
   「要求」
   「構想力」
   「提案力」
   印象に残ったこと
   その他

  あとがきの文


[注意]
 これまでの課題とは,分量も,書くべき内容も若干異なっているので,注意すること.
 レポートのコピーは手元に保存すること.
 今回および前回の課題図書は,期末試験の際に,教科書とともに,参考書として持参すること.
 レポート提出の有無にかからず,期末試験は必ず受験すること.


[課題図書3]
ビジネスの基本を知っているSEは必ず成功する (技評SE新書)

前田 卓雄

技術評論社

このアイテムの詳細を見る


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 講義への出席,課題図書レポート等 補足

2008-12-07 | Software
 某大学の「プログラミング」の講義に関して.


 最近,講義への出席者が減っている.
 大学を卒業してエンジニアとしての人生をめざす場合はもちろん,他のビジネス分野でも,ITの知識,特にプログラミングについて,多少でも知識があるのとないのでは大きな違いである.

 せっかく「プログラミング」講義を履修して,途中まで出席していたものは,途中で投げ出してしまわず,残りの講義にできるだけ多く出席し,毎回の課題となっている小さなプログラムの演習を着実に行うことを推奨したい.個々の課題は一問でも多く取り組めばそれだけ自分のスキルアップとなる.

 多少の出席不足は,「課題図書のレポート」や,これから提示する「出席不足の者のための特別レポート」の評価を加味するので,あきらめずに是非がんばってほしい.

 「プログラミング」の講義への出席をあきらめてしまった友人がみじかにいる者は,その友人に是非このblogを読むように勧めてほしい.


 また,これまで,2回だした「課題図書のレポート」について,提出者が昨年よりも非常に少ない.

 プログラミングを学ぶにあたって,プログラミング言語の文法や演習で学ぶだけでなく,その周辺技術の知識についても把握しておくことは非常に重要である,その意味で,以下の課題図書は,「ソフトウェア」と「コンピュータ学」について,第一人者による幅広い内容であり,参考書として有用なものである.

 まだ,レポートを未提出の者は,少なくとも,
  1) 課題図書を購入する
  2) 課題図書を精読する
  3) 2をふまえて,課題レポートを作成する
 ことを,強く推奨する.

 レポートの提出は,1/15(木)振替講義日の講義時まで,それ以前の講義でも受け付ける.
# 振替講義は,1/15 だけ行い,1/16 は行わない.
 

 どこかの書評,要約,だれかの感想文をほぼそのまま「パクって」レポートの提出だけですませようとしている者がみうけられるが,この課題の目的は1), 2) にあるので,それでは,本末転倒である.
 期末試験では,課題図書の内容に関連のある設問を設ける予定であるので,自分で内容を読んでなければマズい.

期末試験当日[1/26(月)]は,
 自分の教科書,自分のノート,自分の演習結果だけでなく,自分の課題図書も持参すること.

「出席不足の者のための特別レポート」については,別途提示する.


[課題図書1]
ソフトウェア入門 (岩波新書)

黒川 利明

岩波書店

このアイテムの詳細を見る


[レポート1の内容についてのblog]



[課題図書2]
痛快!コンピュータ学 (集英社文庫)

坂村 健

集英社

このアイテムの詳細を見る


[レポート2の内容についてのblog]
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 課題図書レポート

2008-11-04 | Software
 某大学の「プログラミング」の課題図書レポートについて.

 11月は11/3, 11/24 と,講義のある月曜日のお休みが多い.
 例年,それを補うために,課題図書を指定し,レポートを課している.

 本来,「プログラミング」を学ぶ場合には,並行して,コンピュータそのものについても学ぶことがのぞましい.
 以下の「痛快!コンピュータ学」は,コンピュータ全般についての入門書としては非常に手頃な内容であり,また,本そのものも入手しやすいので,今年も課題図書に指定するこにする.

[課題図書]
痛快!コンピュータ学 (集英社文庫)

坂村 健

集英社

このアイテムの詳細を見る




 上記の「痛快!コンピュータ学」を購入し,通読して,その概要と印象に残ったこと等を800-1000文字程度レポート(A4横書き)にまとめ,12/1 講義修了時に提出すること.

 レポートのスタイルは以下のとおり.

  1行目 学籍番号 学年 学科 氏名 提出年月日
  2行目 空行 
  3行目 レポートの題目
  4行目 空行

  まえがきの文

  本文
   本書の概要
   印象に残ったこと
   その他

  あとがき,まとめの文


[注意]
 レポートのコピーは手元に保存すること.
 今回および前回の課題図書は,期末試験の際に,教科書とともに,参考書として持参すること.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 2008 補足 (Linuxの操作)

2008-11-02 | Software
 ICTルームのPCのLinux環境について,十分に理解できていない者がいるようなので,補足する.


 まず,配布資料
  「メディア情報センター ICTルーム Linux超入門ガイド」
 を,熟読すること.資料の入手等については,
 「講義 プログラミング 2008-1」の blogの記事を参照.

 この中で,Linuxの全体的なガイドや,GUI(X Window, fvwm)についての参考資料(URL明記)を示しているが,これらについても,必ず目をとおしておくこと.



 追加の資料としては,以下の2つも参考になるはずだ.

 京都産業大学 「コンピュータ・リテラシ」 資料

 GUIとCUIの違いと意義
 コピー・ペースト.特に,「ショートカット」の部分の解説.
 
 「Linux の知恵袋 >>& あなたのウラ技集」
  コピーアンドペーストをするには ?


 # 2008/11/2 追加資料2「Linuxの知恵袋」追加
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 補足 参考書

2008-10-26 | Software
 これまでの講義の中で,どうも,講義と教科書だけでは,C言語について,いま一つわからないことが多いと思う場合には,以下の雑誌を,参考書としてオススメする.

 「日経ソフトウェア」は,プログラミング全般についての,入門者,中級者向きの雑誌である.
 2008年11月号は,「プログラマ必須C言語の基礎」というC言語の特集である.別冊の特別付録の「Javaまるごと学習ブック」も良くまとまっていて,プログラミングの初学者には,とてもお買い得な号である.

 C言語をあしがかりとして,大学卒業までに,Javaについても多少なりとも勉強しておけば,専門分野の如何にかからわず,就職先の選択肢は非常に広いものになる.

日経ソフトウエア 2008年 11月号 [雑誌]

日経BP出版センター

このアイテムの詳細を見る

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 2008-3, 4

2008-10-26 | Software
 某大学での,プログラミング講義の3回目,4回目の概要は以下のとおり.


 3回目講義 目次

  C言語の特徴
  関数,関数とファイル
  変数と定数
  簡単な読み込みと表示
  演算,型
  IDを表示するモジュール
  課題

 「関数とファイル」と,「IDを表示するモジュール」以外は,概ね教科書の第1章および第2章の内容である.欠席したもの,遅刻したものは,第1章および第2章をよくよみながら,教科書の演習問題をいつくか実際にやってみることを強く推奨する.

 「関数,関数とファイル」の内容の一部は,教科書の第6章の内容を含んでいるが,関数毎にファイルを分けるしかけについては,教科書では言及していない.
 「関数とファイル」と,「IDを表示するモジュール」については,出席してノートをきっちり取っている友人から,ノートをみせてもらう等が必要だろう.

 # 試験では,自分の教科書,ノートは持ち込み可だが,他人の教科書やノートのコピーは不可であることを考慮すること.
 まだ,教科書および課題図書を購入していないものは,早急に入手する必要がある.



 4回目講義 目次

  ソフトウェアの設計
  If 文
  Switch 文
  課題

 「ソフトウェアの設計」では,ソフトウェアの設計と建築,機械,電気/電子
 などの他の工学分野の設計との比較について,特徴,問題点などを説明した.
 # この部分は,教科書,参考書にはないものである.

 If文,Switch文は,教科書の第3章にそったものである.4回目の講義を欠席したもの,遅刻したものは,第3章の演習をひととおりやっておく必要があろう.




 4回目の講義のあとで,「課題図書が入手できなかった.どうすれば良いか」といってきた学生がいた.
 どこで買おうとしたかを問うと,「地元の書店」という.
 これまでの講義やblogで何度か説明したとおり,よほどのベストセラーでないかぎり,大学の勉強で使う教科書や参考書等を,けっして「地元の書店」で購入しようとしててはならない.(地元の書店で注文すると時間がかかりすぎる)
 教科書や参考書の入手の遅れは,時間すなわち「学習機会」という大学生にとってもっとも貴重なものが失われる.


 教科書や参考書等は,大学の教科書販売コーナーで入手できなかった場合には以下のような大型書店で入手する必要がある.

 1) http://www.amazon.co.jp
 アマゾン
  インターネット上の書店.すでに,売り上げ高では紀伊国屋をしのぎ,日本
  最大の書店といえる.在庫のある本は,わずかの追加料金を支払えば翌日到着
  する.(電車代と買いにいく手間を考えれば,確実に安い)
  アマゾンへは,以下の教科書,参考書のリンクからたどっていくことができる.

 2) http://www.kinokuniya.co.jp/
   http://bookweb.kinokuniya.co.jp/
 紀伊国屋書店
  実際の店舗を持つ書店グループとしては,日本最大の会社.
  新宿駅東口に本店,新宿駅南口に南口店の大型店舗がある.
  amazon.co.jp は「売れ線」でないものは,あまり在庫していないが,
  紀伊国屋はで少し古い本でも,マイナーな本でも豊富に在庫している.
  また,Webサイト(bookweb) で,どの実際の店舗で在庫があるかも調べ
  られて非常に便利である.

 3) http://www.junkudo.co.jp/
 ジュンク堂
  関西資本の大型書店だが,新宿,池袋の店舗の店頭在庫量が多い.
  理工学や社会科学で「参考書を探す」という目的には,新宿の店舗が
  適している.

 4) http://www.yaesu-book.co.jp/
 八重洲ブックセンター
  東京駅,八重洲口前の大型書店.
  ビジネス,理工学書に強い.鹿島建設の関連会社なので,建築関係は
  特殊な本も店頭に展示,在庫されている.

 5) http://www.shosen.co.jp/
 書泉
  神保町が本拠地の独立系の書店.
  理工学書に強い,特に,秋葉原の「書泉ブックタワー」は,コンピュータ
  関連書籍は網羅的に店頭在庫している.

 6) http://www.yurindo.co.jp/
 有隣堂
  神奈川県の地元書店としては,最大のチェーン.
  通常の理工学書や,一般的な書籍であれば,伊勢佐木町の本店(最寄り駅関内)
  で殆ど入手可能であろう.
  本店以外では,川崎Be,横浜ルミネ,藤沢などの店舗も比較的大きい.


 通常の理工系書籍において,アマゾンで,在庫していない場合には,新宿に出向いて,ジュンク堂の新宿店と,紀伊国屋の本店の両方をチェックするのが簡単である.
 この両方の書店で,探している本の在庫がない場合には,その本は「版元品切れ」で,現在市場に出回っていない可能性が高い.その場合には,版元のWebサイト等で確認する必要がある.

 普段の演習の宿題に比べると,課題図書のレポートは配点が高い.
 出席,普段の宿題の提出が悪い,あるいは,期末試験の出来に自身がないものは,これからでも,課題図書を購入して,早急にレポートを提出しなければ,あとで後悔することになるだろう.


[教科書]
新版 明解C言語 入門編

柴田望洋

ソフトバンククリエイティブ

このアイテムの詳細を見る




[課題図書]
ソフトウェア入門 (岩波新書)

黒川 利明

岩波書店

このアイテムの詳細を見る

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 2008-3 課題

2008-10-05 | Software
課題(読書レポート)について

 以下の「ソフトウェア入門」を読んで,その概要と印象に残ったこと等を800-1000文字程度レポート(A4横書き)にまとめ,10/20 講義開始時に提出すること.

 レポートのスタイルは以下のとおり.

  1行目 学籍番号 学年 学科 氏名 提出年月日
  2行目 空行 
  3行目 レポートの題目
  4行目 空行

  まえがきの文

  本文
   本書の概要
   印象に残ったこと
   その他

  あとがき,まとめの文


 レポートのコピーは手元に保存すること.


[課題図書の入手と選択について]
参考書については,以下のリンク経由でAmazon.co.jpから購入できる.
もし,Amazon.co.jpの新刊の在庫やマーケットプレイスに古書がなどがない場合は,
紀伊国屋書店のWebサイト,あるいは,他の大型書店でも比較的容易に入手できる.


ソフトウェア入門 (岩波新書)

黒川 利明

岩波書店

このアイテムの詳細を見る




上記の他に,講義中に示すプログラミングの課題もある.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フォーラムのお知らせ フリーソフトウエアと脆弱性情報流通

2008-10-05 | Software
開 催 案 内

SEA & FSIJ 合同フォーラム
~フリーソフトウエアと脆弱性情報流通~

主催
ソフトウェア技術者協会(SEA)
フリーソフトウェアイニシアティブ(FSIJ)


***************** 開 催 要 領 *****************

1. 日時: 2008年10月22日(水曜日) 18:30 ~ 20:30

2. 場所: 産総研秋葉原サイト 11F 会議室
千代田区外神田1-18-13 秋葉原ダイビル 11F
1101 室 産業技術総合研究所秋葉原サイト会議室

交通: JR秋葉原駅より徒歩1分

3. 内容

・テーマ: フリーソフトウエアと脆弱性情報流通

話者: すずきひろのぶ

今日フリーソフトウェア・オープンソースが広く社会基盤ソフトウェア
として利用されていますが、安全なソフトウェア環境をどのように提供
しているのか、その裏側の努力はあまり知られてはおりません。今回は
フリーソフトウェア・オープンソースがどのようなプロセスを経て開発
されているか、脆弱性情報流通、脆弱性対策やセキュリティ・アップ
デートがどのように行われているのかフリーソフトウェアに馴染みの
ない方にも理解していただけるよう丁寧に説明いたします。
またケーススタディとしてGCCやRUBYで起きた脆弱性についての議論を
考えます。

4. 参加費: なし

5. 定 員: 30 名 (先着順に申込みを受付け、定員になり次第、締切)

6. 申込み方法:下の申込用紙に必要事項をご記入の上、
SEA SIGOSS 事務局 <sea-sigoss-office2007@media.osaka-cu.ac.jp>まで
E-Mailでお申込みください。
申込受付後のキャンセルは、原則としてお断りします。

尚、満員でお断りするなどの事情がない限り、こちらから参加申込の確認
等のご連絡を差し上げることはありません。

7. 今後のスケジュール

SEA & FSIJ 合同フォーラムは毎月開催しております。今後のスケジュール
は以下の通りです。

予定日時: 11月19日(水)、12月17日(水)

SEA & FSIJ 合同フォーラムでご講演をしていただける方を随時募集しており
ます。 応募ご希望の方は getsureikai-2006@fsij.org までご連絡下さい。
なお諸事情でご希望に沿えない場合もありますのであらかじめ御容赦下さい。

......................................................................
To: SEA SIGOSS 事務局 <sea-sigoss-office2007@media.osaka-cu.ac.jp>
Subject: [参加申込]SEA & FSIJ Forum
--------------------
SEA & FSIJ 合同 Forum (Oct. 2008) 参加申込書

※氏名(ふりがな): ( )
所属:
連絡先郵便番号:
連絡先住所:
※Tel:
Fax:
※E-Mail:
※種別(該当欄を黒四角(■)に変更してください):
 □ FSIJ会員(正/賛助) (会員No. )
 □ SEA会員(正/賛助) (会員No. )
 □ OSSAJ会員(正/賛助) (会員No. )
 □ JLA会員
 □ 一般
先頭に"※"がある項目は必須項目です。他はオプショナル項目です。
......................................................................
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 2008-1

2008-10-04 | Software
 某大学での,プログラミング講義の2回目.
 一回目は,講義の概要や進め方のスタイルを説明する「ガイダンス」だったので,内容的な話は,この2回目からである.


 講義の目次は以下のとおり.

  情報の調べ方
  教科書 参考書
  演習
  Linux OS
  ソフトウェア
  C言語
  課題


[教科書,参考書]
 教科書は,入門書として定評のある以下を採択した.
 
新版 明解C言語 入門編

柴田望洋

ソフトバンククリエイティブ

このアイテムの詳細を見る



 その他の参考書については,既に,2008-9-14 講義 プログラミング 2008-1 (後期)に示したとおりである.


 より,上級の教科書としては,C言語の開発者による,「リファレンス・ブック」がある.
 
プログラミング言語C ANSI規格準拠

B.W. カーニハン,D.M. リッチー

共立出版

このアイテムの詳細を見る



 また,「明解C言語 入門編」でも,まだ難しいという学生向けの,さらに優しい参考書としては,以下のものがある.
 プログラミング全般の入門書として書かれているが,サンプルの多くはC言語である.
 
やさしいプログラミング (やさしいシリーズ)

高橋 麻奈

ソフトバンククリエイティブ

このアイテムの詳細を見る




[演習環境としてのLinux,コンパイラ,エディタ]
 エンジニアとして,コンピュータを扱う者は,「Windowsしか知りません」では通用しないので,この講義の演習は,Linux OS の上で行うこととする.
 演習環境の使い方と,Linuxの超入門のためのガイドを,準備した.
 以降,講義関係のファイルの配布等は,以下の Webページから行う.
  Dr. Jason Suzuki Class Room 「講義関係資料」

 現在は,以下の PDF ファイルだけをおいている.
  「メディア情報センターICTルーム Linux超入門ガイド(2008年度版)」

 本講義の受講者は,このガイドを熟読し,用語や概念などの不明点があれば,さらに自分で調べて読み進んで,演習を進める必要がある.
 もちろん,調べても,どうしてもわからないことがあれば,講義のあと等に質問してかまわない.
 また,大学のメディア情報センターの環境については,センターの窓口で確認すると良いだろう.

 Linuxの概要や歴史的背景については,以下が参考になる.
  http://www.linux.or.jp/general/linux.html
  http://ja.wikipedia.org/wiki/Linux
  http://ja.wikipedia.org/wiki/GNU
  http://ja.wikipedia.org/wiki/リチャード・ストールマン
 さらに,以下にも目を通すと良いだろう.
 GNUシステムとフリーソフトウェア運動
  http://www.law.co.jp/okamura/OpenSource_Web_Version/chapter05/chapter05.html
 Linuxの強味
  http://www.law.co.jp/okamura/OpenSource_Web_Version/chapter08/chapter08.html

 Linuxのインターネット上の詳しいマニュアルとしては以下のものがある
  http://f56.aaa.livedoor.jp/~kuri/Linux/manual/Doc9/rhl-gsg-ja-9/

 さらに,9/14 の blog で紹介したLinux関連の文献も参考になる.


 演習で用いる,C言語コンパイラ gcc ガイド,マニュアル等には以下のものがある.
 http://www.cis.twcu.ac.jp/~asakawa/chiba2002/gcc_usage/
 http://www.linux.or.jp/JM/html/GNU_gcc/man1/gcc.1.html


 大学のLinux環境の標準のコマンドインタプリタ tcsh のガイド,マニュアル等については,以下のものがある.
 http://cse.naro.affrc.go.jp/yellow/docs/unix-ent/tcsh.html
 http://www.linux.or.jp/JM/html/tcsh/man1/tcsh.1.html


 演習で用いる,推奨エディタの gedit のガイドには,以下のものがある.
 http://www.iimc.kyoto-u.ac.jp/services/ecs/services/terminal/linux-manual/useGedit.pdf
 http://www-lab.imr.tohoku.ac.jp/~ccms/Jpn/service/mint/gedit/gedit.htm
 

[課題]

 講義で示した演習プログラム sp_01-2.c を,Linux上で,入力編集する.

 プログラム中の学科,学生番号,氏名の部分は各自自分のものに変更すること.

 プログラムのソースコードおよび,実行結果を,印刷し,実行結果,ソースコードの順でかさねホチキスで左上をとめ,次回の講義開始時に,提出すること.


[参考]

 コンパイルの手順 (以下,tcsh% は,プロンプトの例)
  tcsh% gcc -o ep_01-2 sp_01-2.c
 実行
  tcsh% ./ep_01-2
 実行結果のファイルへの保存
  tcsh% ./ep_01-2 > out_01-2
 印刷
  tcsh% cat sp_01-2.c | lpr
  tcsh% cat out_01-2 | lpr

  
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義 プログラミング 2008-1 (後期)

2008-09-14 | Software
 某大学の機械系学科で,非常勤講師を担当している,「プログラミング」の講義が,9月下旬から始まる.この科目は,「コンピュータリテラシー」系の科目の次に位置するものであり,メカトロ,制御系の卒業研究を希望する者には事実上必須の科目である.

 昨年度までは,Linux環境上での「FORTRAN」のプログラミングの入門を中心に講義していたが,本年7月に学科の専任の先生方と協議した結果,今年度から「C言語」を中心に講義を進めることになった.
 「C言語」は,新しい言語ではないが,OS,ネットワークプロトコル,Web技術,データベース,制御系システムなど,様々な分野で用いられており,専攻分野に関わらず,有用なソフトウェア技術の基礎をなすものであり,また,「FORTRAN」よりは実社会での応用範囲も広いといえる.
 シラバスは4月以前に更新したものなので,結果的に「シラバス」とは,一部異なったかたちになってしまっているので,私の講義の受講を予定しているものは,十分に注意されたい.


 この講義では,単に「C言語そのものの入門」だけでなく,「ソフトウェア工学」,「Linux OS」,「プログラミング」等の入門的な内容にも言及しながら,今後のソフトウェアとプログラミングに関連した技術の学習や研究の足がかりとなるものを目指していく.

 私が担当する科目の試験は,「教科書,参考書,自分のノート,持ち込み可」で行う.逆に,教科書,参考書のコピー,人のノートのコピーの持ち込みは不可である.そのため,教科書だけでなく「レポートや試験のために必要」と指示された参考書の購入は必須である.
 また,この「プログラミング」のクラスでは,出席に代えて,レポートやプログラミングの演習課題の提出が必要となる.講義の出席以外に,毎週 2-4時間の自習が必要となろう.

 

 結果的に,今年度の私が担当する「プログラミング」では,教科書を以下のものに変更した.
 

「教科書」
新版 明解C言語 入門編

柴田望洋

ソフトバンククリエイティブ

このアイテムの詳細を見る





 また,参考書としては,現時点で,以下のものを挙げる.

「レポート提出や試験のため必要な参考書」

ソフトウェア入門 (岩波新書)

黒川 利明

岩波書店

このアイテムの詳細を見る




痛快!コンピュータ学 (集英社文庫)

坂村 健

集英社

このアイテムの詳細を見る




「その他の参考書」
FORTRANの基礎を学ぶための参考書
FORTRAN77とFortran90

竹内 則雄,平野 広和

森北出版

このアイテムの詳細を見る




Linuxについての自習のための参考書
楽しくはじめるLinux

(日経BPパソコンベストムック)

日経BP社

このアイテムの詳細を見る



Linuxで学ぶコンピュータ・リテラシー―KNOPPIXによるPC-UNIX入門

九州工業大学情報科学センター

朝倉書店

このアイテムの詳細を見る




 上記以外にも,講義の中で,適宜参考書を示す.

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

職業的ソフトウェア開発 プログラミング,心理学,認知科学 夏の読書月刊3

2008-07-05 | Software
 職業的ソフトウェア開発に関する参考書の続き.
 ソフトウェアは,ソフトウェア技術だけでは,設計,デザインできないことを学ぶための,おすすめの本.


[プログラミングの壺〈1〉ソフトウェア設計編]
筆者は,ミシガン大の実験物理のPh.D.で,元AT&T Bell研究所の出身のソフトウェアエンジニア,業界でも著名なコンサルタント.
米国のコンピュータ雑誌「Programming Langege」に連載されていた「Programming on Purpose」というコラムをベースにしてまとめられたエッセイ集.

プログラミングの壺〈1〉ソフトウェア設計編

P.J. プローガ

共立出版

このアイテムの詳細を見る




[ログラミングの心理学]
筆者は,ソフトウェア関係の多くの著作で非常に著名な,コンサルタント.
ソフトウェア開発の人間および心理学的な側面についてまとめた定本.

プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版

ジェラルド・M. ワインバーグ

毎日コミュニケーションズ

このアイテムの詳細を見る




[ソフトウェアの達人たち]
編者は,人工知能や自然言語処理で知られるスタンフォード大学の教授.1992年の「People, Computer, Design Project」のワークショップの参加者による,ソフトウェア・デザイン,インタラクション・デザインについての,オムニバス的なエッセイ集.
ソフトウェアの達人たち―認知科学からのアプローチ


テリー ウィノグラード,Terry Winograd,瀧口 範子

ピアソンエデュケーション

このアイテムの詳細を見る


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

職業的ソフトウェア開発 工学,設計,プログラミング 夏の読書月刊2

2008-07-04 | Software
 職業的なソフトウェア開発についての参考書のつづき.


工学,設計,プログラミング:

[ソフトウェア工学―理論と実践]
ソフトウェア開発の設計から保守,運用まで,ソフトウェア工学全般について,網羅的にまとめられている一冊.658ページの大冊.

ソフトウェア工学―理論と実践

シャリ・ローレンス プリーガー

ピアソンエデュケーション

このアイテムの詳細を見る





[UML モデリングのエッセンス]
ソフトウェアの設計表記のための UML (Unified Modeling Language) の定本.
2005-07-14の記事で紹介

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)

マーチン・ファウラー

翔泳社

このアイテムの詳細を見る





[プログラミング作法]
元AT&Tベル研究所の筆者による,職業プログラマ必携の一冊.

プログラミング作法
ブライアン カーニハン,ロブ パイク
アスキー

このアイテムの詳細を見る




[ビューティフルコード]
世界的な,一流のプログラマ達による「美しいコード」についてのエッセイ集.

ビューティフルコード
Brian Kernighan,Jon Bentley,まつもとゆきひろ
オライリージャパン

このアイテムの詳細を見る


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする