論文の概要: Teaching Program Decomposition in CS1: A Conceptual Framework for Improved Code Quality
- arxiv url: http://arxiv.org/abs/2411.09463v2
- Date: Sun, 17 Nov 2024 20:40:10 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-19 14:35:00.106214
- Title: Teaching Program Decomposition in CS1: A Conceptual Framework for Improved Code Quality
- Title(参考訳): CS1におけるプログラム分解教育:コード品質向上のための概念的フレームワーク
- Authors: Georgiana Haldeman, Judah Robbins Bernal, Alec Wydra, Paul Denny,
- Abstract要約: 私たちは、確立されたコードスタイルの原則に基づく概念的なフレームワークを提示することで、これらの質問に答えることを目指しています。
この体系的なアプローチは自動化可能であり、ビジュアライザ、自動フィードバックジェネレータ、デジタルチューターを実装するためにさらに使用できる。
- 参考スコア(独自算出の注目度): 1.7503816087616142
- License:
- Abstract: Program decomposition is essential for developing maintainable and efficient software, yet it remains a challenging skill to teach and learn in introductory programming courses. What does program decomposition for procedural CS1 programs entail? How can CS1 students improve the decomposition of their programs? What scaffolded exercises can instructors use to teach program decomposition skills? We aim to answer all these questions by presenting a conceptual framework that (1) is grounded in the established code style principles, (2) provides a systematic approach that can be taught to students as an actionable strategy to improve the program decomposition of their programs, and (3) includes scaffolded exercises to be used in classroom activities. In addition, this systematic approach is automatable and can further be used to implement visualizers, automated feedback generators and digital tutors.
- Abstract(参考訳): プログラムの分解は、保守的で効率的なソフトウェアを開発するのに不可欠ですが、入門プログラミングコースで教え、学ぶのが難しいスキルです。
手続き型CS1プログラムのプログラム分解には何が必要か?
CS1の学生はどのようにプログラムの分解を改善することができるのか?
プログラム分解スキルを教えるために、インストラクターはどんな足場のあるエクササイズを使えるのか?
本研究では,(1)確立されたコードスタイルの原則を基礎とした概念的枠組み,(2)プログラムのプログラム分解を改善するための実践可能な戦略として学生に教えられる体系的アプローチ,(3)授業活動で使用する足場付き演習などを提示することによって,これらの課題に対処することを目的とする。
さらに、この体系的なアプローチは自動化可能であり、ビジュアライザ、自動フィードバックジェネレータ、デジタルチューターを実装するためにさらに使用できる。
関連論文リスト
- Personalized Programming Guidance based on Deep Programming Learning Style Capturing [9.152344993023503]
プログラミング学習スタイルを用いたプログラミング・エクササイズ・レコメンダ(PERS)という新しいモデルを提案する。
PERSは学習者の複雑なプログラミング行動をシミュレートする。
プログラミング学習スタイルをモデル化する合理性を検証するために,実世界の2つのデータセットについて広範な実験を行った。
論文 参考訳(メタデータ) (2024-02-20T10:38:38Z) - Exploring Programming Task Creation of Primary School Teachers in
Training [14.355436881937193]
不十分なサンプルコードは学習に悪影響を及ぼし、学生は悪いプログラミング習慣や誤解を採用するかもしれない。
この問題を回避するため、自動プログラム解析ツールはタスク作成プロセスの足場構築を支援する可能性がある。
例えば、静的プログラム分析ツールは、良質なコードパターンと悪質なコードパターンの両方を自動的に検出し、コードを改善するヒントを提供する。
論文 参考訳(メタデータ) (2023-06-24T07:26:24Z) - Hierarchical Programmatic Reinforcement Learning via Learning to Compose
Programs [58.94569213396991]
プログラムポリシーを作成するための階層型プログラム強化学習フレームワークを提案する。
提案するフレームワークは,プログラム作成の学習を通じて,アウト・オブ・ディストリビュータの複雑な動作を記述するプログラムポリシーを作成することができる。
Karel ドメインの実験結果から,提案するフレームワークがベースラインより優れていることが示された。
論文 参考訳(メタデータ) (2023-01-30T14:50:46Z) - Giving Feedback on Interactive Student Programs with Meta-Exploration [74.5597783609281]
ウェブサイトやゲームのようなインタラクティブなソフトウェアを開発することは、特にコンピュータ科学を学ぶための魅力的な方法である。
標準的アプローチでは、インストラクターは、学生が実装した対話型プログラムを手動で評価する必要がある。
Code.orgのような何百万ものオンラインプラットフォームは、インタラクティブなプログラムを実装するための代入に関するフィードバックを提供することができない。
論文 参考訳(メタデータ) (2022-11-16T10:00:23Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z) - ProTo: Program-Guided Transformer for Program-Guided Tasks [59.34258016795216]
我々は,学習者が与えられたタスク仕様に基づいて所定のプログラムを実行することを要求されるプログラム誘導タスクを定式化する。
本稿では,プログラムの意味的ガイダンスと構造的ガイダンスを統合したProTo(Proto)を提案する。
ProToは学習された潜在空間でプログラムを実行し、従来のニューラルシンボリックアプローチよりも強力な表現能力を持っている。
論文 参考訳(メタデータ) (2021-10-02T13:46:32Z) - Learning to Synthesize Programs as Interpretable and Generalizable
Policies [25.258598215642067]
本稿では,プログラムの合成を学習するフレームワークについて述べる。
実験の結果,提案フレームワークは,タスク解決プログラムを確実に合成するだけでなく,DRLやプログラム合成ベースラインよりも優れていることがわかった。
論文 参考訳(メタデータ) (2021-08-31T07:03:06Z) - How could Neural Networks understand Programs? [67.4217527949013]
ソースコードにnlpプリトレーニング技術を直接適用するか、あるいはtheshelfによってモデルに機能を追加するかで、プログラムをより理解するためのモデルを構築するのは難しい。
本研究では,(1)操作セマンティクスの基本操作とよく一致する表現と(2)環境遷移の情報からなる情報から,モデルが学ぶべき新しいプログラムセマンティクス学習パラダイムを提案する。
論文 参考訳(メタデータ) (2021-05-10T12:21:42Z) - Automating Program Structure Classification [6.215059642140581]
本稿では,教師付き機械学習手法が,学生プログラムを所定の高次構造に分類する方法について述べる。
108のプログラムでトレーニングすると、これらのモデルが91%の分類精度を達成できることを実証する。
論文 参考訳(メタデータ) (2021-01-15T21:24:37Z) - Learning Compositional Neural Programs for Continuous Control [62.80551956557359]
スパース逆連続制御問題に対する新しい解法を提案する。
我々のソリューションはAlphaNPI-Xと呼ばれ、学習の3つの段階を含む。
我々はAlphaNPI-Xがスパース操作の課題に効果的に取り組むことを実証的に示す。
論文 参考訳(メタデータ) (2020-07-27T08:27:14Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。