Maggie Johnson                                                                                                                                  Handout #1

CS103A                                 

                                                                                                               

CS103A Syllabus & Information

 

 

Instructor:                 Maggie Johnson

                                    Email: johnson@cs

                                  Office Phone: 723-9798

                                  Office Hours: Monday, 2-5 in Gates 188

 

                                Please send all questions to cs103a@hotmail.com.  Be sure to monitor the

                                newsgroup frequently: su.class.cs103.

 

CS103A - Discrete Mathematics        

 

CS103A is the first of a two-quarter sequence (CS103B is next quarter).  Both courses together constitute an in-depth course in discrete mathematics.  This is the area of mathematics that deals with the study of discrete objects, where “discrete” means distinct or unconnected.  Discrete math is used, for example, whenever objects are counted, when relationships between finite sets are studied, and when processes involving a finite number of steps are analyzed.  This area of math has become increasingly important because information is stored and manipulated in a computer in a discrete fashion.

 

Discrete math provides the mathematical foundations for many computer science courses including data structures and algorithms, compilers, automata theory and formal languages, operating systems, database theory, to name a few.  You will find these courses much more difficult if you attempt them without the foundations of discrete math.

 

Our goal in this course is to build skills and give you experience in the following areas:

 

1.        Mathematical Reasoning:  The ability to construct a sound logical argument is essential for computer scientists, not only because proofs are important in certain areas of computer science, but also because the same basic thought process is used in constructing a proof and in writing a program.

2.        Combinatorial Analysis:  An important problem solving skill is the ability to count or enumerate objects.  It pops up surprisingly often in computer science applications.

3.        Discrete Structures:  These are the abstract mathematical structures used to represent discrete objects and relationships between those objects.  Discrete structures include sets, permutations, relations, trees, graphs and finite-state machines.  These structures form the conceptual basis for many of the data structures that we use as programmers.

4.        Algorithmic Thinking:  Certain classes of problems are solved by the specification of an algorithm that can be implemented in a program.  The mathematical portions of this activity (which will interest us most) include the specification of the algorithm, the verification that it works properly, and the analysis of the computer memory and time required to perform it.

5.        Applications and Modeling:  Discrete math has applications to almost every conceivable area of study including (of course) computer science, chemistry, botany, zoology, linguistics, geography, business, etc.  Modeling with discrete math is an extremely important problem-solving skill.

 

In summary, our primary tasks in this course are to develop your proving, problem-solving and algorithmic skills, and to use discrete structures as abstract models for use in solving problems and developing algorithms.

 

 

 

 

Pre-Requisites

 

There is no pre-requisite for this course but the student is assumed to have some experience with programming.

 

Lectures

 

                MWF, 10 a.m. in 420-040.

  

Sections

  

There will be a weekly section where you can meet with a TA for an hour in small groups. The primary purposes are to review material from the lectures and/or to work problems that exercise your understanding.  Participation in sections is not required, but can be very helpful especially if the material is new to you.  Section time and location will be announced the first week of the quarter.

 

“Working” Office Hours

 

Each week, one of our TA’s will hold office hours in a classroom where you can come and work on problems from a problem set or the textbook.  The TA will be available to answer questions when needed.  The purpose of this is to provide students with additional options for obtaining assistance besides section, and one-on-one office hours.

 

 

Problem Sets & Exams

 

There will be weekly problem sets that will not be graded.  We will provide solutions to these problem sets so you may check your own work.  It is essential that you work through all the problems on the problem sets - you will not pass the exams without doing so.  We prefer that you do your own work on problem sets since you will be on your own when you take the exams.

 

The reason for this class structure is we want you to obtain feedback on your solutions as soon as possible after you have done the problem.  It's been our experience that this feedback is essential in building strong skills.  If your solution differs from our solution, we are providing many opportunities (section, office hours, the help line) for you to contact us with your questions.  It is your responsibility to stay on track.  It will simply not be possible to do all the problems on the problem sets right before the exam.  The skills that are developed in doing the problem sets are built up gradually.  It cannot be done in one night.

 

There are four exams in CS103A.  The first three are 24-hour take home exams, and the last is an in-class final.  Exams must be taken during the 24-hour period specified in the syllabus, so please plan your time accordingly.

 

 

Grading   

   

    Final grades will be based on the following:

   

                                15%                Exam 1

                                25%                Exam 2

                                25%                Exam 3

                                35%                  Final

 

 

 

 

 

 

Textbook

 

There are two required textbooks that you can purchase in the bookstore.   Additional materials will be provided in class.  If you miss picking these things up in class, you can obtain them from the handout bin in Gates (if any are left over), or from our web page. 

 

There will be regular reading assignments and most of our problem sets will come from the textbooks.  Lecture materials will sometimes cover material in the textbook, but will more often present supplementary materials and additional examples. 

 

Rosen, K., Discrete Math and Its Applications, New York: McGraw-Hill,1999,                 and the Student Solutions Guide.

 

Barwise, J. & Etchemendy, J., Language, Proof and Logic, New York: Seven Bridges Press, 1999.

 

 

How to Succeed

 

The best way to obtain the skills required to succeed in this course is to solve problems - lots and lots of problems.  The textbooks provide many practice problems with detailed solutions given in the Solutions Guide (for Rosen).  The Solutions Guide also has a guide to writing proofs, a list of common mistakes, sample exams, etc.  So the way to succeed in CS103A: come to class where you will see especially important examples and applications, stay on schedule by doing a part of the current problem set each day after class, study the textbook and solutions guide carefully and thoroughly, and come and see us if you need help  (or write to the help line).  Most importantly, if you are feeling confused, frustrated or worried about anything pertaining to the course, let us know.

 

Honor Code

 

You may do problem sets anyway that works best for you.  It's best if you work on the problems yourself since this is the best preparation for the exams.  You may discuss problem set questions with a partner or a study group.  Just remember, you have to be able to do the problems yourself.

 

Exams are to be done individually and must represent original work - it is a violation of the honor code to copy or derive exam question solutions from anyone, from textbooks, or from previous instances of this course. 

 

 

                                                                   CS103A Syllabus

 

Date                                        Topic                                                                     Due

------------------------------------------------------------------------------------------------------------------------

9/27                                                         Introduction

 

9/29                                                         History and Background                                                  

 

10/2                                                         Introduction to Prop Logic                                                                Read BE

pp. 1-10, 19-31,

41-46

 

10/4                                                         Methods of Proof I                                                            Read BE

                                                                                                                                                                pp. 46-65

 

                                               

10/6                                                         Connectives                                                                          Read BE

                                                                                                                                                                pp. 67-86,

93-100                                               

10/9                                                         Logical Consequence                                                        Read BE                                                                                                                                                                 pp. 106-125

 

10/11                                                       Boolean Algebra

 

10/13                                                       Simple Circuits

                                                               

10/16                                                       Methods of Proof II                                                           Read BE

                                                                                                                                                                pp. 127-141

 

Exam 1: distributed noon 10/16, due noon 10/17

 

10/18                                                       Proof Strategies                                                                              Read BE

                                                                                                                                                                pp. 167-173

 

10/20                                                       Conditionals                                                                         Read BE

                                                                                                                                                                pp. 176-190

                                                                                                                                               

10/23                                                       Quantification I                                                                   Read BE

                                                                                                                                                                pp. 227-251

 

10/25                                                       Logic of Quantifiers                                                            Read BE

                                                                                                                                                                pp. 257-283

 

10/27                                                       Multiple Quantifiers                                                            Read BE

                                                                                                                                                                pp. 289-307

 

10/30                                                       Proofs with Quantifiers I                                                 Read BE

                                                                                                                                                                pp. 319-338

 

11/1                                                         Proofs with Quantifiers II                                                                Read BE

                                                                                                                                                                pp. 342-36

 

                                                                Exam 2: distributed 11/2, due noon 11/3

 

11/3                                                         No Class

 

11/6                                                         Resolution

 

11/8                                                         Proving Real Theorems I                                                   Read Rosen

                                                                                                                                                                pp. 167-181                         

11/10                                                       Proving Real Theorems II 

                                                               

11/13                                                       Sequences and Summations                                          Read Rosen

                                                                                                                                                                pp. 69-76

 

11/15                                                       Induction I                                                                           Read Rosen

                                                                                                                                                                pp. 186-199

 

11/17                                                       Induction II                                                                         

 

 

11/20                                                       Program Proofs

 

Exam 3: distributed 11/20, due noon 11/21

 

11/22                                                       Recursive Definitions                                                         Read Rosen

                                                                                                                                                                pp. 202-209

 

11/27                                                       Recursive Algorithms                                                         Read Rosen

                                                                                                                                                                pp. 214-218                                                                         

11/29                                                       Combinatorics I

 

12/1                                                         Combinatorics II

 

12/4                                                         Functions                                                                              Read Rosen

                                                                                                                                                                pp. 56-67

 

12/6                                                         Review

 

Final:  Dec. 15, 8:30 a.m.

 

 

 

 


 

 

I. Basic Tools

 

                0. Background and History                                                                  

                B. Logic and Proof              

                C. Boolean Algebra                                                                                 

                D. Induction                                                                                                              

                E. Combinatorics     

                F. Recursion

                G. Functions                                                                                             

                H. Analysis of Algorithms                                                                

                                1. Big-O

                                2. Recurrence Relations

                                3. Analysis of Non-Recursive & Recursive Programs

 

II.  Discrete Structures

 

                A. Sets                                                                                                  

               1. Concepts and Definitions

                                2. Infinite Sets & Countability

                B. Relations                                                                                             

                                1. Concepts and Definitions

                                2. Relational Database Theory

                C. Linear Structures                                                                                     

                                1. Concepts and Definitions

                                2. Applications

                D. Trees                                                                                                 

                                1. Concepts and Definitions

                                2. Structural Induction

                                3. Applications

                E. Graphs                                                                                                

                                1. Concepts and Definitions

                                2. Paths and Circuits

                                3. Shortest Path Algorithms

                                4. Applications

 

III. Introduction to Theory

 

                A. Regular Expressions                                                                                   

                B. Finite Automata                                                                                       

                C. Context Free Grammars      

                D. Pushdown Automata

                E. Turing Machines

                F. Undecidable Problems