CSc 245 (Introduction to Discrete Structures) Syllabus
Spring 2008


[Catalog] == [Personnel] == [Resources] == [Outline] == [Dishonesty] == [Grades] == [Class Policies] == [University Policies] == [Caveat]


General Catalog Information:

Description: An introduction to mathematical concepts for Computer Science. Topics include first-order logic and logical arguments, proof techniques with an emphasis on mathematical induction, sets, relations and functions, properties of integers, counting methods, probability, and recurrences. Weekly laboratory.
Lecture: Mondays, Wednesdays, and Fridays, 2:00 p.m. - 2:50 p.m., CHVEZ 110.
Recitations: Here are the section times and locations:
Section Time Location SL
1 & 2H Tuesdays, 11:00 - 11:50 a.m. Gould-Simpson 942 Jude Nelson
3 & 4H --- --- ---
5 & 6H Tuesdays, 2:00 - 2:50 p.m. Gould-Simpson 942 Robert Stout
7 & 8H --- --- ---
9 & 10H Wednesdays, 9:00 - 9:50 a.m. Gould-Simpson 942 Joseph Thomas
11 & 12H Wednesdays, 10:00 - 10:50 a.m. Gould-Simpson 942 Susan Evans
Honors students (those enrolled in the "H" sections) also attend a additional 4:00 p.m. - 4:50 p.m. meeting every Monday in G-S 805.
See the Personnel section, below, for section leader contact info.
Each recitation section is lead by an undergraduate section leader (SL). We require attendance at the weekly section meetings to give you the opportunity to work on more examples that tie in with the lecture topics, to allow you to ask questions about things you saw in recent lectures that you didn't fully understand, and to allow us to offer clarifications on homework and programming exercises. Other things will happen in section, too, such as returning and reviewing homework assignments.
Prerequisite(s): Math 110 (College Algebra), Math 111 (Plane Trigonometry), and a grade of B or better in either CSc 127B (Intro. to CS, 2nd Semester) or CSc 227 (Program Design and Development).
In particular, you are expected to know and be able to apply the basics of algebra and trigonometry, and how to write Java programs that include basic data structures (arrays, linked lists, and binary trees)
Credits: 4
Final Exam: Friday, May 9, 2008, 2:00 p.m. - 4:00 p.m. The final is required, is comprehensive, and will be given on this date at this time. Make your travel plans accordingly.

Class Personnel:

Name Office Email Phone Fax Office Hours
Instructor Lester I. McCann, Ph.D. G-S 809 mccannl@acm.org 621-3498 621-4246 T 2-4pm; W 3:30-4:30pm; F 3-4pm
SL Jude Nelson G-S 737 jnelson@cs.arizona.edu ----- 621-4246 R 3-4pm; F 12-1pm
SL Robert Stout G-S 737 robert@cs.arizona.edu ----- 621-4246 R 11:30am - 12:30pm, 2-3pm
SL Joe Thomas G-S 737 jthomas@cs.arizona.edu ----- 621-4246 R 4-5pm; F 10-11am
SL Susan Evans G-S 737 susan@cs.arizona.edu ----- 621-4246 R 1-2pm; F 1-1:50pm

Each of the SLs has successfully completed this class (or its equivalent) and is paid by the Department of Computer Science to help me help you learn the material. In addition to leading a section (or two) each week, they grade homeworks and quizzes, do the bulk of grading on the exams, let me know what topics seem to be especially baffling to the students, and even hold office hours in their offices or our Commons room (G-S 737). I expect that you'll find your section leader to be a valuable resource.

Please keep in that that it is possible to meet with each us outside of office hours. Contact us to make an appointment.

Information Resources:

Homepage: http://www.cs.arizona.edu/classes/cs245/spring08/
Textbook: Discrete Mathematics and its Applications (Rosen), 6th ed., McGraw-Hill, 2007, is the required text. Its corresponding web site is also worth a look.

You may find other books to be useful purchases. A more complete collection of solutions to the odd-numbered end-of-chapter exercises is available in the form of the Student Solutions Guide (Rosen), McGraw-Hill, 2007. Some students find How To Prove It 2/e (Velleman), Cambridge, 2006, to be helpful with learning how to construct proofs.

Course Objectives and Expected Learning Outcomes:

Topics and Subtopics Sections In Text Sample Learning Objectives
1. Mathematical Review
a. Associative, Commutative, and Distributive Laws Lecture • Correctly apply to given operators and domains
b. Fractions Lecture • Know how to algebraically manipulate fractions
c. Congruences and the Modulo Operator 3.4, Lecture • Understand the relationship between them
d. Exponents and Logarithms Lecture • Knowledge of and ability to use basic identities
e. Factoring Quadratics and the Quadratic Formula Lecture • Be able to factor quadratic polynomials
• Use the quadratic formula to solve quadratic equations
f. Laws of Inequalities Lecture • Be able to correctly merge inequalities
g. Summation and Product Notation 2.4, Lecture • Evaluate summations and products of sequences
h. Number Systems 3.6, Lecture • Work with and convert between number systems
2. Logic
a. Background Lecture • Distinguish mathematical and philosophical logic
b. Propositions 1.1 • Identify propositions in natural language
• Use logical operators to construct compound propositions
• Evaluate propositions
c. Conditional Propositions 1.1 • Construct inverses, converses, and contrapositions
• Translate to and from conversational English
d. Application of Equivalences 1.2 • Simplify expressions via application of equivalences
3. Quantification
a. Predicates 1.3 • Distinguish predicates from propositions
b. Universal Quantification 1.3, 1.4 • Convert U.Q. between logic and English
c. Existential Quantification 1.3, 1.4 • Convert E.Q. between logic and English
d. Evaluating Quantified Expressions 1.3, 1.4 • Determine the veracity of such expressions
e. "Exactly n" Expressions 1.4, Lecture • Convert such expressions to and from logic notation
4. Arguments
a. Arguments Lecture • Distinguish inductive and deductive reasoning
1.5, Lecture • Distinguish valid and sound arguments
b. Rules of Inference 1.5 • Know the basic rules of inference
• Use the rules of inference to construct valid arguments
• Recognize common fallacious arguments
5. Proofs of "p implies q"
a. Background 1.6 • Know the purpose of proofs
b. Direct Proofs 1.6, 1.7 • Read and construct such proofs
• Recognize Proof by Cases as a form of direct proof
• Distinguish good proofs from bad
c. Proof by Contraposition 1.6 • Read and construct such proofs
d. Proof by Contradiction 1.6 • Read and construct such proofs
e. Disproving Conjectures 1.7, Lecture • Show how to demonstrate that a conjecture is false
6. Sets
a. Properties 2.1, 2.2 • Know the basic characteristics of sets
b. Set Operators 2.1, 2.2 • Demonstrate knowledge of set operator behavior
• Use set identities appropriately
c. Set Cardinality 2.4, Lecture • Know the definition
7. Matrices
a. Scalar and Matrix Products 3.8 • Demonstrate ability to compute both types
b. Miscellaneous 3.8, Lecture • Know basic matrix properties and relevant applications
8. Relations
a. Binary Relations 8.1 • Know how they are distinguished from other types
b. Properties 8.1, 8.5, 8.6 • Identify reflexive, symmetric, antisymmetric, and transitive relations
• Identify partial and total orders, and equivalence relations
c. Representations 8.3 • Be able to work with linear and matrix forms
9. Functions
a. Definitions 2.3 • Know the basic properties
b. Types 2.3 • Identify injective, surjective, and bijective functions
10. Integers
a. Prime Numbers 3.5 • Learn the Fundamental Theorem of Arithmetic
b. GCD and LCM 3.5 • Define them and their properties
11. Sequences and Strings
a. Sequences 2.4 • Know the basic terminology and properties
• Understand the connection with summation notation
b. Strings 2.4, Lecture • Know the basic terminology and properties
c. Countability 2.4 • Distinguish countable, countably infinite, and uncountable
12. Mathematical Induction
a. Principle of Mathematical Induction 4.1 • Understand why induction works
b. Weak and Strong Induction 4.1, 4.2, Lecture • Understand the distinction
• Construct and understand such proofs
13. Counting
a. Pigeonhole Principle 5.2 • Appreciate its utility
b. Product and Sum Rules 5.1, 7.5 • Recognize when each applies
• Generalize to Principle of Inclusion-Exclusion
c. Permutations 5.3, 5.5, 5.6 • Know that order matters
• Generalize to counting with indistinguishable objects
d. Combinations 5.3 - 5.6 • Distinguish from permutations
• Generalize to counting with indistinguishable objects
• Learn connection to (and applications of) binomial coefficients
14. Recursive Algorithms
a. Properties of Algorithms 3.1 • Know the characteristics of a complete algorithm
b. Recursive Algorithms 4.3, 4.4 • Review components of such algorithms
c. Structural Induction 4.3, 4.4 • Proving correctness of recursive algorithms
15. Recurrence Relations
a. Definition 7.1 • Connect recurrence relations to recursive algorithms
b. Solving Recurrence Relations 7.2, Lecture • Solutions for Linear Homogeneous RRs
• Solutions via 'Find the Pattern'
• Approximate solutions with the Master Theorem
16. Finite Probability
a. Basics 6.1 • Learn terminology and notation
b. Conditional Probability 6.2 • Learn relationship to event independence
c. Probabilistic Reasoning 6.1, Lecture • Recognize connection to logical arguments

Topics may be added, removed, or reordered as time and circumstances dictate.

Academic Dishonesty (i.e., Cheating):

See Also: • The Department of Computer Science Course Policy on Collaboration: http://www.cs.arizona.edu/policies/collaboration.html
• The University of Arizona Code of Academic Integrity: http://dos.web.arizona.edu/uapolicies/cai1.html
• The Arizona Board of Regents list of Prohibited Conduct: http://www.abor.asu.edu/1_the_regents/policymanual/chap5/chapter_v.htm#5-303
• The Arizona Board of Regents Student Code of Conduct: http://www.abor.asu.edu/1_the_regents/policymanual/chap5/chapter_v.htm#5-308

Most, if not all, assignments in this class will be individual assignments, to be worked on outside of class. All individual work assigned to you in this class is to be completed only by you. It is not acceptable for you to `borrow' (a.k.a. steal, copy, coerce, etc.) solutions or parts of solutions from other people or have other people write part or all of your solutions for you. However, it IS acceptable (and encouraged!) for students to help one another understand the assignment requirements and to help one another track down logic errors in exercises. In short, do your own work, but feel free to discuss difficulties with each other. Of course, you may always ask me or a SL for help, but don't expect that we'll just hand you solutions; we'll make you work for them.

The class policy on cheating is simple: If we determine that your work was turned in by another student, or we determine that you turned in the work of another person or persons, all students involved will receive at minimum a zero on that entire assignment. Additional sanctions are possible should additional information come to light. The CS department exchanges information about academic integrity violations with the office of the Dean of Students. If you have a history of violations, the penalty is likely to be much worse than just a zero on the assignment. Multiple violations in this class will result in a failing course grade at minimum. We take academic dishonesty very seriously, as you should be able to tell; we expect you to take it just as seriously.

If you are not familiar with them, please take the time to read the references linked above. Ignorance of the policies is not an acceptable excuse for their violation. For your convenience, here is the section of the University's Code of Academic Integrity entitled "Prohibited Conduct":

Conduct prohibited by the Code consists of all forms of academic dishonesty, including, but not limited to: cheating, fabrication, facilitating academic dishonesty, and plagiarism as set out and defined in the Code of Conduct, ABOR Policy 5-308-E.10 and F.1; submitting an item of academic work that has previously been submitted without fair citation of the original work or authorization by the faculty member supervising the work; modifying any academic work to obtain additional credit in the same class unless approved in advance by the faculty member; failure to observe rules of academic integrity established by a faculty member for a particular course; and attempting to commit an act prohibited by this Code. Any attempt to commit an act prohibited by these rules shall be subject to sanctions to the same extent as completed acts.

The bottom line: Do your own work. If you have any doubts, please come talk to me -- before you do anything you might regret.

Grades and Grading:

Miscellaneous Class Policies:

Miscellaneous University Policies:

Caveat:

The above schedules, policies, and procedures are subject to change. Whenever possible, changes will be announced to the class before the on-line version of this document is altered.