Innovative Teaching Practices for Discrete Structures
1. Some Innovative Practices in Teaching Discrete
Structures/Discrete Mathematics and Data
Structures to CSE -UG Students
Presented by
Vikas Saxena, JIIT, Noida
2. Lets start with the Curriculum Guidelines for Undergraduate
Degree Programs in Computer Science (December, 2013) by
a Joint Task Force on Computing Curricula (ACM) & IEEE
Computer Society, to know what is happening in other parts
of the globe.
3. In Union County College: Name: Discrete Mathematics (42 hr.)
Components: Set ,relation, function, Basic logic, Proof tech.,
basic counting, Graph & trees, Discrete Probability (Nearly
same distribution of contact hr.)
With following LO:
• Demonstrate critical thinking, analytical reasoning, and
problem solving skills
• Apply appropriate mathematical and statistical concepts and
operations to interpret data and to solve problems
• Identify a problem and analyze it in terms of its significant
parts and the information needed to solve it
• Formulate and evaluate possible solutions to problems, and
select and defend the chosen solutions
• Construct graphs and charts, interpret them, and draw
appropriate conclusions
4. In the Stanford University : Probability Theory for
Computer Scientists
Out of 42, 30 Lectures for DM ( Others are
Intelligent system, Algo Complexity, NP etc, TM)
In Carnegie Mellon University : Principles of
Programming Languages,
Programming Languages:20 hr., Discrete
Structures DS: 12, Operating Systems: 7, Parallel
and Distributed Computing : 5, Algorithms and
Complexity :5
5. Portland Community College : Discrete Structures- I,
• Introduction to the Peano Axioms and construction of the natural numbers, integer numbers,
rational
numbers, and real numbers, Construction and basic properties of monoids, groups, rings, fields,
and vector spaces.
• Introduction to transfinite ordinals and transfinite cardinals, and Cantor’s diagonalization
methods
• Representation of large finite natural numbers using Knuth’s “arrow notation”
• Introduction to first order propositional logic, logical equivalence, valid and invalid arguments
• Introduction to digital circuits
• Introduction to first order monadic predicate logic, universal and existential quantification,
and predicate
Arguments, Elementary number theory, prime factors, Euclid’s algorithm
• Finite arithmetic, Galois Fields, and RSA encryption
• Proof techniques, including direct and indirect proofs, proving universal statements, proving
existential
statements, proof forms, common errors in proofs, Sequences, definite and indefinite series,
recursive sequences and series, Developing and validating closed-form solutions for series
• Well ordering and mathematical induction
• Introduction to proving algorithm correctness
• Second order linear homogeneous recurrence relations with constant coefficients, General
recursive definitions and structural induction, Introduction to classical (Cantor) set theory,
Russell’s Paradox, introduction to axiomatic set theory
• Set-theoretic proofs, Boolean algebras,
• Halting Problem
6. Discrete Structures II,
• Set-based theory of functions, Boolean functions
• Injection, surjection, bijection
• Function composition
• Function cardinality and computability
• General set relations
• Equivalence relations
• Total and partial orderings
• Basic counting techniques: multiplication rule, addition rule, Dirichlet’s Box Principle
• Combinations and permutations
• Pascal’s Formula and the Binomial Theorem
• Kolmogorov Axioms and expected value
• Markov processes
• Conditional probability and Bayes’ Theorem
• Classical graph theory: Euler and Hamilton circuits
• Introduction to spectral graph theory, isomorphisms
• Trees, weighted graphs, spanning trees
• Algorithm analysis
• Formal languages
• Regular expressions
• Finite-state automata
7. Common Issues:
>The CS community has paid a great attention
to Discrete Mathematics over the past several
decades.
>There have been many suggestions for
improving this course, it seems us that the real
purpose of Discrete Mathematics remains
illusive.
> objective of this course is to prepare students
for rigorous mathematical arguments for their
future studies in computer science.
8. Many institutes let the Math department teach the
DM course but gradually many CS departments
are trying to claim the course. There is no
convincing evidence to believe which department
can do a better job. Whenever CS faculty
members complain about the outcomes of the
course taught by the Math department, the Math
department is willing to adjust the contents of
the course for CS's needs. It has been also
observed that the Math department is too willing
to comply to CS's requests and make the course
too computing or programming like.
9. SIGCSE 2008 , “ Discrete Mathematics as A
Transitional Course”,
Let A and B be any two sets. Prove that,
• Most of the students proved the above by giving
some examples or using Venn diagrams. Students
fail to show the understanding of “if and only if“,
the ability to generate abstract concepts, and the
ability to construct mathematical arguments.
10. Even if it is taught but not well taken by the
students:
A common wisdom suggests that, we should
connect the topics in DM to the real-world CS
problems in such a way that students may be
motivated to learn the topics.
Many times motivation is dominated by frustration,
not merely due to a disconnection of the coverage
in DM from the real-world applications. Compared
to DM, Calculus may be even less useful in a
programming cantered IT career, but students are
more willing to learn Calculus.
11. Secondly, given the time constraints, it is not
feasible to introduce any applications in depth
unless the applications are trivial.
But trivial applications apparently are not
compelling and students may become even
more sceptical about the significance of this
course. In our opinion, students should pick
up serious applications in their subsequent
study;
12. More Programming (???? Better???)
• Many students consider that to test A B for any sets A and B is
computable if we are given infinite memory to hold A and B because
one can easily write a program to do the job; the only problem in the
real world, students think, is that we don't have infinite memory.
• This is wrong. A Turing Machines has infinite memory but it can't test A
B in general for a different reason. Author believe, a programming-
alike DM course may have enforced this misconception, among others.
• “As CS researchers and educators, we certainly do not oppose
programming. We oppose the idea of using programming in the DM
course. We rather want students' to use the same amount of time to
exercise theorem proving and logical deduction with paper and pencil.”
13. • Proposed Solution:
– DS1: Functions, Relations, and Sets
– DS2: Basic Logic
– DS3: Proof Techniques
– DS4: Basic Counting
– DS5: Graphs and Trees
– DS6: Discrete Probability
Topics in DS4, DS5, and DS6 should be covered in
depth when they become necessary in other
advanced courses with direct applications.
14. Author stressed :
Discrete Mathematics is an intermediate course
to provide necessary mathematical skills for
students to transit to more advanced studies.
• That the DM course should be taken in the
first semester right after students get into the
CS program. ( not after DS or in parallel with
DS, Algo)
15. https://www.math.nmsu.edu/hist_projects/
Teaching Discrete Mathematics via Primary Historical Sources , New Mexico
State University
To exemplify the historical approach, what better way to see induction in
action than to read from Blaise Pascal's (1623--1662) `` Treatise on the
Arithmetical Triangle'' , in which Pascal notices a pattern in the ratio
between consecutive entries in the same base of his triangle (Pascal's
Twelfth Consequence), and then claims that the pattern holds in every
base of the triangle, since if it holds in a given base, then it persists to the
next base.
It would be a wonderful exercise for students to read Pascal's original
statement, explore its truth with a few concrete numerical values, and
then grapple with the logic behind what today is known as induction
16.
17. The students (and teachers) witness first hand the genesis
of abstract concepts, and with a bit of historical
background, realize that Pascal was motivated by
solving actual problems of his day, such as computing
the odds in a game of chance, or finding the
summation of powers, with the eventual goal of
computing area under curves.
Another advantage to reading Pascal's original work is
that the ratios between consecutive entries that he
derives lead to the modern formula for binomial
coefficients, a formula which is often announced today
without exploration of its historical origin.
18. By contrast, modern textbooks often give an
abstract logical formulation of induction first,
and then, as homework, simply ask the
students to verify statements the (textbook)
author already knows to be true, such as the
sum of i2 from
i = 1 to n is (1/3)n3 + (1/2)n2 + (1/6)n,
without mentioning why or how anyone
discovered or originally proved this formula.
19. Another one: students were asked to read Archimedes'
verbal statement of the sum of squares :
“If a series of any number of lines be given, which exceed one another by an equal amount, and
the difference be equal to the least, and if other lines be given equal in number to these, and
in quantity to the greatest, the squares on the lines equal to the greatest, plus the square on
the greatest and the rectangle contained by the least and the sum of all those exceeding one
another by an equal amount will be the triplicate of all the squares on the lines exceeding one
another by an equal amount.”
The project then asked the students to rewrite the statement using symbolic logic. Such an
exercise meshes well with a first chapter on logic in many discrete mathematics texts,
which often include homework problems such as ``Write the statement `If it is cold and
raining, then I will stay home' in symbols, using the predicates, P: It is cold, Q: It is
raining, R: I will stay home.'' A particular drawback of modern textbooks is their lack of
motivation, perspective and context. Why not apply symbolic logic to the very
statements which historically drove the development of mathematics, allowing the
students to hone their verbal and deductive skills on significant problems?
20. • They took von Neumann's 1945 white paper ``First
Draft of a Report on the EDVAC'‘ (Electronic Discrete
Variable Automatic Computer )
And did a project Binary Arithmetic: From Leibniz to von
Neumann''
• Alan Turing's original paper ``On Computable Numbers
with an Application to the Entscheidungs problem
• Hilbert's decision problem
• The Universal Computing Machine'‘
• Bernoulli's (1654--1705) original work on summations
• + a long list
21. Needless to mention the responses ( as they
presented in the papers) by the learner and
trainers were amazing and courses were
received successfully with lots of positive
comments.
23. Computing Education Blog, Mark Guzdial, professor in the
School of Interactive Computing at Georgia Institute of
Technology. researcher in computing education
?? Why we teach how linked lists are made, and how
memory representations work, March 2011. ??
One of the ongoing battles in CS Education is whether or not to teach
how data structures are built
we teach the implementation to inform the use Vs we should focus
on how to use them well.
Based on interviews with Computer Science educators and analysis of “CS
literature, we identified five categories of intent: developing transferable
thinking, improving students’ programming skills, knowing “what’s under
the hood”, knowledge of software libraries, and component thinking”
24. Some Innovative Practices used in Teaching Data
Structures:
A) “Teaching Algorithms and Data Structures
through Graphics” by Andrew T. Duchow
skiand Timothy A. Davis in 2007.
Represent depth, contour, Plane ( Heap, Binary
three)
Texture mapping: primes, and other algorithm
25. B) Application of Blended Learning in Data
Structures and Algorithms Course Teaching,
Xiaojing Liu, Xiaoying Wang, Rui Wang, 2013:
26.
27.
28. • C) TEACHING WITH GAMES: THE
MINESWEEPER AND ASTEROIDS EXPERIENCE
by Katrin Becker, University of Calgary, Canada
The value of games as a vehicle for teaching
concepts while inspiring students is now well
accepted at almost all levels of education.
Chess, Board game
29. D) Experiences Teaching Data Structures With
Java by Mark Allen Weiss, School of Computer
Science Florida International University,
SIGCSE 97
30.
31. • Java does not have pointers. In reality, except for a built-in type, an object
name is a reference, and thus is actually a pointer + some other reasons so:
• Java Wins
Authors suggested : ( if we uses C++ and ADA)
• Although Java simplifies C++ in this regard, professors can simplify C++
themselves with the following strategy:
• Use only String and Vector
• Do not use delete at all
• Do not use initializer lists or const at all
• Do not implement copy constructors or operator=.
32. •A motivated student is more likely to be a successful learner. Interesting
assignments encourage student learning by actively engaging them in the material.
•Competitive programming motivates student learning by allowing students to
evaluate and improve their programs throughout an assignment by competing
their code against instructor-defined code and the code of other students in a
tournament environment.
•Pedagogical results indicate that the combination of game development and
friendly student competition is a significant motivator for increased student
performance
E)
33. F) The Teaching of Data Structures Course for
Computer Specialty by Yanqin Zhu
Observation: Students are often afraid of the
difficulties and this causes the result of passive
study
So, Author developed multimedia coursewares and
designed a dynamic demonstration software to
help students understand complicated
procedures of algorithms easily.
34. Author Developed 3 kinds of projects ( And allocated to targeted audience)
Testing project
requires students test algorithm efficiency and feasibility based on the pre-existing
algorithm, such as minimal spanning tree with Prim algorithm.
Designing project
requires students propose algorithm and implement it in certain date structures, such as
detecting if there is a circle in a directed graph, graph traversals for visiting every
sighting (node) in a park (graph).
Comprehensive project
covers more comprehensive course materials and more focuses on combined application
of algorithms and data structures. With the appropriate design of these three kinds of
projects, students are trained for strong application skills, innovation capabilities, and
comprehensive abilities.
• Result: Along with so many positivity: more than 30 students got the awards in all kinds
of national or provincial programming competitions. (School of Computer Science and
Technology, Soochow University, China)
35. References:
C. Li et.al. ; “Discrete Mathematics as A Transitional Course”, ACM- SIGCSE 2008, in ideas, Volume -3 No 40.
David G. et.al. ; A New Approach to Teaching Discrete Mathematics”, Report pp 1-26, NSF grant CDA-9214957,
2001, Problems, Resources, and Issues in Mathematics Undergraduate Studies, 5(2), 113-138.
Guram B. et.al.” Teaching Discrete Mathematics via Primary Historical Sources”, Report on Teaching by New
Mexico State University, 2014
Blog: https://computinged.wordpress.com/
A.T.D. skiand et.al.; “Teaching Algorithm sand Data Structures through Graphics” EUROGRAPHICS 2007, pp. 1-8,
education Papers.
X. Liu et.al. ; “Application of Blended Learning in Data Structures and Algorithms Course Teaching”, International
Conference on Education Technology and Information System , pp 1070-1075, 2013
E. C.Vargas et.sl. ; “How to teach data structure design: an incremental approach”, Report pp1-37, FAPESP-Brazil
under Grant No. 99/11835-7, 2000
M.A. Weiss. “Experiences Teaching Data Structures With Java”, Proceedings of the twenty-eighth SIGCSE technical
symposium on Computer science education; Pp164-168 , 1997
K. Becker, TEACHING WITH GAMES: THE MINESWEEPER AND ASTEROIDS EXPERIENCE, pp 23-33, ACM-Journal of
Computing Sciences in Colleges , Vol 17, No-2,2001
Y. Zhu, “The Teaching of Data Structures Course for Computer Specialty, International Conference on Engineering
Education”, 2007
Ramon L.; “Teaching Data Structures using competitive Games”, IEEE Transaction on Education, pp 459-466, Vol
47, No.4, 2004