動機付けプロジェクト ( 前半第 2 回 ) 技術者に必要なコンピュータに 関する技能の習得 2 年生 A1ターム 10 月 02 日 ( 火 )13:00~18:35 システム創成学科 SDM 准教授 柴田和也 1
講義の目的 : 技術者として必要なコンピュータに関する技能は多岐に渡る 本プロジェクトでは シミュレーションに関する技術者として必要な技能の習得を行なう ( 実務よりの演習を多く行なう ) キーワード : プログラミング シミュレーション コンピュータグラフィックス 動画作成 データ解析 UNIX コマンド グラフ作成 エディタ ホームページ : 授業に関する情報を下記のホームページ上に掲載する http://mps.q.t.u-tokyo.ac.jp/~shibata.kazuya/douki/
前回の内容 1. プログラミング環境の準備 (UNIX 環境と C 言語のコンパイラのインストール ) 2. タッチタイピング ( 和製英語で言うとブラインドタッチ ) 3. ショートカット ( 仕事の効率をあげるテクニック ) 4. Word での数式の書き方 ( 論文や技術資料の作成に必要なテクニック ) 5. Excel の効果的な使用方法 ( 計算とグラフ作成 ショートカット ) 3
本日の内容 1. UNIX システムに関する技術の習得 ( ファイル操作 ディレクトリ操作 vim エディタの操作 等 ) 2. C 言語のプログラミングの基礎 必要な物 : ノートパソコン ( 無線 LAN 付き ) 4
UNIX とは アメリカの AT&T のベル研究所で開発されたコンピュータのオペレーティングシステム (OS) < 補足 > OSとは アプリケーションソフトウェアを動作させるための基本的なソフトウェア (Windows, Mac OS X, iosなど ) < 用途 > ワークステーション ( サーバー等 ) パーソナルコンピュータ 等 < 特徴 > (1) 安定している ( 計算機が異常停止することが少ない ) (2) 多くのコマンドとプログラミング環境を使用できる (3) データ量 ( ファイル容量 ファイル数 ) が多い場合や 5 自動処理を多く行なう場合には 便利なことが多い
UNIX の種類 1)UNIX( 標準化団体 The Open Groupによって認証されたUNIX) Mac OS X, Solaris( サン マイクロシステムズ ( オラクルに買収された ) のUNIX) HP-UX( ヒューレット パッカード社のUNIX), AIX(IBM の UNIX) 2) UNIXライク ( 系 ): Linux (Ubuntu, Fedora CentOS, Android, 等 ) FreeBSD 6
入手し易い UNIX 環境 ( 無料 ) Windowsの場合 : Cygwin ( 容量 22GB 程度, インストール時間 :3~5 時間程度 ) https://www.cygwin.com/ MinGW (Minimalist GNU for Windows,) ( 容量 0.41GB 程度, インストール時間 :10 分程度 ) http://www.mingw.org/ Mac OS Xの場合 : Terminal http://techacademy.jp/magazine/5155 OSを入れ替えても良い場合 : Linux (Ubuntu, Fedora CentOS 等 ) 7
vim エディタとは vim エディタは ほぼ全ての UNIX 環境で使用できる CUI のエディタ ( テキストファイルの編集ソフトウェア ) です ssh コマンドでサーバーにリモートログインした状態でも vim は使えます vim の他には emacs という使い易いエディタがあります コンピュータ技術者は vim と emacs の両方をよく使います 8
UNIX 環境を使ってみる Windowsの場合 : Cygwinの場合: Cygwinをクリック MinGWの場合: C: MinGW msys 1.0 msys.bat をダブルクリック ) Mac OS Xの場合 : Terminalを起動 http://techacademy.jp/magazine/5155 Linuxの場合 : Terminalを起動 9
コマンドを使ってみましょう < 参考 > コマンドは多くのホームページや書籍で紹介されている 例 : 日経 XTECH Linuxコマンド逆引き大全 Index http://itpro.nikkeibp.co.jp/article/column/20060224/230579/ http://www.21linux.com/archives/160text/ <コマンドの調べ方 > 検索サイトで unix コマンド Linux コマンド Cygwin コマンドなどのキーワードで調べる 10
コマンドの補足 現在のフォルダや 指定したファイルの開き方 MinGWを使っている場合 : start. 現在のフォルダを開くことができる (. は現在のフォルダを意味する. のかわりにファイル名を書くと そのファイルを開くことができる Cygwinを使っている場合 : cygstart.exe. 現在のフォルダを開くことができる Mac OS Xnターミナルを使っている人 open. Cygwinのcygstartと同じ操作を行なうことができる 11
ターミナルの補足 もし画面上に > > > などの文字が表示されてコマンドを正常に実行できなくなったときは Ctrl キーと c キーを同時に1 回押すと 通常のターミナルの状態に戻ることが多い Ctrl キーと c キーを同時押しは 強制終了コマンドでありほとんどのコマンドやアプリケーションを強制することができる 12
UNIX 環境は CUI が基本 GUI: Graphical User Interface 画像をマウスなどで選択してプログラムを実行する 操作が容易 ただし 多くの処理を高速に行うには不向き CUI: Character User Interface 文字でコマンド ( 命令 ) を入力する 玄人向け 高速な命令の実行が可能 多くの命令の自動実行も容易 13
ターミナルの補足 もし画面上に > > > などの文字が表示されてコマンドを正常に実行できなくなったときは Ctrl キーと c キーを同時に1 回押すと 通常のターミナルの状態に戻ることが多い Ctrl キーと c キーを同時押しは 強制終了コマンドでありほとんどのコマンドやアプリケーションを強制することができる 14
コメント : プログラミング言語の習得は 外国語や数学の学習に少し似ている 厳密に意味が分からなくても まずは使い方を覚えましょう 使っていくうちに意味が分かることが多いです もちろんインターネットや本で意味を調べることはとても良いです もし 調べたページが専門用語だらけで意味が分からなくてもストレスを感じないようにしましょう プログラミングの経験を積んでいくと自然と分かってくることが多いです 15
余談 : 将棋の名人に勝つほど強い人工知能のソフトウェアである AI ポナンザを開発したのは 皆さんの先輩 ( 東大工学部卒 ) の山本一成さんです 山本さんは学部 2 年生のときに留年してしまったため 暇な時間を使ってプログラミングの学習と将棋ソフトの開発を始めました それまではプログラミングやコンピュータの知識や経験はありませんでした むしろコンピュータは苦手で それを克服したいという理由で 勉強を始めたそうです 16
本日の残りの時間 1) 演習内容の説明 2) 演習 (~18:30) レポート提出 ( 補足 ) 演習問題を早く解けた人は 授業中にレポートを提出をして結構です 後は何か好きなためになること ( 勉強 プログラミング 調べ物 等 ) をしていてください ただし 静かに行なうこと 17
レポートの提出方法 電子メールで以下のメールアドレスに送信 メールアドレス : report.shibata@gmail.com メールの件名 : [ 動機付けプロジェクト ( 前半第 2 回 )] ( 学籍番号 )( 氏名 ) ( 補足 :( 学籍番号 )( 氏名 ) と氏名の欄は適切に変更してください ) 提出期限 : 2018 年 10 月 16 日 ( 火 )21:30 提出内容 : メールの本文は 無し ( 空メール ) でよい ただし レポートの電子ファイル ( 記入した ****.docx) を添付すること 18