論文の概要: Functional Python Programming in Introductory Computer Science Courses
- arxiv url: http://arxiv.org/abs/2512.03492v1
- Date: Wed, 03 Dec 2025 06:39:08 GMT
- ステータス: 情報取得中
- システム内更新日: 2025-12-04 12:05:45.017529
- Title: Functional Python Programming in Introductory Computer Science Courses
- Title(参考訳): コンピュータサイエンス入門講座における関数型Pythonプログラミング
- Authors: Rajshekhar Sunderraman,
- Abstract要約: 我々は、Pythonの純粋に機能的なサブセットで、学生にプログラミングの課題を学習し、完成させることを強制する入門プログラミングクラスにおいて、ベストプラクティスのアイデアを提示する。
そうすることで、学生は不変性、副作用のない純粋関数、ステートレスプログラミングといった機能的アイデアを学ぶことができる。
- 参考スコア(独自算出の注目度): 1.8139737455709233
- License:
- Abstract: The functional programming paradigm has a long and storied history, with its beginnings in the Lambda Calculus. In recent decades, pure functional languages such as Haskell have been shown to be highly effective in producing robust software due to immutable data structures, among other functional features. The advantages of programming with immutable data structures can also be had in non-functional languages such as Python. Over the years, non-functional languages have introduced immutable data structures as well as comprehension and lambda expressions, and it is possible to program in a purely functional style in them. In this paper, we present a ``best practice'' idea in introductory programming classes that forces students to learn and complete programming assignments in a purely functional subset of Python. By doing so, the student can learn functional ideas such as immutability, pure functions with no side effects, and stateless programming. We define a functional subset of Python and illustrate the best practice using small examples. We strongly feel that students in computing need familiarity with pure functional programming and argue that this can be taught in introductory programming courses that use Python.
- Abstract(参考訳): 関数型プログラミングパラダイムは、Lambda Calculusで始まった長い歴史を持つ。
近年、Haskellのような純粋関数型言語は、不変データ構造などの機能的特徴から、堅牢なソフトウェアを作成するのに非常に効果的であることが示されている。
イミュータブルなデータ構造を持つプログラミングの利点は、Pythonのような非関数型言語でも利用できる。
長年にわたり、非関数型言語は不変データ構造や理解、ラムダ式を導入してきた。
本稿では,Pythonの純粋に機能的なサブセットでプログラミングの課題を学習し,完遂するよう学生に強制するプログラミング授業において,'best practice'という概念を提示する。
そうすることで、学生は不変性、副作用のない純粋関数、ステートレスプログラミングといった機能的アイデアを学ぶことができる。
我々はPythonの機能的なサブセットを定義し、小さな例を使ってベストプラクティスを説明します。
コンピュータの学生は純粋関数型プログラミングに精通する必要があると強く感じており、Pythonを使う入門プログラミングコースで教えることができると論じている。
関連論文リスト
- Automated Python Translation [27.835184325945164]
我々は、Pythonの自然なモダリティを他の人間の言語に自動的に翻訳するタスクを紹介します。
これはこれらの形式の短縮性を考えると、ユニークな挑戦である。
我々は、Pythonを他のヒューマン言語に翻訳する自動パイプラインを作成します。
論文 参考訳(メタデータ) (2025-04-15T15:30:22Z) - Investigating the Performance of Language Models for Completing Code in Functional Programming Languages: a Haskell Case Study [2.792812922172466]
関数型プログラミング言語Haskell上で、コードのための2つの言語モデル、CodeGPTとUniXcoderを評価した。
HuggingFace上で公開されているHaskellデータセットから得られたHaskell関数のモデルを微調整し、評価する。
我々の自動評価では, LLMの事前学習における命令型プログラミング言語の知識は, 関数型言語にうまく移行しない可能性が示唆された。
論文 参考訳(メタデータ) (2024-03-22T13:13:13Z) - Automatic Generation of Python Programs Using Context-Free Grammars [0.1227734309612871]
TinyPy Generatorは、文脈自由文法を使ってランダムなPythonプログラムを生成するツールである。
私たちのシステムは、さまざまなレベルの複雑さを持つコードを生成するために、カスタムプロダクションルールを使用します。
TinyPy Generatorは機械学習の分野で有用であり、Python言語モデルをトレーニングするための大量のPythonコードを生成することができる。
論文 参考訳(メタデータ) (2024-03-11T08:25:52Z) - The Calysto Scheme Project [0.0]
Calysto SchemeはScheme in Continuation-Passing Styleで書かれている。
一連の正当性保存プログラム変換を通じてPythonに変換される。
コール/ccを含む標準のScheme機能をサポートしている。
論文 参考訳(メタデータ) (2023-10-16T23:41:21Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
本研究では,数学・記号的推論,自然言語理解,後続の課題に対処するための統合フレームワークとして,自然言語組み込みプログラム(NLEP)を提案する。
我々のアプローチは,構造化知識の自然言語表現を含むデータ構造上の関数を定義する完全なPythonプログラムを生成するよう,言語モデルに促す。
Pythonインタープリタが生成されたコードを実行し、出力をプリントする。
論文 参考訳(メタデータ) (2023-09-19T17:54:21Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - AVATAR: A Parallel Corpus for Java-Python Program Translation [77.86173793901139]
プログラム翻訳とは、ある言語から別の言語へソースコードを移行することを指す。
AVATARは9,515のプログラミング問題とそのソリューションをJavaとPythonという2つの人気のある言語で記述したものです。
論文 参考訳(メタデータ) (2021-08-26T05:44:20Z) - Extending Python for Quantum-Classical Computing via Quantum
Just-in-Time Compilation [78.8942067357231]
Pythonは、その柔軟性、ユーザビリティ、可読性、開発者の生産性を重視することで有名な人気のあるプログラミング言語です。
量子ジャスト・イン・タイム・コンパイルのための堅牢なC++インフラストラクチャを通じて、異種量子古典計算を可能にするPythonの言語拡張を提案する。
論文 参考訳(メタデータ) (2021-05-10T21:11:21Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。