プログラミング演習における初学者を対象としたコーディング傾向の分析
スポンサーリンク
概要
- 論文の詳細を見る
高等教育機関等で実施される初学者を対象としたプログラミング教育において,学習者が陥りやすい誤りを事前に把握することは重要である.一方で,これまでプログラミング初学者がどのようにソースコードを編集し,誤りに陥っているか,その傾向は十分に明らかになっていない.本稿ではプログラミング演習時に取得した初学者のソースコード編集履歴を分析し,その傾向を明らかにする.分析にあたってはプログラミング熟練者の目視による定性的分析と,ソースコードの編集に関わるメトリクス計測に基づく定量的分析を実施した.分析の結果,初学者が陥りやすい誤りのパターンを観測した.また,演習において理解困難な状態に陥っている場合,ソースコードの編集距離に着目したメトリクスの変動にある種の傾向があることを確認した.
- 2012-03-06
著者
-
吉田 則裕
大阪大学大学院情報科学研究科
-
玉田 春昭
京都産業大学コンピュータ理工学部
-
伏田 享平
奈良先端科学技術大学院大学情報科学研究科
-
井垣 宏
奈良先端科学技術大学院大学情報科学研究科
-
井垣 宏
南山大学数理情報学部情報通信学科
-
吉田 則裕
奈良先端科学技術大学院大学
-
井垣 宏
大阪大学大学院情報科学研究科
-
藤原 賢二
奈良先端科学技術大学院大学
-
伏田 享平
奈良先端科学技術大学院大学:(現)株式会社NTTデータ技術開発本部
-
井垣 宏
大阪大学大学院 情報科学研究科
-
玉田 春昭
京都産業大学 コンピュータ理工学部
関連論文
- アシスタントロボットを用いたプログラミング教育支援システムの構築(作業支援,人工現実感)
- UMLモデルを対象としたリファクタリング候補検出の試み
- 異なるライフログを集約するための標準データモデルの考察(情報セキュリティ,ライフログ活用技術,ライフインテリジェンス,オフィス情報システム,一般)
- 異なるライフログを集約するための標準データモデルの考察(情報セキュリティ,ライフログ活用技術,ライフインテリジェンス,オフィス情報システム,一般)
- ホームネットワークにおける環境への副作用を考慮した省エネ機器操作推薦手法(ユビキタスネットワーク・ホームネットワーク,ホームネットワーク,ユビキタスネットワーク,コンテキストアウェア,eコマース及び一般)
- センササービスのマッシュアップを実現するサービス指向基盤の提案(ユビキタスネットワーク・ホームネットワーク,ホームネットワーク,ユビキタスネットワーク,コンテキストアウェア,eコマース及び一般)
- 使用クラスに基づくソフトウェアの機能面からの分類
- ホームネットワークシステムにおける電力消費振り返りサービスの提案(情報セキュリティ,ライフログ活用技術,ライフインテリジェンス,オフィス情報システム,一般)
- ホームネットワークにおける家電連携サービス作成支援システムの開発(ホームネットワーク)
- ホームネットワークシステムにおけるサービス開発を容易化するネット家電標準データモデル(ホームネットワーク,ライフログ活用技術,オフィス情報システム,ライフインテリジェンス)
- ホームネットワークシステムにおける環境相互作用を利用した省エネ機器連携サービスの一構築手法(ホームネットワーク,ライフログ活用技術,オフィス情報システム,ライフインテリジェンス)
- バグ管理システムのログを利用した保守プロセス評価メトリクス
- バグ管理システムを対象としたアジャイルソフトウェア開発における保守プロセスの観察
- 「非障害案件」の発見を目的としたバグ票の観察(開発プロセス)
- 注視情報に基づくネットワーク家電の状態提示システムの構築
- サービス指向アーキテクチャを用いたネットワーク家電連携サービスの開発(Webサービス)(新時代の分散処理とネットワーク(WebサービスとP2P))
- 問題の早期発見・改善を支援するインプロセスプロジェクト管理手法の実プロジェクトへの適用(ソフトウェア工学)
- 問題の早期発見・改善を支援するインプロセスプロジェクト管理手法の実プロジェクトへの適用
- アシスタントロボットを用いたプログラミング教育支援システムの構築(作業支援,人工現実感)
- プログラム依存グラフの一貫性検査に基づく欠陥候補の検出手法
- ソフトウェアライセンスがコピーアンドペーストによる再利用に与える影響の調査
- 定量的管理指標の利用実態調査-あるソフトウェア開発組織を対象として
- コードクローンに対する変更の一貫性と欠陥発生との関連性に関する分析
- リファクタリングのための変更波及解析を利用したテスト支援ツールの提案
- 類似メソッドの集約のための差分抽出支援(フレッシャーズセッション)
- 類似メソッドの集約のための差分抽出支援(フレッシャーズセッション,一般,フレッシャーズセッション)
- ソースコードに対して適用可能な編集手順を探索するリファクタリング支援手法の提案
- 時空間情報と動作を組み合わせた認証方法
- コードクローンに着目したソフトウェア保守支援ツールの設計と実装
- コードクローンに着目したソフトウェア保守支援ツールの設計と実装
- 1ZK-1 レガシーソフトウェア保守プロセスにおける開発者によるコードクローン認識についての観察(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- UMLモデルを対象としたリファクタリング候補検出の試み
- ソフトウェアタグを用いた設計文書メトリクスからの低品質モジュールの予測
- 複数手法の併用によるデザインパターン検出結果の改善
- 1ZK-2 ソフトウェア開発プロセスにおける定量的管理計画の立案・共有支援システム(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- エンピリカルデータを対象としたマイクロプロセス分析
- コードクローン検索による類似不具合検出の実証的評価(ソフトウェア工学)
- シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための欠陥検出手法
- シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための欠陥検出手法
- シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための欠陥検出手法
- コードの生存期間を考慮したコードクローンと欠陥修正の関係調査
- 同時変更が生じた Template Method パターンの適用事例の調査
- 識別子の共起関係に基づく類似コード検索法の提案と欠陥検出への適用
- LK_015 産官学連携における参加者の興味についての対応分析(K分野:ヒューマンコミュニケーション&インタラクション)
- ソースコードコーパスを利用したシームレスな再利用支援 (ソフトウェアサイエンス)
- 凝集度によるコード片の機能別分類手法 (ソフトウェアサイエンス)
- ソフトウェアタグの運用を支援する開発履歴可視化ツール
- Webサービスアプリケーションのソフトウェアメトリクスに関する考察(セッション7)
- 異なる連携方式を用いたWebサービスアプリケーションの開発および評価(セッション7)
- Webサービスアプリケーションのソフトウェアメトリクスに関する考察(セッション7)
- 異なる連携方式を用いたWebサービスアプリケーションの開発および評価(セッション7)
- API呼出しを用いた動的バースマーク(ソフトウェア基礎,プログラム理論)
- APIの使用に伴うコードクローンの特徴分析(ソースコード分析と可視化)
- APIの使用に伴うコードクローンの特徴分析(ソースコード分析と可視化)
- APIライブラリ名隠ぺいのための動的名前解決を用いた名前難読化(ソフトウェア基礎,プログラム理論)
- Javaクラスファイルからプログラム指紋を抽出する方法の提案
- Javaクラスファイルからプログラム指紋を抽出する方法の提案
- 類義語の特定に基づく類似コード片検索法
- コードレビュー指摘密度を用いたソフトウェア欠陥密度予測
- 4M-2 バースマークを用いたソフトウェア拡張開発での流用度合いの測定(リーディングプロジェクト e-society:高信頼ソフトウェア・WebWare開発支援システム,一般セッション,リーディングプロジェクト e-society)
- AQUAMarine:定量的管理計画立案システム
- サービス指向アーキテクチャを用いたホームネットワークシステムの設計と評価尺度(セッション12)
- サービス指向アーキテクチャを用いたホームネットワークシステムの設計と評価尺度(セッション12)
- 位置と速度を利用した移動体向け認証方式の提案(FMC,モバイルネットワーク,情報家電ネットワーク及び一般)
- Fault-Proneモジュール予測へのコードクローン情報の適用(研究速報)
- コードクローンの特徴に基づくメソッド引き上げリファクタリングパターンの提案
- 類似メソッドの集約のための差分抽出支援
- コードクローン検出技術の展開 (特集 ソフトウェア工学)
- D-13-3 ソフトウェア開発の要件変更・追加がコストに及ぼす影響の分析支援(D-13.知能ソフトウェア工学,一般セッション)
- コードクローンに対する変更の一貫性と欠陥発生との関連性に関する分析
- ソースコードコーパスを利用したシームレスな再利用支援
- 1ZK-4 コードクローン検出に基づくデザインパターン適用支援(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- コードクローン間の依存関係に基づくリファクタリング支援(ソフトウェアテスト技法・保守技術,インタラクション技術の原理と応用)
- 産学連携に基づいたコードクローン可視化手法の改良と実装(情報システム開発,産学連携論文)
- 凝集度によるコード片の機能別分類手法
- ロボットをアシスタントとして利用する教育支援システムの研究 (平成22年度特定課題研究成果報告)
- ソースコードコーパスを利用したシームレスなソースコード再利用手法
- コードクローンを対象としたリファクタリング
- 凝集度メトリクスCOBを用いたTemplate Methodパターン適用候補の順位付け手法
- 凝集度メトリクスCOBを用いたTemplate Methodパターン適用候補の順位付け手法
- 第34回ソフトウェア工学国際会議ICSE2012参加報告
- コードクローン検出技術の展開
- ロボットアシスタントを用いた教育支援システムの開発とプログラミング初学者のコーディング傾向の分析
- 時空間情報と動作に基づく認証方法
- トピック抽出に基づく開発者の活動に着目したリポジトリ可視化手法
- プログラム実行履歴を用いたコードクローン検出手法
- ウィンターワークショップ2012・イン・琵琶湖開催報告
- ソフトウェアプロセスのモデリングとそれに基づく管理手法
- D-3-3 メンタルシミュレーションモデルを利用した動的名前解決難読化手法の読みにくさ評価(D-3.ソフトウェアサイエンス,一般セッション)
- 差分を含む類似メソッドの集約支援ツール
- コードクローン変更管理システムの開発と実プロジェクトへの適用
- プログラミング演習における初学者を対象としたコーディング傾向の分析
- 近傍ハッシュ法を用いた2段階のクラスタリングに基づくNear-missクローンの検出
- ロボットアシスタントを用いた教育支援システムの開発とプログラミング初学者のコーディング傾向の分析
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法(学生及び若手(パラレルセッション:実装))
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法(学生及び若手(パラレルセッション:実装))
- ウィンターワークショップ2012・イン・琵琶湖開催報告(報告,ソフトウェアサイエンス、理論)
- トピック抽出に基づく開発者の活動に着目したリポジトリ可視化手法(行動・データ解析,ソフトウェアサイエンス、理論)
- プログラム実行履歴を用いたコードクローン検出手法(行動・データ解析,ソフトウェアサイエンス、理論)
- D-3-3 PlayStation Vitaアプリケーションに対する電子透かし法の実装(D-3, ソフトウェアサイエンス)