Please enable JavaScript.
Coggle requires JavaScript to display documents.
プログラミング (ソフトウェア (分野 (OS (Linux, Windows, Mac), データベースサーバ, 通信用ライブラリ,…
プログラミング
ソフトウェア
分野
OS
Linux
Windows
Mac
データベースサーバ
通信用ライブラリ
プログラミング言語
機械学習
暗号
グラフィック
ゲーム
組み込み
・・・
ライセンス
有償ライセンス
使用することが有償
ソフトを動かすのが有償
コンパイルするのが有償
所有することが有償
無償ライセンス
OSS(オープンソースソフトウェア)ライセンス
フリーウェア
GNU
開発方法論
ウォーターフォール
アジャイル
プログラミング教育
育てるべき能力
論理的な思考
表現
コミュニケーション
理解
想像
教えるもの
アルゴリズム
例
筆算(かけ算、わり算)
ユークリッドの互除法(最大公約数)
ソート
探索
教材
ピタゴラスイッチ
アルゴリズム図鑑
数学
国語
英語
プログラミング教材
ビジュアルプログラミング
Viscuit
code.org
Scratch
入門に使われることが多い
非ビジュアルプログラミング
ネットリテラシー
文部科学省のねらい?
✗ みんながプログラミングをできるようにすること
○ 将来的にアプリやシステムと上手に付き合うリテラシーの育成
プログラミングって言わなきゃ良いのに
確かに他の言い方は難しい
コンピュータ
コンピュータを使うもの
家電
照明
エアコン
電子レンジ
冷蔵庫
洗濯機
炊飯器
携帯電話
街の中
看板(デジタルサイネージ)
信号
自動車
使う仕事
物流業(倉庫管理・配送管理)
工場(生産管理)
公共インフラ(電気・水道・ガス・道路・・・)
小売(POSレジ)
官庁(証明書の管理・発行など)
銀行
ゲーム制作会社
アプリ制作会社
・・・
(一般的な)ハードウェアの構造
CPU
メモリ
ディスク
ネットワーク
入力デバイス
キーボード
マウス
マイク
出力デバイス
モニタ
スピーカー
モーター
バイブレータ
インターネット
Webアプリ
よくあるWebアプリ例
関係者
開発者
データベース担当
インフラ担当
設計者
仕様担当
テスト担当
サーバ開発者
UI開発者
発注者
運用担当者
問い合わせ窓口
サーバ監視担当
保守担当
ソースコード
Webサーバアプリ
データベース定義
画面
HTML
JavaScript
CSS
ドキュメント
提案依頼書 (RFP)
要件定義書
仕様書
設計書
テスト仕様書
運用手順書
通信プロトコル
http
URL
https
TCP/IP
暗号化
コミュニティ
種類
クラウドベンダーのコミュニティ
GCPUG
Japan Azure User Group
JAWS-UG
ライブラリのコミュニティ
開発方法のコミュニティ
OSSコミュニティ
ローカルコミュニティ
Fukuoka.go
Fukuoka.rb
...
イベント参加申し込み
connpass
doorkeeper
チャット
Slack
Facebook
LINE
ソースコード共有
Github
GitLab
・・・
言語
基本は英語
日本人開発者が多いRuby
は日本語情報も多い
プログラミング言語
種類
アセンブリ言語
スクリプト言語
Ruby
Python
PHP
シェルスクリプト
旧Visual Basic
JavaScript
LISP
ソースコードを処理系が解釈して実行
・・・
マシン語
コンパイル言語
新Visual Basic
Swift
Go
Java
C++
C
ソースコードをコンパイルして実行形式を生成
・・・
構成
文法
ライブラリ
標準ライブラリ
その他のライブラリ
コンパイラ
処理系
入門
学習方法
やりたいことを具体的にする
何が必要なのかを調べる・教えてもらう
必要な知識や技術を学ぶ
チュートリアルをやってみる
リファレンスを読めるようになる
本を読む
紹介サイトを読む
同じものを使っている別のソースコードを読む
コミュニティに参加する
開発環境
エディタ
atom
emacs
vim
Visual Studio Code
処理系
コンパイラ
実行系
ライブラリ
環境変数
ソースコード管理
ディレクトリ名を変えてバックアップ
バージョン管理システム
git
Subversion
ドキュメントのほとんどは発注者と開発者がやり取りして決める。コミュニケーション重要。