Discrete Math with Programming: A Principled Approach

Discrete Math with Programming: A Principled Approach
复制标题

离散数学与编程:一种原则方法

DOI:
10.1145/3408877.3432537
复制
发表时间:
2021
期刊:
Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
影响因子:
--
通讯作者:
Castellana, Matthew
Castellana, Matthew
中科院分区:
--
文献类型:
--
作者:
Liu, Yanhong A.;Castellana, Matthew

文献摘要

参考文献

相似文献

离散数学是计算机科学的基础。它侧重于使用数学符号学习的概念和推理方法。长期以来,人们一直认为,离散数学最好用编程来教授,编程将概念和计算方法转化为可执行程序。一直缺乏的是一种原则性的方法,它支持离散数学的所有核心概念-尤其是谓词逻辑-并且直接且精确地将数学符号与可执行程序联系起来。本文介绍了这样一种方法。它基于一种功能强大的语言的使用,该语言使用适当的逻辑量化(“for all”和“Existes Some”)以及声明性集合理解(也称为集合构建器)和聚合(例如,求和和积)来扩展Python编程语言。数学和逻辑语句可以在高级别上精确表达,并可以直接在计算机上执行,从而鼓励声明性编程和算法编程一起使用。我们描述了这种方法,详细的例子,使用它的经验,以及学到的教训。
Discrete mathematics is the foundation of computer science. It focuses on concepts and reasoning methods that are studied using math notations. It has long been argued that discrete math is better taught with programming, which takes concepts and computing methods and turns them into executable programs. What has been lacking is a principled approach that supports all central concepts of discrete math---especially predicate logic---and that directly and precisely connects math notations with executable programs. This paper introduces such an approach. It is based on the use of a powerful language that extends the Python programming language with proper logic quantification ("for all'' and "exists some''), as well as declarative set comprehension (also known as set builder) and aggregation (e.g., sum and product). Math and logical statements can be expressed precisely at a high level and be executed directly on a computer, encouraging declarative programming together with algorithmic programming. We describe the approach, detailed examples, experience in using it, and the lessons learned.
DOI: 10.26599/tst.2019.9010012
发表时间: 2020
影响因子: 6.6
作者:
Tun Li;Wanwei Liu;Juan Chen;Xiaoguang Mao;Xinjun Mao
通讯作者: Xinjun Mao
计算机专业学生的离散数学:合金的面向编程的方法
DOI: 10.1109/fie.2016.7757641
发表时间: 2016
期刊: 2016 IEEE Frontiers in Education Conference (FIE)
影响因子: --
作者:
Leo C. Ureel;C. Wallace
通讯作者: C. Wallace
使用 LINK 改进离散数学和算法课程
DOI: 10.1145/268819.268827
发表时间: 1997
期刊: Proceedings of the 42nd ACM technical symposium on Computer science education
影响因子: --
作者:
Jonathan W. Berry
通讯作者: Jonathan W. Berry
用于离散结构、逻辑和可计算性的声明性实验室方法
DOI: 10.1145/165408.165414
发表时间: 1993
期刊: ACM SIGCSE Bull.
影响因子: --
作者:
James Hein
通讯作者: James Hein
DOI: 10.1145/800010.808079
发表时间: 1973
期刊: ACM Inroads
影响因子: --
作者:
G. Engel;N. Jones
通讯作者: N. Jones