Introduction to Functional Classes in CS1
- URL: http://arxiv.org/abs/2207.12700v1
- Date: Tue, 26 Jul 2022 07:45:20 GMT
- Title: Introduction to Functional Classes in CS1
- Authors: Marco T. Moraz\'an (Seton Hall University)
- Abstract summary: Students rarely connect first-class functions to objects and object-oriented program design.
This article describes how students are introduced to objects within the setting of a design-based introduction to programming that uses a functional language.
- Score: 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Students introduced to programming using a design-based approach and a
functional programming language become familiar with first-class functions.
They rarely, however, connect first-class functions to objects and
object-oriented program design. This is a missed opportunity because students
inevitably go on to courses using an object-oriented programming language. This
article describes how students are introduced to objects within the setting of
a design-based introduction to programming that uses a functional language. The
methodology exposes students to interfaces, classes, objects, and polymorphic
dispatch. Initial student feedback suggests that students benefit from the
approach.
Related papers
- On Fun for Teaching Large Programming Courses [7.3206797589112265]
Teaching software development basics to hundreds of students in a frontal setting is cost-efficient.<n>In a large lecture hall, students can easily get bored, distracted, and disengaged.<n>We present a novel catalogue of ten physical fun activities, developed over years to reflect on basic programming and software development concepts.
arXiv Detail & Related papers (2026-01-14T19:58:24Z) - Teaching Programming in the Age of Generative AI: Insights from Literature, Pedagogical Proposals, and Student Perspectives [0.0]
This article aims to review the most relevant studies on how programming content should be taught, learned, and assessed.<n>It proposes enriching teaching and learning methodologies by focusing on code comprehension and execution.<n>It advocates for the use of visual representations of code and visual simulations of its execution as effective tools for teaching, learning, and assessing programming.
arXiv Detail & Related papers (2025-06-30T17:38:27Z) - "Set It Up!": Functional Object Arrangement with Compositional Generative Models [64.77941735876452]
We introduce a framework, SetItUp, for learning to interpret under-specified instructions.<n>We validate our framework on a dataset comprising study desks, dining tables, and coffee tables.
arXiv Detail & Related papers (2024-05-20T10:06:33Z) - The Framework of a Design Process Language [0.0]
The thesis develops a view of design in a concept formation framework.
It outlines a language to describe both the object of the design and the process of designing.
arXiv Detail & Related papers (2024-04-21T17:20:19Z) - Exploring the Potential of Large Language Models to Generate Formative
Programming Feedback [0.5371337604556311]
We explore the potential of large language models (LLMs) for computing educators and learners.
To achieve these goals, we used students' programming sequences from a dataset gathered within a CS1 course as input for ChatGPT.
Results show that ChatGPT performs reasonably well for some of the introductory programming tasks and student errors.
However, educators should provide guidance on how to use the provided feedback, as it can contain misleading information for novices.
arXiv Detail & Related papers (2023-08-31T15:22:11Z) - Comparative Analysis of Widely use Object-Oriented Languages [0.0]
Learning of object-oriented paradigm is compulsory in every computer science major.
It is difficult to choose which should be the first programming language in order to teach object-oriented principles.
arXiv Detail & Related papers (2023-06-02T12:28:13Z) - Object-Oriented Requirements: a Unified Framework for Specifications,
Scenarios and Tests [63.37657467996478]
Article shows that the concept of class is general enough to describe not only "objects" in a narrow sense but also scenarios such as use cases and user stories.
Having a single framework opens the way to requirements that enjoy the benefits of both approaches.
arXiv Detail & Related papers (2022-09-06T02:47:20Z) - Design of Classes I [0.0]
This article presents how the first steps of this transition have been successfully implemented at Seton Hall University.
The transition is made smooth by explicitly showing students that the design lessons they have internalized are relevant in object-oriented programming.
Empirical evidence collected from students in the course suggests that the approach developed is effective and that the transition is smooth.
arXiv Detail & Related papers (2022-07-26T07:44:24Z) - Identifying concept libraries from language about object structure [56.83719358616503]
We leverage natural language descriptions for a diverse set of 2K procedurally generated objects to identify the parts people use.
We formalize our problem as search over a space of program libraries that contain different part concepts.
By combining naturalistic language at scale with structured program representations, we discover a fundamental information-theoretic tradeoff governing the part concepts people name.
arXiv Detail & Related papers (2022-05-11T17:49:25Z) - Learning 6-DoF Object Poses to Grasp Category-level Objects by Language
Instructions [74.63313641583602]
This paper studies the task of any objects grasping from the known categories by free-form language instructions.
We bring these disciplines together on this open challenge, which is essential to human-robot interaction.
We propose a language-guided 6-DoF category-level object localization model to achieve robotic grasping by comprehending human intention.
arXiv Detail & Related papers (2022-05-09T04:25:14Z) - ProTo: Program-Guided Transformer for Program-Guided Tasks [59.34258016795216]
We formulate program-guided tasks which require learning to execute a given program on the observed task specification.
We propose the Program-guided Transformer (ProTo), which integrates both semantic and structural guidance of a program.
ProTo executes a program in a learned latent space and enjoys stronger representation ability than previous neural-symbolic approaches.
arXiv Detail & Related papers (2021-10-02T13:46:32Z) - Leveraging Language to Learn Program Abstractions and Search Heuristics [66.28391181268645]
We introduce LAPS (Language for Abstraction and Program Search), a technique for using natural language annotations to guide joint learning of libraries and neurally-guided search models for synthesis.
When integrated into a state-of-the-art library learning system (DreamCoder), LAPS produces higher-quality libraries and improves search efficiency and generalization.
arXiv Detail & Related papers (2021-06-18T15:08:47Z) - Using Video Game Development to Motivate Program Design and Algebra
Among Inner-City High School Students [0.0]
This article presents a novel approach to teaching program design to inner-city high school students.
The approach is based on a design recipe to help students develop the abstractions that lead to functions.
Students are taught how to use high school algebra concepts, like compound functions and function composition, to also design functions.
arXiv Detail & Related papers (2020-08-21T01:22:35Z) - Look-into-Object: Self-supervised Structure Modeling for Object
Recognition [71.68524003173219]
We propose to "look into object" (explicitly yet intrinsically model the object structure) through incorporating self-supervisions.
We show the recognition backbone can be substantially enhanced for more robust representation learning.
Our approach achieves large performance gain on a number of benchmarks, including generic object recognition (ImageNet) and fine-grained object recognition tasks (CUB, Cars, Aircraft)
arXiv Detail & Related papers (2020-03-31T12:22:51Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.