comp9020 - lecture 17: course review
TRANSCRIPT
COMP9020Foundations of Computer Science
Lecture 17: Course Review
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
2
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
Topic 0: Number Theory
2
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
Topic 1: Structures
Sets
Relations
Functions
Graph Theory
2
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
Topic 2: Recursion
Recursion
Induction
AlgorithmicAnalysis
2
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
Topic 3: Logic
Boolean Logic
Propositional Logic
2
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
Topic 4: Probability
Combinatorics
Probability
Statistics
2
Course ReviewGoal: for you to become a competent computer scientist.
Requires an understanding of fundamental concepts:
Structures
RecursionProbability
Logic
In CS/CE these are used to:
formalise problemspecifications andrequirements
develop abstract solutions(algorithms)
analyse and proveproperties of yourprograms
2
Outline
Assessment Summary
Examination Philosophy
Content Review
Selection of Sample Questions
3
Assessment Summary
Quizzes: Best 6 out of 10 – (10 marks)Assignments: 3 assignments worth 13.33 marks each – (40 marks)Final exam – (50 marks)
NB
You must achieve 40% on the final exam AND 50% overall to passthe course.
4
Final Exam
Goal: to check whether you are a competent computer scientist.
Requires you to demonstrate:
understanding of mathematical concepts
ability to apply these concepts and explain how they work
Lectures, quizzes and assignments have built you up to this point.
5
Final Exam
Available: Tuesday, 30th November, 13:45 (AEDST)Due: Tuesday, 30th November, 17:00 (AEDST)
Access: Inspera through Moodle
15 Questions, 1-3 parts per question (22 parts in total)
Parts are mostly long-answer questions (e.g.proofs/counterexamples)
Questions equally weighted (parts not necessarily): 12 marksper question = 180 marks in total
Covers all of the contents of this course up to and includingWeek 10.
I will be available (email/forum/zoom) to answer anyquestions, but first point of contact should be exams team
6
MaterialsThe questions are intended to assess your understanding and yourability rather than your knowledge.
Access to passive sources (i.e. existing material) is permitted –should be properly referenced.
Accessing active sources (e.g. collaborating with other students,actively seeking answers through forums/social media, contractcheating, etc) is a breach of the University’s Plagiarism Policy andwill be subject to disciplinary action as outlined in the Studentcode of conduct
Can use the unicode/LATEXeditor on course website;Strongly recommended to have external writing materials for roughworking
NB
Questions are culturally neutral – no concepts other than thosetaught in this course are assumed.
7
Special consideration
Review the UNSW policy on Special Consideration.
UNSW has a “fit-to-sit” policy: by undertaking the assessment youare declaring that you are fit to do so.
If there are any foreseeable issues you must apply before the exam.If circumstances prevent you from applying before the exam, youmust apply as soon as possible (within 3 days).
NB
Supplementary exams are only available to students grantedSpecial Consideration.
8
Technical issues
If you experience technical issues before or during the exam, youshould follow these instructions:
Take screenshots (including time and date) of as many of thefollowing as possible:
error messagesscreen not loadingtimestamped speed testspower outage mapsmessages or information from your internet provider regardingthe issues experienced
Make contact with me immediately (through email, ed, orzoom) and advise me of the issue.
Submit a Special Consideration application immediately at theconclusion of your assessment and upload your screenshots.
9
Revision Strategy
Re-read lecture slides
Read the corresponding chapters in the book (R & W)
Review/solve assignments and quizzes
Review/solve problem sets
Solve more problems from the books
Attempt sample exam
(Applying mathematical concepts to solve problems is a skill thatimproves with practice)
10
Outline
Assessment Summary
Examination Philosophy
Content Review
Selection of Sample Questions
11
Examiner’s comments
The questions are intended to assess your understanding and yourability rather than your knowledge.
Unless specified, any valid proof technique is acceptable.
Partial marks are always available for incomplete answers.
12
How hard is it?
A common question is how will the exam compare toassignment/quiz/practice questions?
The exam situation is significantly different to assignments.
You have less time for the exam, so on the face of it questionsmay appear harder (even if this is not the case).
I am aware of the reduced timeframe, so exam marking willlikely be more forgiving than assignment marking.
Assignments had a wide range of difficulty.
Answer
Assignment questions (and practice questions) are indicative of thequestions likely to appear on the exam.
13
Assessment
Assessment is about determining how well you understand thesyllabus of this course.
If you can’t demonstrate your understanding, you don’t pass.
In particular, I can’t pass people just because ...
please, please, ... my family/friends will be ashamed of me
please, please, ... I tried really hard in this course
please, please, ... I’ll be excluded if I fail COMP9020
please, please, ... this is my final course to graduate
etc. etc. etc.
(Failure is a fact of life. For example, my scientific papers or project
proposals get rejected sometimes too)
14
Assessment (cont’d)
Of course, assessment isn’t a “one-way street” ...
I get to assess you in the final exam
you get to assess me in UNSW’s MyExperience Evaluation
go to https://myexperience.unsw.edu.au/
login using [email protected] and your zPass
Please fill it out ...
give me some feedback on how you might like the course torun in the future
even if that is “Exactly the same. It was perfect this time.”
15
Outline
Assessment Summary
Examination Philosophy
Content Review
Selection of Sample Questions
16
Week 1 Recap
Proof strategies
Number theory
Floor b·c and ceiling d·e functionsAbsolute value | · | functionDivides relation ·|·Greatest common divisor, least common multiplediv, %, =(n)
17
Need to know for this course
How to present proofs
Number theory definitions and notation. Especially:
Divides relationgcd, lcma =(n) b
18
Week 2 Recap
Sets:
Set notation: ∈, ∅, U , ⊆, . . ., [. . .], (. . .)
Set operations: ∩, ∪, c , \, ⊕, Pow(), ×
Defining sets:
Explicitly listing elementsSubsets of a given setConstructed using set operations
Cardinality: |X | = #(X ) = card(X )
Venn diagrams
Laws of set operations
Formal languages:
Symbols, words, languages
Language definitions: Σ∗, length(), concatenation, Kleene star
19
Laws of Set Operations
For all sets A, B, C :Commutativity A ∪ B = B ∪ A
A ∩ B = B ∩ AAssociativity (A ∪ B) ∪ C = A ∪ (B ∪ C )
(A ∩ B) ∩ C = A ∩ (B ∩ C )Distribution A ∪ (B ∩ C ) = (A ∪ B) ∩ (A ∪ C )
A ∩ (B ∪ C ) = (A ∩ B) ∪ (A ∩ C )Identity A ∪ ∅ = A
A ∩ U = AComplementation A ∪ (Ac) = U
A ∩ (Ac) = ∅
20
Other useful set laws
Idempotence A ∩ A = AA ∪ A = A
Double complementation (Ac)c = AAnnihilation A ∩ ∅ = ∅
A ∪ U = Ude Morgan’s Laws (A ∩ B)c = Ac ∪ Bc
(A ∪ B)c = Ac ∩ Bc
Theorem (Principle of Duality)
If you can prove A1 = A2 using the Laws of Set Operations thenyou can prove dual(A1) = dual(A2)
Theorem (Uniqueness of complement)
A ∩ B = ∅ and A ∪ B = U if, and only if, B = Ac .
21
Need to know for this course
How to define sets
Cartesian product
Cardinality computations
Proofs using Laws of Set Operations
How to define languages
22
Week 3 Recap
Relations:
Definitions, n-ary relations
Binary Relations:
Representations: Matrix, graphical, directed graph
Relational image (R(A)), converse relation (R←), inverseimage (R←(B)), relation composition (R;S)
Properties: Fun, Tot, Inj, Sur
Properties: Reflexivity, Antireflexivity, Symmetry,Antisymmetry, Transitivity
Functions: Domain, codomain, image
23
Week 3 Recap
Equivalence Relations:
Generalize equality
Reflexive, Symmetric, Transitive
Equivalence classes, Partitions
Partial Orders:
Generalize ≤Reflexive, Antisymmetric, Transitive
Hasse diagram, minimum vs minimal, glb/lub, lattice
24
Need to know for this course
Relational image, relational composition
Properties of binary relations – examples and non-examples
Equivalence classes
Hasse diagram, glb/lub
25
Week 4 Recap
Partial Orders:
Generalize ≤Reflexive, Antisymmetric, Transitive
Hasse diagram
Minimum/maximum vs minimal/maximal
glb/lub
lattice, complete lattice
total order, topological sort
product/lexicographic/lenlex order
Functions:
Domain, Codomain, Image
Surjective, Injective, Bijective
26
Need to know for this course
Hasse diagram, glb/lub
lattice
topological sort
lexicographic/lenlex order
27
Week 5 Recap
Functions:
Matrices: Add, Scalar multiplication, Matrix multiplication,Transpose
big-O notation: O, Ω, Θ
Graphs:
Formulating problems as graph problems
28
Need to know for this course
Basic matrix definitions and operations
How to compare a variety of functions using big-O
How to present problems as graph problems
29
Week 6 Recap
Graph Theory
Definitions and notation: vertices, edges, paths, cycles,connectedness, isomorphisms
Important graphs: Trees, Complete graphs, complete k-partitegraphs
Graph traversals: DFS/BFS, Eulerian path/circuit,Hamiltonian path/cycle
Graph properties: Chromatic number, Clique number,Planarity
30
Need to know for this course
Graph definitions and important graph classes
How to show/calculate graph properties:
ConnectednessEulerian/Hamiltonian traversalsChromatic numberClique numberPlanarity
Interactions between graph properties
31
Week 7 Recap
Recursion: Defining more complex objects/processes in terms ofsimpler ones
Recursive datatypes: Natural numbers, Words, Expressions,Well-formed formulas
Recursive programming/functions: Factorial, concatenate,length
Recurrence equations
UnrollingApproximating with big-OMaster Theorem
32
Master Theorem
The following result covers many recurrences that arise in practice(e.g. divide-and-conquer algorithms)
Theorem
Suppose
T (n) = a · T(nb
)+ f (n)
where f (n) ∈ Θ(nc(log n)k).
Let d = logb(a). Then:
Case 1: If c < d then T (n) = Θ(nd)
Case 2: If c = d then T (n) = Θ(nc(log n)k+1)
Case 3: If c > d then T (n) = Θ(f (n))
33
Week 7 Recap (continued)
Induction:
Basic induction
Variants of basic induction
Structural induction
Algorithmic Analysis:
Count “cost” (default: running time) of elementaryoperations as a function of (a parameter of) the input
Approximates real-world cost
Using both big-O and worst-case to simplify analysis
Recursive algorithms lead to recurrence equations
34
Week 8 Recap
Boolean logic
2-element Boolean Algebra
Boolean functions
CNF/DNF, canonical DNF
Karnaugh maps, optimal DNF
Propositional logic
Propositions
Tautologies, Contradictions, Contingencies
Logical equivalence
Entailment
35
Need to know for this course
Properties of 2-element Boolean Algebra
How to compute canonical CNF/DNF
How to prove properties of Boolean Algebras
How to prove/disprove logical equivalence and logicalentailment
36
Week 9 Recap
Combinatorics
Basic counting rules: Disjoint sets, Cartesian products
Permutations and Combinations
Balls in boxes
Using recursion to count
Approximate counting
37
Selecting items summary
Selecting k items from a set of n items:
With Order Balls in boxes Formulareplacement matters
Yes Yes Distinguishable balls nk
Multiple balls per box
No Yes Distinguishable balls Π(n, k)At most one ball per box
No No Indistguishable balls(nk
)At most one ball per box
Yes No Indistinguishable balls((nk
))=
(n+k−1k
)Multiple balls per box
38
Need to know for this course
Counting selections - which one to apply and how
Identifying symmetries
Using recursion to count
39
Need to know for this course
How and when to define datatypes and functions recursively
How to solve recurrence equations (up to big-O)
How to use induction to prove results about natural numbers
How to use structural induction on recursive structures
How to compute algorithm run-time in a variety of situations
40
Week 10 Recap
Probability
Sample spaces, probability distributions, events
Independence
Recursive probability calculations
Conditional probability
Statistics
Random variables
Expectation, linearity of expectation
Variance, standard deviation
41
Need to know for this course
How to calculate probabilities in various situations:
Uniform distributionsEvent combinationsSequences of independent eventsRecursive scenariosConditional cases
Interaction between properties such as independence,conditionality
How to calculate expected value of random variables invarious situations
42
Outline
Assessment Summary
Examination Philosophy
Content Review
Selection of Sample Questions
43
Sample Relations Question
Consider the relation R ⊆ R× R defined by aRb if, and only if,b + 0.5 ≥ a ≥ b − 0.5. Is R
(a) reflexive?
(b) antireflexive?
(c) symmetric?
(d) antisymmetric?
(e) transitive?
44
Sample Functions Question
Let Σ = a, b and define f : Σ∗ → R recursively as follows:
f (λ) = 0,
f (aw) = 12 + 1
2 f (w) for w ∈ Σ∗, and
f (bw) = −12 + 1
2 f (w) for w ∈ Σ∗.
Prove that f is injective.
45
Sample Graph Theory Question
Draw a single graph with 6 vertices and 10 edges that satisfieseach of the following:
(a) is planar,
(b) contains a Hamiltonian circuit, and
(c) does not contain an Eulerian path.
46
Sample Logic Question
Let (T ,∧,∨,′ , 0, 1) be a Boolean Algebra. Define ⊕ : T × T → Tas follows:
x ⊕ y = (x ∧ y ′) ∨ (x ′ ∧ y)
(a) Prove using the laws of Boolean Algebra that for all x ∈ T ,x ⊕ 1 = x ′.
(b) Prove using the laws of Boolean Algebra thatx ∧ (y ⊕ z) = (x ∧ y)⊕ (x ∧ z).
(c) Find a Boolean Algebra (and x , y , z) which demonstrates thatx ⊕ (y ∧ z) 6= (x ⊕ y) ∧ (x ⊕ z)
47
Sample Recursion/Induction Question
Let Σ = 1, 2, 3.(a) Give a recursive definition for the function sum : Σ∗ → N
which, when given a word over Σ returns the sum of thedigits. For example sum(1232) = 8, sum(222) = 6, andsum(1) = 1. You should assume sum(λ) = 0.
(b) For w ∈ Σ∗, let P(w) be the proposition that for all wordsv ∈ Σ∗, sum(wv) = sum(w) + sum(v). Prove that P(w)holds for all w ∈ Σ∗.
(c) Consder the function rev : Σ∗ → Σ∗ defined recursively asfollows:
rev(λ) = λFor w ∈ Σ∗ and a ∈ Σ, rev(aw) = rev(w)a
Prove that for all words w ∈ Σ∗, sum(rev(w)) = sum(w)
48
Sample Probability Question
A 4-letter word is selected at random from Σ4, whereΣ = a, b, c , d , e.
(a) What is the probability that the letters in the word aredistinct?
(b) What is the probability that there are no vowels in the word?
(c) What is the probability that the word begins with a vowel?
(d) What is the expected number of vowels in the word?
(e) Let x be the answer to the previous question. What is theprobability of the word having dxe or more vowels?
49