オリエンテーション

はじめに

オリエンテーションでは下記の内容を案内していきます。

  • コース概要
  • 学習の流れ
  • 受講の心構え
  • 開発者コミュニティについて

コース概要

今日からあなたもiOSアプリ開発者の仲間入りとなります。具体的なアプリ開発の解説に入る前に、このコースの全体的な説明と目標について説明します。

本コースはプログラミングの基礎から、よく使われるiOSアプリの機能を実装するスキルまでを一通りカバーし、初心者でもある程度のアプリ開発を行うスキルがつくよう、設計されています。各講それぞれ、1つの独立したデモアプリを製作し、完成させることができます。

まず、コース前半のカリキュラムはプログラミングの基礎を習得することに重点が置かれています。ご存知の方も多い方と思いますが、iOSアプリはSwiftという言語を使用して記述されています。Swiftはアップル社が開発した言語で、主にMac OS XやiOSのアプリ制作に利用されています。前半の講義の大きな目標は、アプリ開発で使用するツールの使い方に慣れ、よく使われる基礎的なプログラミングテクニックを習得することとなります。

コース後半のカリキュラムは、iOS SDK(Apple社が提供するiOSアプリの開発ツールキット)が提供するフレームワーク(アプリの基本機能を提供する基盤)の使い方を重点的に学びます。このフレームワークを有効に活用することによって、iOSの特徴とされる、高度なユーザーインタフェースを自分のアプリに簡単に取り入れることができます。また、iPhoneやiPadが装備するカメラや様々なセンサーのデータに取得することができます。オリジナルアプリを製作する際は、これらフレームワークを独自に組み合わせることによって、必要な機能を実装したり、今までにない新たな経験を生み出したりすることになります。後半では、これらの基本的な使い方を学び、その活用方法を学ぶことが大きな目標となります。

iOSアプリ開発やプログラミングは、スポーツと共通している部分があります。野球やテニスなどのスポーツでは、練習量がスキル上達に直結するように、プログラミングでも「練習」することで、より早くスキルを上達させることができます。慣れるまでは、苦労することもあるかと思いますが、ここに書かれている内容を一度やって満足するのではなく、別々に解説されている機能や内容を組み合わせたり、自分流にアレンジしたりと、積極的に手を動かすことをおすすめします。そうすることで、自分のアイデアをアプリ上で具現化する上で最も重要となる「応用力」を養うことができるでしょう。

また、「わからないこと」や「解決できない問題」に遭遇した場合は、テキストの内容をおさらいすることも有効ですが、積極的にウェブで検索することも一層有効です。ウェブ上は世界中のアプリ開発者が集う空間でもあり、効果的なプログラミングテクニックから、それぞれが遭遇した問題やその解決方法まで、様々な情報がやり取りされています。これらをぜひ有効活用してみてください。

カリキュラムについて

本コースは以下のカリキュラムを順番通りに学習して頂きます。すべての項目を学習すると、ある程度のアプリ開発を行うスキルが身につきます。

  • オリエンテーション
  • 環境構築
  • Scketchの基礎
  • Swiftの基礎
  • Gitの基礎
  • カウンターアプリ
  • ドル・円換算アプリ
  • 手拍子アプリ
  • ジェスチャーアプリ
  • クイズアプリ
  • 100M走アプリ
  • RSSリーダー
  • 万歩計アプリ
  • 店舗紹介アプリ
  • シンプル電卓アプリ
  • スタンプカメラアプリ
  • メッセンジャーアプリ
  • 写真共有アプリ
  • TODOアプリ
  • アクションゲームアプリ
  • 出会いアプリ

上記全ての項目を学習した後は、今まで学習してきた内容を生かしてご自身のオリジナルアプリを作成してください。自分自身で制作したオリジナルアプリを是非、AppStoreへ公開してみましょう。

学習の心構え

以下学習を始める前の心構えです。ご参考ください。

1.ググる、ググる、ググる

  • 最初はわからない事だらけ、これから理解すればいいのです!
  • Google検索を制するものは開発を制する、とっても大事なスキル
  • 分からないと思ったら、興味をもち、ググる
  • プログラムは全てを理解する必要はない。すぐ検索して見つけられるようにする
  • 引き出しをたくさん作る

2.目的意識をもって手を動かす

  • コードを写経(コピペ)だけでは学習効果は低い
  • 目的・ゴールを常に意識しながら開発
  • 自分が今何をプログラミングしているかは常に意識!
  • 全体を把握するために紙やノートで積極的に図を書く
  • 自分の思考を把握(客観視)していないといいプログラムは書けない

3.繰り返しやる

  • 理屈がわからない場合はとりあえず手順理解だけで全然大丈夫
  • 特にマニアックな仕様のプログラムは手順のみ理解で見切りをつける
  • 習うより慣れろも大事(手が勝手に動くのが理想)

4.エラーがでたらワクワクする

  • エラーがでてもパニックにならない!冷静に!
  • 頭が煮詰まったらトイレに行ったり、休憩して冷静になる工夫を
  • 落ち着いてエラー内容をしっかり把握する
  • エラー内容をググったり、講師に質問する
  • その時大事なので5W1Hをしっかり整理して質問
  • 結局大事なのは問題解決能力
  • エラーはPCからの大事なメッセージです。しっかり受け止めてあげてください。
  • エラーのでない不具合は本当に大変!

5.学習したらすくアウトプット

  • わかった点、わからない点を文章化
  • コードやREADME.mdなどに積極的にコメントしてメモ
  • プログラムは言語です。文章能力が養えば同時にプログラムスキルも向上します
  • 自分の理解定着、頭の整理にともて効果的です

6.理解したら仲間に教える

  • 人に教えることによってさらに理解が深まる
  • 人に伝える能力は仕事全般においても非常に大事
  • 情けは人のためならず
  • 与えたら必ず返ってきます!
  • 仕事は感情の貸し借りです
  • どれだけ人に恩を売るかで仕事の成果が決まる!

7.みんなで助け合おう

  • 一緒に勉強する方は大事な仲間です
  • 困っていたら出来る限り助けてみんなで助けてあげよう
  • チームに貢献できる能力は実際の現場でもすごく大事
  • 話す事によりどんどん頭が整理される

8 難しいから価値がある

  • 必ずといっていいほど、「プログラムは難しい!」を感じると思います
  • でも、「難しいから価値がある」という事を忘れないでください
  • 難しい事を克服できれば「あなたの価値」になります
  • 難しい問題を解決して、「問題解決能力」を養う事がエンジニアにとって大事です