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

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

どんな様子で授業が進み、どんな学びを得ることができるのか。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ヶ月のスケジュールで学習を進めていきます。

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

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


本日の講師:堀内 滉貴先生

こんにちは!日本語よりJavaが好きな堀内滉貴です!
都内の広告代理店で、スマホアプリや社内システムの開発、印刷物のDTPオペレーションをしてきました。

コードを書くかたわら、なぜかDTPオペレータとして大手飲食チェーン店さんのテーブルメニュー作成にも関わり、Illustrator・Photoshopにも親しんでいます。
おかげで飲食店のメニューの写真を見ると、どの色が補正されているかがだいたいわかるようになってしまいました。
このあたりの話もご興味がありましたらお声がけください。喜んで語り始めます。
IT系の資格は、基本情報処理技術者、応用情報処理技術者、情報セキュリティスペシャリスト(現:情報処理安全確保支援士)などを保有しています。

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

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

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

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

1. 課題でわからなかった部分の質問3題分(40分)

前回の「CodeCamp(コードキャンプ)のアプリマスターコースレビュー・感想|2日目」では3章までの内容を学習しましたが、今日までに4章の「配列の操作」を予習しておいたので、授業では

  • 第3章の演習問題2題
  • 第4章の演習問題1題

の演習問題、計3つでわからなかった部分をききました。まずは第3章の演習問題です。

【3-9問題の写真】

まずはこちらの問題。

繰り返しのforと条件分岐のifを組み合わせることまではわかったのですが、

【3-9写真】

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

飯川慶子
というわけで、これらを表示させない方法はあるのでしょうか
石川博子
コードを見てみますと……ああ、飯川さんの書いたプログラムだと、“3,5の倍数のとき”はif文が使われているんですが、それ以外のときの条件がfor文の外側にあるので、条件に含まれている数字がもう一度出力されてしまっているんですね。
飯川慶子
なるほど……(プログラムを見て考える)……!つまり、条件に合致しなかった場合の条件としてelseを指定してあげて、これをi++;にすればいいってことですね
石川博子
そうですそうです、それでは実行してみましょうか。

保存して実行すると……

【3-9成功例の画像】

 

このようにしっかり文字と数字がダブらずに出力されるようになりました。

第3章の演習問題4

次の問題はこちら

【3-10の問題の画像】

ところが私が自力でやると

【3-10写真】

飯川慶子
ユーザーに値を入力させる部分を打って……

  1. ランダムで表か裏を出すようにする
  2. その数をカウントするようにする

というような大枠を掴むまでが受講前の限界での私の限界でした。

石川博子
なるほど……それではできそうな部分、まずはランダム関数から定義してみましょうか

飯川慶子
はい!
石川博子
そのうえで、次にやらなければいけないのが、表と裏の定義です。飯川さんの先ほどの話だと表か裏かはランダムで出せても、それらの関数がないのでその数字を表と裏どちらの箱に入れてカウントするかが不明確というわけです。

飯川慶子
なるほど……で、これを定義して……あ!こうすればif文を繰り返し処理の中に入れ子にすればいいんですね
石川博子
そうですそうです!

石川先生のアドバイスをもとにプログラムを入れ込むと

【3-10成功例の写真】

やっとできました!

第4章の演習問題

今回の授業で私が最後に聞いたのがこちらの問題

【4-7問題】

配列を足すことをしようと思ったのですが、

飯川慶子
和が出ない……
石川博子
これは飯川さんのプログラムだと

for(int[] totalScore : scores)

の部分で、配列を数値に変えることはできているのですが、これだけだとそれしかしていない状態なので、それぞれの数字を足すことができていないんですね。……どうしたらいいでしょうか?

飯川慶子
……for文のなかにfor文を入れる?
石川博子
そうです!それでやってみましょうか

【4-7の結果】

飯川慶子
あ、できた……ありがとうございます!

40分間でなんとかこの3つのプログラムを動かすことまでで、レッスンは終了しました。

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

ここまではCodeCamp(コードキャンプ)アプリマスターコースの大まかな流れを説明してきましたが、おそらくこれだけでは疑問点も多いはず。

そこで先ほどのレッスンで私が実際に石川先生に質問した内容をご紹介します。

頭の中でふんわりしていても途中でコーディングに詰まってしまったときの対処法

飯川慶子
課題に取り組むときに、たぶんこれをやったらこれをやるというところまではふんわり掴めても、書き出せないんです。こういうときどうしたらいいのでしょうか?
石川博子
そのようなときは、まずはコメント文でどういう処理をするか書いてみて、そのうえでわかりそうなところだけまずは書いて動かしてみてもいいと思います

Javaのプログラミングをしっかりみにつけたい

飯川慶子
ここまでいくつかの課題に取り組んでみて思ったのが、問題は解けてもなかなか理解できている気がしないんです。ふんわり雲がつかめているぐらいなのですが、これを確実に理解するためにはどうしたらいいのでしょうか
石川博子
そんなときはコーディングトレースをおすすめします。ひとまずこれまでやってみた課題について、それぞれの処理を1行ずつここで何をしていたかを確認しながら、マネして文章を打ち込んでみましょう。理解したうえでそっくりそのまま打てればトレースできているといえます。

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

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

第3回を受けて学んだことは大きく

  • 課題の躓いていた部分の確認
  • 課題の進めかたとしてはわからなくてもわかる部分から書き込んでいければいいということ
  • 理解をすすめるためには、コーディングトレースがおすすめなこと

を学びました。かなり難しいとは思いますが、最終課題に取り組むためには確実な理解は欠かせないので、これからは復習にも積極的に取り組みたいと思います。

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

  • 5章から7章の予習
  • 演習問題はわかるところまではやる
  • ここまで習った部分のトレース
をやっていこうとおもいます。

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

Javaをなんとなくふんわり掴んだ気はしていても、なかなか本当の理解には結びつかないという難しさを感じたのはもちろんですが、石川先生にこの悩みを相談したところ、「具体的なアクション(=トレース)」を解決策として提案してくださったのが大きな励みでした。

「なんとなくわからないんだけど、これどうしたらいいんだろう。(もやもや)」

というのは初心者の人にはよくあることですが、自己流の解決策ではなく現場のプロがじきじきにアドバイスをしてくださることをとてもありがたく感じました。

今日から少し期間が空きますが次もがんばります!