Explorable Discrete Mathematics: a Python-based undergraduate-level teaching approach

Discrete Mathematics is a foundational yet demanding introductory subject for Computer Science curricula, where undergraduate students typically have difficulties grasping its concepts and applications. In this work, we describe our teaching approach, using a programming language in tandem with math notation, inviting students to explore and learn its main concepts. Our goal is to build intuition through experimentation: first, evaluating expressions and running code snippets, then linking the programming constructs to mathematical notation, and finally, formalizing the underlying theory. For this, we detail our methodology and course design covering four major topics: set theory, counting, combinatorics, and propositional logic, presented as a continuous progression. Compared to the traditional teaching of Discrete Mathematics, we have quantitatively measured an increase in grades and a reduction of students dropping out of classes while perceiving an overall smooth learning curve.

Authors

Institutions

Publication Details

Published
2024-11-04
DOI
https://doi.org/10.5753/sbie.2024.242630
Citations
1
Primary Topic
Computational Physics and Python Applications
Type
article
Field-Weighted Citation Impact
0.35
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Explorable Discrete Mathematics: a Python-based undergraduate-level teaching approach

Claus Haetinger, Marcelo de Gomensoro Malheiros
1 citations
Computational Physics and Python Applications
0.35
article

Explorable Discrete Mathematics: a Python-based undergraduate-level teaching approach

Claus Haetinger, Marcelo de Gomensoro Malheiros
article en
1 citations

Abstract

Discrete Mathematics is a foundational yet demanding introductory subject for Computer Science curricula, where undergraduate students typically have difficulties grasping its concepts and applications. In this work, we describe our teaching approach, using a programming language in tandem with math notation, inviting students to explore and learn its main concepts. Our goal is to build intuition through experimentation: first, evaluating expressions and running code snippets, then linking the programming constructs to mathematical notation, and finally, formalizing the underlying theory. For this, we detail our methodology and course design covering four major topics: set theory, counting, combinatorics, and propositional logic, presented as a continuous progression. Compared to the traditional teaching of Discrete Mathematics, we have quantitatively measured an increase in grades and a reduction of students dropping out of classes while perceiving an overall smooth learning curve.

Universidade Federal do Rio Grande (BR), Universidade Federal de Pelotas (BR), University of Rio Grande and Rio Grande Community College (US)
Openalex Percentile: Top 31%
Computational Physics and Python Applications
0.35
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Explorable Discrete Mathematics: a Python-based undergraduate-level teaching approach — Claus Haetinger, Marcelo de Gomensoro Malheiros · (2024) | TGRS Research Map | TGRS