Out Put 37

どんな挑戦も不可能はない!30代未経験からのエンジニア転職ブログ

e-ラーニングについて

IT×教育 過去           

CAI(computer aided instruction)   computerによる支援教育

CBT(computer Based Training) computerによる教育研修

 

IT×教育 現在

WBT(Web Based Training) internetなどのWeb利用のによる教育研修

internetを通じて学習履歴サーバーに一括して管理する。

学習教材そのものもサーバー上に保存。

直接学習者のcomputerに配信する。

学習者は自由な時間に受講できる。

最新の教材をいつでも入手可能になる。

モバイルラーニング、mラーニングなど、マルチディバイス対応が求められる。

 

ソーシャルネットワーク

掲示板やブログ、SNSを組み合わせた学習法。

「受講者同士」を支援し合えること=コミュニケーションスタイルは、

学習計画や学習意欲を向上・維持するのに高い効果が期待されている。

 

ブランディッドラーニング

「人」「物」「学習形態」などを組み合わせた教育手法。

最適なシーンで最適な方法を選択することが重要。



LMS(Learning Management System)  学習管理システム

主な機能は2つ

1:学習者と教材の管理

2:学習者と進捗状況の管理

今日の学習はここまで。

e-ラーニング、歴史があって奥深い・・。

Rubyの基礎構文③

配列の%記法

w%[ ]

文字列の配列に使用できる。

スペースで区切る。

w はシングルクォート

 

W はダブルクォートで囲うのと同じ意味。

変数を展開することも可能。

[1] pry(main)> a = 1

=> 1

[2] pry(main)> b = 2

=> 2

[3] pry(main)> %w[e#{a} d#{b}]

=> ["e\#{a}", "d\#{b}"]

=小文字は変数が参照されない。

[4] pry(main)> %W[e#{a} d#{b}]

=> ["e1", "d2"]

=大文字の場合は参照される。

 

%i記法

シンボルの配列の場合に使用される。

%i[a b c]

=[:a, :b, :c]となる。

 

文字列やシンボルでデータを配列でを初期化する場合は積極的に使用しよう!

vimコマンドを練習しよう!

vim

マックに標準で設定されているテキストエディタ

vimコマンドを使用してコードを記述する。

代表的なvimコマンド

i   insertモードへ

o  新しい行を追加しinsertモードへ

R  上書きモード

v 範囲指定 

esc コマンドモード

w 次の単語へ

b  前の単語へ

f    カーソルがある行の文字へ

0 行頭へ

$ 行末へ

gg   最初の行へ

G   最終行へ

yy  一行コピー

p ペースト

gv 直前の範囲を再選択

まずはここまで覚えて、

HTMLを書くところから始めよう!

<!doctype html>

<html>

  <head>

   <meta charset= "utf-8">

  </head>

  <body>

  </body>

</html>

実際に書いた記述はまた後日!

3/13 個人アプリの概要

アプリ名:Let's Start Now!

ユーザーの目標達成サポートを目的としたアプリケーションです。

・なぜ作ろうと思ったか?

タスク管理やスケジュール、メモアプリはよくみかけるが、

目標管理のようなアプリは少ないと感じた。

自身がプログラミングの学習を継続できた理由を考えると、

環境の要因が一番大きかったことに気付いた。

もし個人の能力より環境によって結果が左右されるなら、

アプリによってサポートできるのではないかと考えました。

機能紹介

①目標投稿機能

ユーザーが目標を投稿、全体に公開する機能。

宣言効果によって、目標を達成できる確率を高めます。

②応援、コメント、検索機能

応援したいユーザーの投稿を記録できます。

それぞれの投稿にはコメントを残すことができます。

カテゴリーを選択して検索できる機能があります。

③ノート機能

個人のタスクを管理できる機能を備えています。

ノートにタスクを記録、達成度を自己評価できます。

タスクは保存されるため、ユーザーのタスクを可視化することができます。

④ユーザープロフィール、フォロー機能

プロフィールを作成、他のユーザーをフォローする機能があります。

ユーザー同士のつながりを感じられる機能です。

工夫した点

ポイント①抽象的な部分は明確にする!

目標達成アプリといわれてもイメージできない。

具体的にどうするとイメージしやすくなるかトップページの見せ方やキャッチフレーズ等、伝わりやすいUIになるよう試行しました。

ポイント②ユーザーのなぜ?に答える説明

記述内容の必要性や具体的な効果を説明、ユーザーが納得して行動できるように作成しました。

アプリ作成を振り返って

まだまだ発展途上の段階、

これからもっとアップデートしていきます!

Rubyの基礎構文②

Ruby

クラスの定義とメソッド

class Name

end

クラスの定義:キャメルケースでクラス名を記述する。

 

・キャメルケースとは?

UserName このように、

各単語の区切りを大文字で記述する方法です。

大文字の部分がラクダのコブに似ていることが名前の由来とされています。

他にも、

user_name  スネークケース

という記述法もあり、

使用するプログラミング言語の種類や場面によって使い分けられています。

 

・クラスとは?

メソッドのまとまり = オブジェクト として扱われます。

end までの間に定義されたメソッドやインスタンス変数は呼び出して使用することができます。

 

インスタンス変数とは?

@を先頭につけた変数。

@name = name

@nameというインスタンス変数に nameを代入している。

インスタンス変数を使用するためには、

インスタンス変数にアクセスするためのメソッドが必要になります。

def name

@name

end

このようにインスタンス変数にアクセスするメソッドを記述します。

 

インスタンス変数の中身を変えるには?

インスタンス変数の中身を変えるためのメソッドを記述します。

def name(new_name)

@name = new_name

end

クラスの外から仮引数を受け取ることができます。

 

・コードをまとめよう!

class Book

 def initialize(name = 'foo' )

   @name = name

 end

 

 def name

   @name = name

 end

 

 def name(new_name)

    @name = new_name

 end

end

 

book = Book.new

puts book.name

book.name = 'foga'

puts book.name

 

出力結果: foo

                      fuga

このままだと、処理が増える度に記述が増えて冗長になる。

そこで、

「accessorメソッドでまとめる!」

class Book

attr_accessor :name

 def initialize(name = 'foo' )

   @name = name

 end

end

 

book = Book.new

puts book.name

book.name = 'foga'

puts book.name

 

attr_accessorによって指定したシンボル名のインスタンス変数の値を取得するメソッドと値を更新するメソッドを作成することができる。

 

補足:initializeメソッド

特別な意味を持つメソッドです。

オブジェクトが生成されるタイミングで自動的にメソッドが実行されます。

 

今日はここまで、

また明日もRuby学習がんばります!

Rubyの基礎構文①

 今日はUdmeyの「フルスタックエンジニアが教える 即戦力Rails エンジニア養成講座」から、Rubyの基礎構文について初学者なりにまとめていきます。

Rubyの特徴

・インタプリンタ型言語

コードを実行するタイミングで逐一機械語コンパイル(翻訳)してくれるため、手軽にコードを実行できる。

 

オブジェクト指向言語

特定の処理を行うメソッドのまとまりをオブジェクトと呼びます。

例えば文字列のオブジェクトであれば、

文字データを持っていて、文字数をカウントするlengthメソッドが使用できます。

 

・構文の自由度が高い

一つの機能を作るにも様々な書き方ができる。

構造や可読性はプログラマーの腕次第!

 

・日本語のドキュメントが豊富

日本人の、まつもとひろゆきさんが作った言語なので、

エラーの解決や機能実装についても多数の日本語記事を見つけることができます。

また、質問に答えられるエンジニアが多いことも特徴です。

 

lesson1 オブジェクトについて学ぶ

stringオブジェクト

文字列を扱うオブジェクト。

''シングルクォートか""ダブルクォートで囲んだ文字列が対象になります。

 '文字'.class

=> String

代表的なメソッド

・小文字を大文字に変化

upcase

 'test'.upcase

=> "TEST"

 

・大文字から小文字

downcase

'TEST'.downcase

=> "test"

 

・文字を切り出す

slice

'testです'.slice(0,3)

=> "tes"

0~3までの文字を切り出す

 

・文字数の表示

size

'test'.size

=> 4  

 

・整数に変更

to_i

'100'.to_i.class

=> Integer  文字列ではなく整数に変化

 

浮動小数点数表現

to_f

'10.5'.to_f.class

=> Float  浮動小数点数に変化

 

メソッド名を確認するには?

オブジェクト名.methods

レシーバーのオブジェクトが持つメソッドを表示してくれます。

 

・文字列の結合

'文字列' << '連結'

=> "文字列連結"

<< で連結させることができる。

※変数を使用して連続して連結させることができる。

 str = '文字'

=> "文字"

str << '連結'

=> "文字連結"

 str << 'です'

=> "文字連結です"

puts str

文字連結です

変数を使用した場合+で連結させると結果が異なる。

str + 'プラス'

 "文字連結プラス"

 str

=> "文字連結"

<<を使用した場合と違って、

変数の中身が変化しない。

 

今日のブログはここまで。

次回はRubyの構文もう少し進めてみようと思います!