The Undergraduate Studies Committee has unanimously supported my initiative to seek a revamp the discrete math course on our campus.
Naturally, this means a straw poll!
So, tell me again, please:
- 1. When do you think a Discrete Math course should be taken by computer science majors at the latest?
- 2. Should all Information Systems (IS, not MIS!) majors take discrete math?
- 3. Should Math Secondary Ed majors take it?
- 4. What topic or topics are absolutely essential in a first course in discrete math?
- 5. What topics did you have in your first discrete math course, if any, that you could have done without?
Edit, 12:45 CDT Tue 02 May 2006:
How it currently is at K-State
Here is our current CS and IS curriculum (now undergoing revision).
- 1. Discrete Mathematics (
MATH 510) is indicated in the fourth semester for Computer Science majors, after Logic for Computer Science (
CIS 310) and Data Structures and Algorithms (
CIS 300). There really isn't much in the way of algorithms in CIS 300 beyond searching and sorting, while CIS 301 is primarily about propositional and first-order logic. There is minimal proof theory in CIS 301: they cover natural deduction and inductive proof, but not with sets, or counting. I don't think they do much with first-order logic, even though the instructors (Huth, Banerjee, Amtoft, Howell) have all been very qualified logicians and theoretical CS reseaerchers.
Because of various anxieties,
MATH 510is often deferred to the fifth, sixth, or even seventh semester. This, IMO, is a disaster. Students sometimes take the first course in discrete math concurrently with courses such as Introduction to Database Systems (
CIS 560), Intro to Artificial Intelligence (
CIS 490/730), etc. It is a prerequisite for Automata, Formal Languages, and Theory of Computation (
CIS 570), but many students defer that until their senior year, and it is not required for the Information System (IS) major. To my knowledge, it is not a prerequisite for Programming Language Fundamentals (
CIS 505). It is not an official prerequisite for Analysis of Algorithms(
CIS 575), the Algos I course, but AFAIK nobody takes that out of order, and that is not required for IS, either.
- 2. IS majors take Finite Applications of Mathematics (
MATH 312), indicated in the second semester. As nearly as I can tell, this course exists to prevent our students from looking like complete ignoramuses should Jay Leno do a "Jaywalking" segment on our campus. In fact, its title is a misnomer: the textbook it uses is titled Finite Mathematics and its Applications. Neither the mathematics nor the applications are finite, though.
If I had my druthers, I would get rid of this course entirely; it's 80% redundant with College Algebra (linear systems of equations, graphing, functions), Calc I (ditto), and the first month of a real Discrete Math course. The "baby linear algebra" covered in the course is a joke; one could stand in the doorway of a linear algebra course and osmote more from the general ambience.
- 3. Secondary math ed majors take Finite Applications of Mathematics (
MATH 312). As I said, I'd like to get rid of the course and have everyone take a streamlined intro to discrete math (say,
MATH 310). I'll bet this would be a boon to HS math students taught by our graduates, too, though I expect that this will be a hard sell with Education.
- 4. I'll post my draft syllabus soon.
- 5. I went on to take Combinatorics (
550.471) and Graph Theory (
550.472) in my senior year at Hopkins, and we had a 100-level DM course, so I'd say "nothing". Here at K-State, though, I would say there are some topics covered that properly belong in a second (elective) course - for example: advanced combinatorics, generating functions, modern algebra, advanced number theory, and advanced graph theory.