Discrete Math with Programming: A Principled Approach
Discrete Math with Programming: A Principled Approach
复制标题
离散数学与编程:一种原则方法
DOI:
10.1145/3408877.3432537
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Castellana, Matthew
中科院分区:
文献类型:
--
作者:
Liu, Yanhong A.;Castellana, Matthew
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.
登录
查看更多内容
影响因子:
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
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