Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
test
Search
githubnishi
April 01, 2017
0
15
test
githubnishi
April 01, 2017
Tweet
Share
More Decks by githubnishi
See All by githubnishi
プレゼンテーション資料
githubnishi
0
14
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
33
1.9k
Visualization
eitanlees
137
14k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
What's in a price? How to price your products and services
michaelherold
238
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Transcript
プログラム解説表示ツール 2017 年 4 月 3 日 西 彬
2 背景 • 2020 年に小学校 でプログラミングが必修化するなど様々な場所で情報 化が進んでおりプログラミングの勉強をする人が増えることが分かる 近年の IT エンジニア人口のグラフ
2009 年度 2010 年度 2011 年度 2012 年度 2013 年度 2014 年度 76 78 80 82 84 86 ITエンジニアの人口 ( 万人 ) 増 加 傾 向 に あ る こ と が わ か る 出典: IPA 「 IT 人材白書 2015 」
3 背景 • しかし、初心者がプログラミングを勉強する時に読む書籍などには 「とりあえず書いてください」や「おまじない」など説明せずに 写経させる書籍が多々あり、そこが原因で分からなくなる人がいる • また、初心者はソースコードを見るときに、全く知らない関数などが来 ると流れが追えなくなったり、分からなくて躓いてしまうことがある //
これはおまじないです #include<stdio.h> ・ ・ ・
4 目的 • ソースコードにある程度の解説を表示することで学習の効率 化を図るなどの手助けをする 例えば #include<stdio.h> // おまじない #include<stdio.h>
が何をするのか調べる なぜ必要なのか調べる 短 縮
5 概要 • 解説を表示したいソースコードを入力すると解説を追加して 出力するソフトウェア • 出てきた解説をファイルとして出力することができる • C 言語に対応している
6 実演
7 システム概要 入力されたソースコードを単語ごとに分ける 処理としてはコンパイラの字句解析に似ている sum = rand() sum = rand
( ) 分けた単語の前後などで判定してキーワードを取り出す 処理について 単語(トークン)ごとに分ける
8 システム概要 キーワードをデータベースと照合し、処理の説明を拾ってくる sum = rand ( ) 入力されたソースコードに説明を追加して出力する sum
= rand(); // 乱数を返却して sum に代入 文字列 解説文 ・・・ ・・・ rand 乱数を返却 rand
9 システム概要 • データベースは SQLite を使用 • 使用理由:手軽に使える、動作が軽いなど • データベースには予約語や関数とそれらの日本語での説明文が
入っている データベースについて
10 (内定者研修)についての所感 • 設計書などの書類などをちゃんと作らずに作り始めたため、時間を 無駄に使ってしまったりしたがそれらの必要性がよくわかった。 • 作る側の視点だけで考えるのではなく、使う側の視点で考えたり、 すでにあるものを参考にするなど様々な考え方をする必要があるな ど勉強になった。
11 ご清聴ありがとうございました。