CodeCamp(コードキャンプ)のアプリマスターコースレビュー・感想|6日目

プログラミングを習得したい人にとって、プログラミングスクールは「理想の自分に一歩近づける場所」。しかし「プログラミングを学びたいけど、自分にできるか不安」「値段が高くて踏み切れない」「受講のイメージが湧かない」など、挑戦するかを悩んでいる人が多いのではないでしょうか。

どんな様子で授業が進み、どんな学びを得ることができるのか。CodeCamp(コードキャンプ)のアプリマスターコースを受講した様子をお届けします。

飯川慶子
都内の通販会社のウェブマーケター。上級ウェブ解析士。

HTMLやCSS、簡単なワードプレスぐらいであれば触れるものの、近年ウェブだけではなくアプリの割合が増えてきていることに不安を抱えている。

アプリってそもそもどうやって動いているのか、どう作られているのかがわからないとディレクションも解析もしにくいだろうな、と思ったためアプリマスターコースを受講。

CodeCamp(コードキャンプ)のアプリマスターコースとは

CodeCamp(コードキャンプ)のJavaマスターコースは、スマートフォンのアプリケーションをゼロから開発できるようになることを目的としたコースです。

ログラミング未経験者を対象としており、ニュースリーダーアプリやカメラアプリ、簡単なSNSアプリの開発に挑戦することができます。また、アプリ開発に必要な環境構築から開発方法まで、実際に挑戦しながら経験値を積み、最終的に自作のアプリ公開を目指します。

アプリマスターコースの時間・料金プランは以下の通りです。

2ヶ月
  • 料金:148,000円(税抜)
  • レッスン回数:20回
  • 受講期間:60日間
  • 週の学習時間目安:20〜25時間
4ヶ月
  • 料金:248,000円(税抜)
  • レッスン回数:40回
  • 受講期間:120日間
  • 週の学習時間目安:10〜15時間
6ヶ月
  • 料金:298,000円(税抜)
  • レッスン回数:60回
  • 受講期間:180日間
  • 週の学習時間目安:5〜10時間

今回は2ヶ月のスケジュールで学習を進めていきます。

それでは、6日目の様子をお伝えします。

アプリマスターコース6日目|CodeCamp(コードキャンプ)

本日の講師:石川 博子先生

こんにちは。私は、エンジニア歴25年ほどある石川と申します。大手ゲーム会社でエンジニアのキャリアをスタートし、フリーランスを経て、ベンチャー企業を立ち上げています。制御系のシステムからWeb系のシステムまで幅広い開発経験があり、プロジェクトマネージメントなどの経験も豊富です。開発業務のほかに、最近は、新人研修の技術研修や初心者向けのシステム設計研修など、担当しております。休日はアウトドアでジョギングなど、体を動かしていることが好きです。よろしくお願いいたします。

引用:CodeCamp(コードキャンプ)

ここまでは特徴をざっとお話してきましたが、ここからは実際にCodeCamp(コードキャンプ)アプリマスターコース6日目でどんな流れでどんなお話をしたのか、スクリーンショットと一緒にお届けしたいと思います。

CodeCamp アプリマスターコース第6回目レッスンの内容

  1. Java基礎7章~9章のおさらい
  2. Java10章「カプセル化」

1.Java基礎7章~9章のおさらい

前回の「CodeCamp(コードキャンプ)のアプリマスターコースレビュー・感想|5日目」では6章の「パッケージとAPI」の部分まで学習したものの、そろそろ折り返し地点。

今回は予習を多少多めに行って7~9章のオブジェクト指向の部分を事前学習しておきました。

Lesson7の問題文

7章の課題は今までのとにかくプログラミングをするタイプの課題とは少し毛色の違う内容。Javaの要となる「オブジェクト指向」の概念をしっかり理解しているかどうかがこの課題のチェックポイントといえるでしょう。

私は以下のように整理してみました。

★自動販売機の場合

【属性】

  • 商品
  • 価格
  • 支払金額(おつり)

【操作】

  • お金を受け取る
  • 商品を出す
  • おつりを出す

★商品の場合

【属性】

  • 価格

【操作】

  • 仕入れ先
  • 仕入れされる
  • 購入される
  • 返品される

このように「3」や「5」のときは数を表示させたくないのに、「Fizz」「Buzz」とともにこれらの数字が表示されてしまっていたんです。

飯川慶子
こんなふうに解いてみたんですがいかがでしょう……(不安気)

石川博子
自動販売機のほうはこれでいいと思います。

ただ商品の場合、これだけだと“何の商品”の話をしているのかわからないので、“商品名”が属性に入りますね。

飯川慶子
たしかに! ……オブジェクト指向って難しいですね。

石川博子
オブジェクト指向はなかなか日常生活ではしない発想ですが、世の中のものはほぼオブジェクト指向で捉えることができます。 新しい世界が見えて楽しいですよ

飯川慶子
そうですね! たしかにこんなふうに物事をとらえたことがなかったので新鮮です。 復習のためにもいろいろなものをオブジェクト指向で見てみたいと思います。

8章・9章の課題について

【8章の問題の画像】

続いてはこちらの問題。

こちらについてはGoogle先生の力も借りながら自分でプログラミングして見た結果、

【8章の回答の写真】

結果思い通りの内容のプログラムが構築できたので問題なし。石川先生からもOKの確認をいただきました。

その調子でLesson9のこちらの内容

【9章の課題の写真】

(※この画像では解決している状態です)

飯川慶子
ほぼ8と同じ内容なのはわかったのですが、ここにも書いてある通り

//引数として種類、数を指定し、表裏は裏で初期化される?

//引数を指定しない場合にはインスタンス化することはできない?

の部分がよくわからなかったんです。

石川博子
コメントアウトの部分がよく使えていますね。

つまり、これは結構そのままの意味で、引数にそのまま種類と数を指定してあげたあと、表裏は裏を返してあげればいいというわけです。

飯川慶子
思ったよりも単純な話でした。 こういうことですね。

石川博子
そうですそうです。

10章の課題に対する質問

今回はこのように意外と早く課題の添削が終わってしまったので(9章とかもう少し長引くかなと思っていたが意外と単純なところで躓いていたため)、そのあとは10章の学習に入りました。

簡単に言うと10章で話をしているカプセル化というのは、

  • 外部から触られてはいけない値を守ることができる
  • Javaのコードの管理を簡単にする

ことができる機能だという感じでしょうか。

テキストを読んでいるとよくわからないところも石川先生がフォローしてくださるので、要点だけ絞って入れることができた気がします。

飯川慶子
しっかり予習をしておいて課題添削の時間を削減すると、こんなメリットがあるんですね。

CodeCamp(コードキャンプ)アプリマスターコース6日目で生じた疑問

今回は課題も進捗も思ったよりさっくり進んだので、今後androidアプリを作るスケジュール感について石川先生にきいてみました。

Androidアプリをそろそろ作りたいのですが……

飯川慶子
実はそろそろandroidアプリを作りたいな、と思っているのですが、androidアプリを作るためにはJavaの知識が必須なんですよね?

あくまで私のゴールはアプリを作ることなのでどこまでやればいいんでしょうか?

石川博子
実はそれ私も心配してたんですよね。

たしかにJavaについては学ばなければわからない部分も多いと思いますが、10章まできましたし、androidコースを始めてもいいと思います。

また、2ヶ月コースの場合、Javaを本気でやっていると、それで時間がつぶれてしまうので、Javaの最終課題はやらなくても大丈夫です。

飯川慶子
(心配かけてすみません……) それでは着手させていただきますね。

Javaコースを修了しなければAndroidコースがまったく理解できないのでは……?と思っていたので、このタイミングで相談して正解でした。

2ヶ月のアプリマスターコースを選んでいる人は本当に時間がないので、ある程度Javaをやったら(10章ぐらいまで)どんどんAndroidアプリに進むようにしましょう。

CodeCamp(コードキャンプ)アプリマスターコース6日目の成果と課題

6日目を受講して学んだことと、次回に向けた課題について整理します。

6日目では

  • オブジェクト指向の概要
  • オブジェクト指向は日常生活のあらゆるものにも適用できるので、そういった見方をすると楽しいこと
  • Javaにおけるカプセル化はセキュリティと管理のしやすさのための機能であること
  • カプセル化は「ゲッター[/voice]と「セッター[/voice]の機能があること

を学びました。次(11/26)までに

次は11/6まで間が空きますが

  • 10-15章の予習
  • Androidの序章の予習
をやっていこうとおもいます。

CodeCamp(コードキャンプ)アプリマスターコースを受講した感想

何度も言っていることですが、ググって調べることでだいぶ予習のスピードが速くなりました。PCの前で無意味にうなるのはプログラミングを学ぶ上ではちょっと無意味なのかなと思うので、今後も活用していきたいと思います。

また、次からはやっとアプリ開発らしくAndroidにも触れる!……

こちらについてはウェブ上にテキストが用意されているのではなく「Androidアプリ開発[/voice]という分厚いテキストを読み進めながら構築していく感じになるので、こちらについても試行錯誤していきながら頑張っていきたいなと思います。