CIS 260 Mathematical Foundations of Computer Science.

Slides:



Advertisements
Similar presentations
How to Succeed in Mathematics WOU Mathematics Department
Advertisements

TEST-TAKING STRATEGIES FOR THE OHIO ACHIEVEMENT READING ASSESSMENT
Great Theoretical Ideas in Computer Science.
1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Intro to CIT 594
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Proof Points Key ideas when proving mathematical ideas.
Bits of Wisdom on Solving Problems, Writing Proofs, and Enjoying the Pain: How to Succeed in This Class Acknowledgement: the original author for some of.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
MATH 330: Ordinary Differential Equations Fall 2014.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
Ch 1.4 – Equations & Inequalities
Presented by: Louise Robichaux
Algebra 1 Ch 4.2 – Graphing Linear Equations. Objective Students will graph linear equations using a table. Students will graph linear equations using.
COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
Test Preparation Strategies
A Telephone Operator.
Exam Strategies for Essay Exams
Get the most information out of the time you have available.
Problem Solving: Where does the “aha!” come from? Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2004 Lecture 13Feb 24, 2004Carnegie.
Discrete Mathematics for Computer Science. Bits of Wisdom on Solving Problems, Writing Proofs, and Enjoying the Pain: How to Succeed in This Class.
Please open Daily Quiz 34. A scientific calculator may be used on this quiz. You can keep your yellow formula sheets out when you take the quiz. Remember.
MAT 331 Mathematical solving problem with computers.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
COMP Introduction to Programming Yi Hong May 13, 2015.
Great Theoretical Ideas in Computer Science.
MGS 351 Introduction to Management Information Systems
Prof. Matthew Hertz SH 1029F /
MATH 224 – Discrete Mathematics
Prof. Matthew Hertz WTC 207D /
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 4 (Part 3): Mathematical Reasoning, Induction.
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
Exam Taking Kinds of Tests and Test Taking Strategies.
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Computer Programming TCP1224 Chapter 3 Completing the Problem-Solving Process and Getting Started with C++
Teaching Mathematical, Computer, and Statistical Sciences Ryan Isaac Harris ……….…………….… Jason Vermette.
Test Taking Tips Test Prep  Preparation for your first test should begin on the first day of class; this includes paying attention.
Great Theoretical Ideas in Computer Science.
1 Put your name if you want your attendance credit. Please put your as well. CSC 320 is done at 11:30 so I did NOT fill in the box for 11:30 for.
This is going to be awesome Baby! Great, I am so excited!
CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
MAT 3730 Complex Variables Spring 2012
Current Assignments Homework 2 is available and is due in three days (June 19th). Project 1 due in 6 days (June 23 rd ) Write a binomial root solver using.
COMPSCI 102 Introduction to Discrete Mathematics.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
Basic Study Skills Get the most information out of the time you have available. This workforce solution was partially financed through a $12,695,959 grant.
Welcome to PHY2049 Physics for Engineers and Scientists II Dr. Bindell.
1/10/ Math/CSE 1019N: Discrete Mathematics for Computer Science Winter 2007 Suprakash Datta Office: CSEB 3043 Phone:
Great Theoretical Ideas in Computer Science.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Algebra – Solving Systems of Linear Inequalities Objective: Students will solve systems of linear inequalities by graphing.
How to Successfully Prepare for Your EXAMS on Twitter and at
Project. Research Project Due: – Project report due Monday midnight Delayed a bit due to popular demand Can accept an even higher delay (Tuesday at noon)
MGS 351 Introduction to Management Information Systems Lecture #1.
Welcome to Astronomy 113 “ It would seem that you have no useful skill or talent whatsoever, he said.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
© 2015 albert-learning.com How to talk to your boss How to talk to your boss!!
Great Theoretical Ideas in Computer Science.
Research Experience Program (REP) Fall 2007 Psychology 100 Ψ.
MATH & SCIENCE.  Pre-Algebra  Elementary algebra  Intermediate algebra  Coordinate geometry  Plane geometry  Trigonometry.
WELCOME TO MANAGERIAL ECONOMICS MT 445 Discussion of Syllabus and Expectations in the Class.
Welcome to Introduction to Psychology! Let’s share a bit about where we are all from…
Welcome to MT140 Introduction to Management Unit 1 Seminar – Introduction to Management.
CMSC201 Computer Science I for Majors Lecture 05 – Comparison Operators and Boolean (Logical) Operators Prof. Katherine Gibson Prof. Jeremy.
MATH/COMP 340: Numerical Analysis I
Introduction to Discrete Mathematics
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Presentation transcript:

CIS 260 Mathematical Foundations of Computer Science

Course Staff Instructor Ani Nenkova Levine 505 TAs Joy Xu Gaoxiang (Gary) Hu Shilpi Bose

Lectures and recitations Lectures TT 1:30—3:00 Recitations on Fridays 12—1(Moore 212) Joy 1—2 (Towne 305) Gary 2—3 (Towne 305) Shilpi For both lectures and recitations, regular attendance is expected. Necessary in order to insure you keep up with the class

Cancelled recitation sections Please note: If you are still signed up for section 203 or 204, you would have to choose another section. These two have been cancelled! No recitations tomorrow (Jan 16)

Office hours Monday 4:30—6 Joy Friday 2—3 Gary Friday 3—4 Shilpi –Locations to be determined by next week Ani: Wed 10am—11am in Levine 505

Website and bulletin board Will be up by early next week Use the bulletin board! If you have problems with understanding the wording of homework problems, it is likely others in the class will have the exact same question. Post to the board. DO NOT send partial solutions!

Grades 10 HW assignments: 20% of the grade 2 exams: 25% of the grade Final: 30% of the grade Extra credit for class and recitations participation will be assigned and used to decide the grade when your scores fall in between grade “bins”

Late policy All homeworks have to be submitted before the end of class the day they are due No late homeworks will be accepted! You can submit early if for some reason you cannot make it to class that day

Midterms Midetrm 1: Feb 19 Midterm 2: Mar 26 If there are any holidays or other days that need to taken into account when setting due dates, you should let me know by the END OF NEXT WEEK

Collaboration + Cheating You may NOT share written work You may NOT use Google, or solutions to previous years’ homework You MUST write the names of people you discussed the homework with

Textbook Discrete Mathematics and Its Applications, Kenneth H. Rosen, sixth edition

((( ))) Feel free to ask questions

Bits of Wisdom on Solving Problems, Writing Proofs, and Succeeding in This Class

Do not panic Make sure you understand what you are being asked Make sure that you understand and remember definitions (the smallest building blocks of all we do in this class)

Exemplification: Try out a problem or solution on small examples. Look for the patterns.

A volunteer, please

Relax I am just going to ask you a Microsoft interview question

Four guys want to cross a bridge that can only hold two people at one time. It is pitch dark and they only have one flashlight, so people must cross either alone or in pairs (bringing the flashlight). Their walking speeds allow them to cross in 1, 2, 5, and 10 minutes, respectively. Is it possible for them to all cross in 17 minutes?

Get The Problem Right! Given any context you should double check that you read/heard it correctly! You should be able to repeat the problem back to the source and have them agree that you understand the issue

Four guys want to cross a bridge that can only hold two people at one time. It is pitch dark and they only have one flashlight, so people must cross either alone or in pairs (bringing the flashlight). Their walking speeds allow them to cross in 1, 2, 5, and 10 minutes, respectively. Is it possible for them to all cross in 17 minutes?

Intuitive, But False “ = 19, so the four guys just can’t cross in 17 minutes” “Even if the fastest guy is the one to shuttle the others back and forth – you use at least > 17 minutes”

Vocabulary Self-Proofing As you talk to yourself, make sure to tag assertions with phrases that denote degrees of conviction

Keep track of what you actually know – remember what you merely suspect “ = 19, so it would be weird if the four guys could cross in 17 minutes” “even if we use the fastest guy to shuttle the others, they take too long.”

If it is possible, there must be more than one guy doing the return trips: it must be that someone gets deposited on one side and comes back for the return trip later!

Let’s try another one Pairs of primes separated by a single number are called prime pairs. Examples are 17 and 19. Prove that the number between a prime pair is always divisible by 6 (assuming both numbers in the pair are greater than 6). Now prove that there are no 'prime triples.'

How did we think about the solution? Possible answer: “I am smart and I thought about it”. Truth: “Practice! Have seen many other similar problems”.

In this course you will have to write a lot of proofs!

Think of Yourself as a (Logical) Lawyer Your arguments should have no holes, because the opposing lawyer will expose them

ProverVerifier Statement 1 Statement 2 Statement n … There is no sound reason to go from Statament 1 to Statement 2

Verifier The verifier is very thorough, (he can catch all your mistakes), but he will not supply missing details of a proof A valid complaint on his part is: I don’t understand The verifier is similar to a computer running a program that you wrote!

Undefined term Syntax error Writing Proofs Is A Lot Like Writing Programs You have to write the correct sequence of statements to satisfy the verifier Infinite Loop Output is not quite what was needed Errors than can occur with a program and with a proof!

Good code is well-commented and written in a way that is easy for other humans (and yourself) to understand Similarly, good proofs should be easy to understand. Although the formal proof does not require certain explanatory sentences (e.g., “the idea of this proof is basically X”), good proofs usually do

The proof verifier will not accept a proof unless every step is justified! Writing Proofs is Even Harder than Writing Programs It’s as if a compiler required your programs to have every line commented (using a special syntax) as to why you wrote that line

ProverVerifier A successful mathematician plays both roles in their head when writing a proof

Prove techniques you should avoid

Proof by Throwing in the Kitchen Sink (Mental Dump) The author writes down every theorem or result known to mankind and then adds a few more just for good measure When questioned later, the author correctly observes that the proof contains all the key facts needed to actually prove the result Very popular strategy on exams Believed to result in partial credit with sufficient whining. To avoid this, 10% of the question points will be given for a simple “I don’t know”.

Proof by Throwing in the Kitchen Sink The author writes down every theorem or result known to mankind and then adds a few more just for good measure When questioned later, the author correctly observes that the proof contains all the key facts needed to actually prove the result Very popular strategy on 251 exams Believed to result in extra credit with sufficient whining Like writing a program with functions that do almost everything you’d ever want to do (e.g. sorting integers, calculating derivatives), which in the end simply prints “hello world”

Proof by Example The author gives only the case n = 2 and suggests that it contains most of the ideas of the general proof. Like writing a program that only works for a few inputs

Proof by Cumbersome Notation Best done with access to at least four alphabets and special symbols. Helps to speak several foreign languages. Like writing a program that’s really hard to read because the variable names are confusing

Proof by Lengthiness An issue or two of a journal devoted to your proof is useful. Like writing 10,000 lines of code to simply print “hello world”

Proof by Switcharoo Concluding that p is true when both p  q and q are true If (PRINT “X is prime”) { PRIME(X); } Makes as much sense as:

Proof by “It is Clear That…” “It is clear that the worst case is this:” Like a program that calls a function that you never wrote

Proof by Assuming The Result Assume X is true Therefore, X is true! … RECURSIVE(X) {: return RECURSIVE(X); } Like a program with this code:

Not Covering All Cases Usual mistake in inductive proofs: A proof is given for N = 1 (base case), and another proof is given that, for any N > 2, if it is true for N, then it is true for N+1 RECURSIVE(X) { if (X > 2) { return 2*RECURSIVE(X-1); } if (X = 1) { return 1; } } Like a program with this function:

Incorrectly Using “By Definition” “By definition, { a n b n | n > 0 } is not a regular language” Like a program that assumes a procedure does something other than what it actually does

Here’s What You Need to Know… Solving Problems Always try small examples! Use enough paper Writing Proofs Writing proofs is sort of like writing programs, except every step in a proof has to be justified Be careful; search for your own errors