スタンフォード大の iPhone プログラミング講座のビデオが公開されるというので矢も楯もたまらず飛びついた。
無謀なことは分っている。
当方にはプログラミングの知識も経験もまったくない。まるでムチャな話だ。
ムチャを承知で、とにかく付いていけるところまで行ってみようと思う。
まったくのシロウトが覗いてみた名門大学の授業の印象・・・
* * *
学生みたいに若い講師
とにかく講師が若い。Evan Doll と Alan Cannistraro というアップルの現役社員だ。[冒頭画像参照]
講師の経歴はつぎのとおり:
Evan Doll:
Evan はスタンフォード大コンピュータサイエンスコースの卒業生。アップル歴5年。Final Cut、Aperture などの Pro Apps の仕事を経て、iPhone team for version 1.0 に参加、以後のリリースに携わる。各種 iPhone アプリおよび UIKit framework の view controller classes の仕事を担当。Evan is a Stanford CS alum and has been working at Apple for five years. After a stint in Pro Apps which included work on Final Cut and Aperture, he joined the iPhone team for version 1.0 and every release thereafter. His responsibilities include a variety of iPhone applications as well as the view controller classes in the UIKit framework.
Alan Cannistraro:
Alan のアップル歴は9年。デザイナーやアプリ開発者の仕事に交互に従事。音楽やビデオを好み、Final Cut Pro、iPod などの製品開発に携わる。最近では iPhone/iPod touch 用 iTunes Remote アプリの仕事。Alan has worked at Apple for the last nine years, bouncing back and forth between roles as a designer and an application developer. His fondness for music and video has led him to work on several different products, including Final Cut Pro, iPod, and most recently the iTunes Remote app for the iPhone and iPod touch.
現に iPhone 開発を担当しているアップル社員から直接授業が聞けるなんて、さすがアップルのお膝元にある大学だけのことはある。これぞまさにドリームチームだ。
* * *
コース概要
シラバス[Syllabus:講義概要]によれば、講義は毎週1回、1学期で10回のコース。第2週からは月、水各1時間15分の授業になる。
コース概要:
CS193P コースの目的は、iPhone/iPod touch のための object-oriented アプリケーション開発を習得させること。Mac OS X の Cocoa Touch framework を使用、開発言語は Objective-C。使用 OS は Mac OS X 10.5(Leopard)。Course Overview
The goal of CS193P is to teach you how to write object-oriented applications for iPhone and iPod touch, using the Cocoa Touch framework on Mac OS X. The language we will be using is Objective-C. We will be using Mac OS X 10.5 (aka Leopard).
* * *
第1回講義
第1回目[4月1日]の講義は Mac OS X、Cocoa Touch、Objective-C、Dev Tools の入門だ。
オリエンテーション的な話が終わって具体的講義内容に入るのはおおむね 20 分頃から。
・Mac OS X と iPhone OS の違い
・Cocoa Touch のアーキテクチャ
・プログラミングツール
授業で使ったこれらのスライドはこちらから入手できる。
* * *
プログラミングの実際(デモ)
Cocoa Touch や Objective-C についてスライドでざっと見たあとは直ちにデモに突入。(50 分あたりから)
iPhone の画面上にスライダーを作るデモだ。1回目はうまくいかずクラッシュしてしまう。Xcode とInterface Builder の間を目まぐるしく動き、必要な訂正を加える。
プログラミングツールの使い方の説明があるのかと思ったらとんでもない。
どうやらビデオを見ているだけでツールの使い方や Objective-C 言語の概要が分かるというものではなさそうだ・・・
* * *
講義を受ける前提条件
このコースを受けるための前提条件(Prerequisites)を改めて振り返ってみる。
前提条件:
事前に CS106B あるいは CS106X を履修していること。object-oriented programming の経験があれば役に立つがどうしてもというわけではない。Objective-C はやさしい言語なのですぐ学べる。Cocoa Touch frameworks は Mac OS X Cocoa frameworks をベースにしている。Mac OS X Cocoa frameworks は成熟したフレームワークで、現実の object-oriented applications のためのすばらしい開発環境となっている。しかし心配は無用。C 言語の基礎を知っていればそれで十分だ。ポインター、アレイ、メモリーアロケーションといった C の構成要素や C プログラムのデバッギングについてはすでに馴染んでいるはずだからだ。Prerequisites
Students should have completed either CS106B or CS106X. Previous experience with object-oriented programming will be helpful but not strictly required. Obj-C is a simple language that’s easy to learn. The Cocoa Touch frameworks are based on the Mac OS X Cocoa frameworks which
are mature and provide a wonderful environment for developing real-world object-oriented applications. Don’t be afraid! If you’re comfortable with C, you’ll be fine. You should be familiar with C constructs such as pointers, arrays, memory allocations and debugging C programs.
オヤオヤこれはとんでもないことになった。
このビデオを見たらツールや言語の知識が付くのかと思ったら、そうではなくてツールや言語の知識は前提だという。 C の基礎知識があること(you’re comfortable with C)といわれては、もうその時点で脱落だ。ハードルはとても高そう・・・
* * *
いかにもアメリカの大学らしいと思う。
山ほど出されるアサインメント(宿題)をこなしていかなければ授業に出席することすらかなわない。
ましてやスタンフォードという名門大学、しかもコンピュータサイエンスのコースで、限られた数の学生しか出席できないクラスだ。
生半可なことでは付いていけないのも当然だろう。
* * *
宿題が中心
早速次の週までに提出せよという宿題が出ている。
そのひとつは次のようなものだ:
宿題:
この宿題にはコーディングは必要ない。授業で使うツールに馴染ませることが目的。Xcode と Interface Builder を使って簡単なユーザーインターフェイスを構築する。Assignment
This assignment requires no coding. It is intended to get you situated with the tools we’ll be using in the class. You will use Xcode to create a project and Interface Builder to construct a very simple user interface.ハロー・スタンフォード
Xcode でプロジェクトをビルドし、シミュレータで動かしてみること。出来上がったインターフェイスは下図のようなものであること。Hello Stanford
In Xcode, build and run your project in the simulator. Your interface should look something like the following:
Hello World の作り方の説明から始まるのかと思っていたら、それは宿題にすぎず、宿題をこなすだけの知識が期待されているということらしい。
* * *
これともうひとつの宿題をこなして初めて次の講義に進めるというわけだ。
毎回ビデオを漫然と見ているだけでプログラミングが出来るなんてそんな甘いものではなさそうだ。
果たして次回のビデオに付いていけるだろうか・・・
* * *
同時進行でみるスタンフォード iPhone プログラミング
[つぎの講義]:第2回・第3回
Technorati Tags: iPhone, iTunes U, Programming, Stanford
翻訳お疲れさまでした、そしてありがとうございます。
僕も、iPhoneのプログラミングに興味を持っていました。
しかし、全くの素人、いったい何から手を付けて良いのかさっぱり分かりませんでした。
今回のエントリーでいくつかヒントをもらったように思います。
とりあえずC言語の入門書を買ってきたいと思います。^^
次の講義もよろしくお願いします。
凄い企画だ、、、
毎週されるんですか?(私のは3ヶ月に1回ぐらいだけど、毎週は凄い)
うまくいけば(というか、ピアノレッスンで先生に習った後、自分で練習するのと同じように、C言語等への自習が必要に思えますが)、iPhoneアプリが書けるようになるかも知れませんね。
次回を楽しみにしています。
[…] 同時進行でみるスタンフォード iPhone プログラミング:第1回開講 « maclala… 講座の終わりにはある程度できていないとね。 iPhoneのGPSを使い現実の地図上で遊ぶMMORPG『Parallel Kingdom AOG』 – 今日のアプリ第372回 – iPhone・iPod touch ラボ 壮大だ。 4Gamer.net ― [iPhone]趣の異なるピンボール2作品や,心癒されるアクションなどを紹介(Freeballin’) Race For Home Liteは気になる。Radio Flareのアップデートも気になるから入れよう。 4Gamer.net ― [iPhone]「クリスタル・ディフェンダーズ」がより遊びやすく進化(クリスタル・ディフェンダーズ) iPhone Savior: Video Edit Tools Uncovered In iPhone 3.0 Beta なんだと! iPhoneやiPod touchのアプリを分かりやすく説明しているサイトなどはありますか?… – Yahoo!知恵袋 white_mouse_ratさん、ありがとう! Yahoo!掲示板 – 4822(ハドソン) ありがとう! App Storeに表示される「リリース日」のまとめ – frnk*blog More iPhone 3.0 fun..Tethering, A2DP, Skype with Bluetooth headsets | 9 to 5 Mac Bluetoothが気になる。 iPhoneあっぷ使ってみた: SearchHTTP – ウェブページ上の文字検索 覆面座談会「都庁前iPhoneクラブ」はじめました 始めた事情が不明だが、良記事。 […]
ご無沙汰しております。
昔から、ソフトは30歳までが勝負と言われて来ましたが、一時はiPhone(iPod)アプリを試そうかなと思っていましたが、そんなに簡単なものではないようですね。
私の勤務する会社でも30過ぎてソフトをやり始めた者は、皆無のようです。
でも、今後も情報は提供してくださることを期待しております。
> deep さん
とても歯が立たないのは 目に見えているのですが せめて三回戦ボーイまで進めないものかと・・・
> くに さん
なんでこうなったのか 自分でも 血迷ったとしか思えません
> TORIO さん
文字どおり 年寄りの冷や水で おはずかしい・・・
[…] 同時進行でみるスタンフォード iPhone プログラミング:第1回開講 « maclala… 講義は毎週1回、1学期で10回のコース。第2週からは月、水各1時間15分の授業になる (tags: education programming) […]
iTuneStoreでiTune-UのPDF版(1000ページ弱)をDLして見ました。
OOPも入門レベルから解説してくれてわかりやすかったです。
いまさらプログラミングの年でもないので、ざっと斜め読みでしたが
結構楽しめました。
これでは、日米格差がつくのも当然ですね。
> NetFighter さん
どうやら Tablet Simulator の登場も 間近らしく タブレットのプログラミングも おもしろいことに なりそうですね
タブレットでは 日米格差がつかないことを 期待したいものです
それにしても 小生 死ぬ思いをしましたが 読む方が読まれれば やさしいのでしょうか・・・