計算の科学A Introduction to Computer Science

基礎プログラミング
Introduction to Computer
Programming
知識科学研究科 助教 三浦元喜
Motoki MIURA
email: miuramo @ jaist.ac.jp
Office: K51-a (國藤研究室)
(講義情報)
http://css.jaist.ac.jp/~miuramo/lecture/kisoPro/
1
本日(1回目)の予定
講師自己紹介
この講義の概要,日程,採点方法など
この講義で学生に期待するもの
今日の作業説明
電算室(PCルーム)に移動
(新入生への調査協力依頼)
2
自己紹介(みうらもとき)
1974年4月愛知県岡崎市生まれ(32歳)
別の大学で大学院卒業後,3年ほど助手
3年前(2004年4月)よりJAIST助手
4月から助手→助教(じょきょう)
プログラミング暦:20年くらい

BASIC,Pascal,C,C++,Tcl/Tk,Perl,Ruby,Java,C#,
PHP
Windows使用暦:10年くらい

Windows95,98,Me,2000,XP
3
現在の研究テーマ
創造性,学習といった,人間の高度な知的
能力を高める/支援するシステム





Webやネットワーク技術,グループウェア,(モ
バイル)インタフェースと,それらの教育応用
一般教室におけるデジタルペン授業システム
AirTransNote
スタイラス入力RodDirect
画面転送をドラッグ&ドロップで指示する
ComDesk
詳しくは http://css.jaist.ac.jp/~miuramo/
4
この授業のねらい
特に文系出身の学生さんに,プログラミングの基
礎となる考え方や,知識,技術を身につけてもら
いたい

プログラミングできる人(経験者)は対象外
与えられたソフト(ワープロやプレゼン)を「ただ使
う人」から「自分の仕事を楽に,便利にするため
に活用できる人」に近づいてほしい

研究データを自由に処理したり,データを集めるため
の自動アンケートシステムを構築したりできる能力の
第一歩
5
プログラミングができる人の強み
プログラミングができる人=きっちり仕事ができ
る人 になってほしい



プログラミングとは,計算機に仕事の手順を伝えて,
代わりにやってもらうこと
(1)他の人に仕事をお願い(指示)するときに,上手に
作業を分担したり,手順を伝えることが出来る
(2)計算機に仕事をさせることができる
=自分の時間に余裕がつくれる,自分を高めるため
の勉強時間にまわせる
仕事をしっかりこなし,責任を持つことができる人
になれる
6
本講義の目標
プログラミングの概念と基礎技術の習得



計算手順,アルゴリズムを考える力 を養い
プログラムにおける考え方 を理解し
アルゴリズムをプログラムとして記述する方法
を習得する
本講義では,C#(シーシャープ)を使用
 Java, Perl, C, C++, C#, Basic 等にも共通の基本
的内容を扱うので,将来別のプログラミング言語を
使用するときにも絶対に役立つ
7
本講義の対象者
計算機プログラム初心者
受講に必要な前提知識・技術

コンピュータの超基本的操作方法
 キーボード,マウスの使い方
 電子メールの送受信
 Webページの閲覧

講義では扱わないので,わからない人は知っ
ている人に聞いてください
8
一般的な講義の進め方
最初の60分間:講義@K12講義室
(講義棟1F)
残りの30分間:演習@電算室(知識棟3F)

電算室(PC room)は別の講義が行われてい
るため,後ろの方で,できるだけ静かに行うこ
と!!
電算室では基本的に説明を行わないので,K
12でしっかり作業内容を理解しておくこと!!
9
講義にあたっての心構え
わからない概念,言葉はすぐにメモ!!

用語が結構独特で,わかりづらい.(デフォルト,とか)
「悩み・迷い」とうまくつきあう





プログラミングは奥が深いし,いろんな書き方ができ
るので確実に「悩む」
「こうしたらどうなるのだろう?」を試していく勇気が悩
みを軽減する
しかし,全部試すのは無理だし非効率なので,講義を
よく聞いて,勘所をつかんでほしい
勘所をつかみ,残った悩みを試していくことによって
「ああ,なるほどね」と納得・解消していって欲しい
悩みを「Ad Hocに」解消するための「丸写し」は自分の
ためにならないので絶対に×(駄目)
 なぜそうなるのか考え,納得しながら真似るのはOK
10
講義計画
(月1 9:20-10:50 / 水2 11:00-12:30)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
4月 9日:Windows PC を利用しての文書作成
4月11日:計算機の構成と入出力
4月16日:はじめてのプログラミング(提出課題1)
4月18日:変数,データ型,演算子(提出課題2)
4月23日:条件分岐
4月25日:条件分岐 (提出課題3)
5月 2日:休講
5月 7日:ループ
5月 9日:ループ
5月14日:配列(提出課題4)
5月16日:関数(提出課題5)
5月21日:関数(提出課題6)
5月23日:プログラム実習
5月28日:プログラム実習
5月30日:プログラム実習
6月 4日:最終試験(3限オフィスアワーで実施の可能性あり)
11
プログラミング環境
Visual Studio .NET 2005 を使って
コンソールアプリケーションをつくりながら
変数,配列,制御構造(繰り返しと条件分
岐),関数 などを理解していく
演習やレポート課題に必要なファイルは,
三浦が構築したツール「SVN4Lec」を使用
して配布・回収する
12
評価方法(シラバス記載の内容)
評価の観点:


プログラミングに必要な基礎的概念の理解度
計算手順(アルゴリズム)の構築・記述能力
評価方法: レポート課題と期末試験
評価の重み付け:


レポート 1課題5点満点×6回 = 30点
最終試験 70点満点
13
最終試験の実施内容
試験問題は,本講義で扱う例題の延長上
にあるプログラムの作成

試験では,講義配布資料と自分のノートのみ
持ち込み可とする
14
ちなみに,企業の講座だと...
社会人のためのプログラミング講座


「C# コース 2133」で検索
「C#プログラミング」
 http://www.neclearning.jp/public/course.php?c
d=MU994
 5日間で約20万円
ぜひこの機会に,プログラミングの基礎を
習得しよう!!
15
参考書
田中達彦:ゼロからはじめるプログラミング,ソフ
トバンククリエイティブ,ISBN4-7973-3704-4(1900
円)

類似の書籍でも良い.1冊持っている方が何かと便利
矢沢久雄:プログラムはなぜ動くのか -知っておき
たいプログラミングの基礎知識,日経BP社,2001年
10月1日,ISBN4-8222-8101-9(2,400円)

購入の必要はない.興味があれば図書館で.
L. ゴールドシュレーガー,A. リスター著,武市正
人,小川貴英,角田博保訳:計算機科学入門(第2
版),近代科学社,2000年11月10日,ISBN4-76490284-2(2,600円)

購入の必要はない.興味があれば図書館で.
16
本日のメニュー
講義概要説明
Windowsの起動と停止
Windowsでの文書作成


「メモ帳」の使い方
ファイル/ディレクトリ/フォルダ
実習ファイル管理システム SVN4Lecにつ
いて(簡単に紹介)
17
本日の実習・提出物
半角文字と全角文字に注意して,
[email protected]あてに,以下のメールを送
信する(Subject: kisoPro とする)

(_は,半角スペースを表す)
(メール本文)
学籍番号(半角英数字)_氏_名(全角可)
(キーボードで以下の半角記号をすべて入力する)
!"#$%&'()=~^|\`@{[+;*:}]<,>.?/_\
締切:次回の授業(4/11)まで
18
Windowsの起動
電源を入れてください
Ctrlキー と Altキー と Deleteキー を同時に押し
てください
ユーザ名入力のダイアログが出たら 各自のユー
ザIDとパスワードを入力してください

ドメインは「AD」を選択する
これで起動が完了しました
「スタート」ボタンを押して「すべてのプログラム」
にマウスカーソルを合わせると,使えるプログラ
ムのリストが出ます
19
Windowsの停止
停止するためには,まず「スタート」ボタンを押し
ます。

奇妙ですね
「Windowsの終了」の上にマウスカーソルを合わ
せて左クリック
「電源を切れる状態にする」の上にマウスカーソ
ルを合わせて左クリック
「OK」の上にマウスカーソルを合わせて左クリッ
ク
以上でウィンドウズが停止し,PCの電源が切れ
ます(うまくいけばですが)
20
Windowsでの文書作成
Notepad(メモ帳)
「スタート」「すべてのプログラム」「アクセサリ」「メ
モ帳」を起動する
メモ帳は比較的短い文書を作成するための簡易
なエディタ(文書編集)ソフト
文書の保存方法



「ファイル」「上書き保存」または「名前を付けて保存」
Chomechome.txtファイルができる
保存場所(ディレクトリあるいはフォルダ)の指定が必
要
21
ファイルとディレクトリまたは
フォルダ
ファイル

一つの文書,一つの画像など
ディレクトリ(フォルダ)



複数のファイルを格納する入れ物
ディレクトリ(フォルダ)中にディレクトリ(フォル
ダ)を格納することもできる
全体としてツリー型の構造をもっ
22
ディレクトリのツリー構造の例
文書
写真
文書5
文書4
文書3
文書2
文書1
Rome1.jpg
旅行
ルート
秘密
学生
Rome2.jpg
千葉
ログファイル
ラブレター
伊藤
Windowsの場合
UNIXの場合
C:\写真¥旅行¥Rome2.jpg
/写真/旅行/Rome2.jpg
23
次回(4月11日)予告
計算機内部の仕組みに迫る!!

プログラミングを行う上で,最低限
計算機について知っておくべきこと,
用語を理解します
(講義情報)
http://css.jaist.ac.jp/~miuramo/lecture/kisoPro/
24