0% found this document useful (0 votes)
43 views

0 Introduction

1. Theoretical Aspects of Computer Science (380CT) covers the foundations of computer science through a theoretical and practical understanding of algorithms, formal languages, models of computation, and complexity. 2. It examines the formal specification of patterns and languages, models of computation including automata and Turing machines, and the issues of computability and complexity. 3. The course also explores algorithmic techniques for solving complex problems and complexity classes such as P, NP, NP-complete, and NP-hard.

Uploaded by

work upload
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

0 Introduction

1. Theoretical Aspects of Computer Science (380CT) covers the foundations of computer science through a theoretical and practical understanding of algorithms, formal languages, models of computation, and complexity. 2. It examines the formal specification of patterns and languages, models of computation including automata and Turing machines, and the issues of computability and complexity. 3. The course also explores algorithmic techniques for solving complex problems and complexity classes such as P, NP, NP-complete, and NP-hard.

Uploaded by

work upload
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 39

Theoretical Aspects of Computer Science

(380CT)

0/
Overview 380CT?

380CT?

2/
Overview 380CT?

380CT?

1 Foundations of CS: practical & theoretical understanding.

What is an “algorithm”?
How “hard” is a
problem?
Can we “compute/solve”
anything? If not then what are the
limits.
2/
Overview 380CT?

380CT?

1 Foundations of CS: practical & theoretical understanding.


2 Formal specification of patterns and “languages.”

For example:
a∗b∗, an bn , ai bj c k
{ w ∈ { 0, 1} ∗ | w has equal number of 0s and
1s}
L recognized by a given automaton

2/
Overview 380CT?

380CT?

1 Foundations of CS: practical & theoretical understanding.


2 Formal specification of patterns and “languages.”
3 Models of computation and the issues of computability
and complexity.

Deterministic/Non-Deterministic Automoata
(DFA/NFA) Push Down Automata (PDA)
Turing Machines (TM).

2/
Overview 380CT?

380CT?

1 Foundations of CS: practical & theoretical understanding.


2 Formal specification of patterns and “languages.”
3 Models of computation and the issues of computability
4 and complexity.
Algorithmic techniques used to tackle complex problems.
Complexity classes: P, NP, NP-complete, NP-hard,
etc. Algorithms to solve or heuristics to try...

2/
Overview 380CT?

380CT?

1 Foundations of CS: practical & theoretical understanding.


2 Formal specification of patterns and “languages.”
3 Models of computation and the issues of computability and
4 complexity. Algorithmic techniques used to tackle complex problems.

It’s fun, cool, intellectually challenging,


insightful, . . .
. . . it is! :-)

2/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Models of
Complexity
Computation

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Models of
Complexity
Computation

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Models of
Complexity
Computation

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview Mindmap

NP- NP-
complete NFA RegEx
hard GNFA
→DFA
Meta-
heuristics
380CT
NP DFA/
NFA

Complexity Models of Pumping


Computation Lemma

P PDA

Decidability
TM

“Halting CFG
Reduction
problem”

Turing
Unrecog-
nizable
3/
Overview ILOs

Intended Module Learning Outcomes

On completion of this module the student should be able to:


1 Use formal notation to specify patterns and languages.

4/
Overview ILOs

Intended Module Learning Outcomes

On completion of this module the student should be able to:


1 Use formal notation to specify patterns and languages.
2 Specify and simulate various automata.

4/
Overview ILOs

Intended Module Learning Outcomes

On completion of this module the student should be able to:


1 Use formal notation to specify patterns and languages.
2 Specify and simulate various automata.
3 Explain the connection between classes of languages, models of computation and
types of algorithms.

4/
Overview ILOs

Intended Module Learning Outcomes

On completion of this module the student should be able to:


1 Use formal notation to specify patterns and languages.
2 Specify and simulate various automata.
3 Explain the connection between classes of languages, models of computation and
types of algorithms.
4 Classify the computability and complexity of real world problems.

4/
Overview ILOs

Intended Module Learning Outcomes

On completion of this module the student should be able to:


1 Use formal notation to specify patterns and languages.
2 Specify and simulate various automata.
3 Explain the connection between classes of languages, models of computation and
types of algorithms.
4 Classify the computability and complexity of real world problems.
5 Specify and implement methods to estimate solutions to intractable problems.

4/
Overview Teaching and Learning

Teaching and Learning

Pen and paper, JFLAP, Programming.


Formative tests.
Develop a portfolio of practical exercises.

5/
Overview Assessment

Assessment

Assessement: 50% Coursework (Test and Portfolio) and 50% Exam.


Resits: second portfolio and exam
Pass requirements:
Coursework ≥ 35%
and Exam ≥ 35%
and Module Mark ≥ 40%.

6/
Overview Indicative Content

Indicative Content

Mathematical background (Review) Sets, functions, relations, propositional


logic and predicate calculus. O-notation.

7/
Overview Indicative Content

Indicative Content

Mathematical background (Review) Sets, functions, relations, propositional


logic and predicate calculus. O-notation.
Automata DFAs, NFAs, PDAs, TMs. Determinism and Nondeterminism.
Relationship between automata and classes of languages. Limits of automata
(pumping lemma, undecidability and unrecognisability). Simulation package (JFLAP).

7/
Overview Indicative Content

Indicative Content

Mathematical background (Review) Sets, functions, relations, propositional


logic and predicate calculus. O-notation.
Automata DFAs, NFAs, PDAs, TMs. Determinism and Nondeterminism.
Relationship between automata and classes of languages. Limits of automata
(pumping lemma, undecidability and unrecognisability). Simulation package (JFLAP).
Computability and Complexity The Church-Turing Thesis, Reduction, P versus
NP, NP-completeness, Polynomial time verification, Polynomial time reduction.
Search problems and NP-hardness. Overview of further complexity classes (e.g.
PSPACE, EXPTIME)

7/
Overview Indicative Content

Indicative Content

Mathematical background (Review) Sets, functions, relations, propositional


logic and predicate calculus. O-notation.
Automata DFAs, NFAs, PDAs, TMs. Determinism and Nondeterminism.
Relationship between automata and classes of languages. Limits of automata
(pumping lemma, undecidability and unrecognisability). Simulation package (JFLAP).
Computability and Complexity The Church-Turing Thesis, Reduction, P versus
NP, NP-completeness, Polynomial time verification, Polynomial time reduction.
Search problems and NP-hardness. Overview of further complexity classes (e.g.
PSPACE, EXPTIME)
Algorithms and Heuristics Exhaustive search, Approximation Algorithms, Greedy
Algorithms, Metaheuristics. Pseudocode and implementation (C++, Python, . . . ).

7/
Overview Books

Books

Essential Reading
Sipser, M. (1997) Introduction to the Theory of Computation. 2nd Edn. Thomson
Course Technology Inc

8/
Overview Books

Books

Essential Reading
Sipser, M. (1997) Introduction to the Theory of Computation. 2nd Edn. Thomson
Course Technology Inc
Recommended Reading
Harel, D. (2004) Algorithmics: The Spirit of Computing. 3rd Edn. Addison
Wesley

8/
Overview Books

Books

Essential Reading
Sipser, M. (1997) Introduction to the Theory of Computation. 2nd Edn. Thomson
Course Technology Inc
Recommended Reading
Harel, D. (2004) Algorithmics: The Spirit of Computing. 3rd Edn. Addison
Wesley Garey, S. and Johnson, D. (1979) Computers and Intractability: A Guide
to the
Theory of NP-Completeness. Freeman

8/
Overview Books

Books

Essential Reading
Sipser, M. (1997) Introduction to the Theory of Computation. 2nd Edn. Thomson
Course Technology Inc
Recommended Reading
Harel, D. (2004) Algorithmics: The Spirit of Computing. 3rd Edn. Addison
Wesley Garey, S. and Johnson, D. (1979) Computers and Intractability: A Guide
to the
Theory of NP-Completeness. Freeman
Dean, N. (1996) The Essence of Discrete Mathematics. Prentice Hall

8/
Overview Books

Books

Essential Reading
Sipser, M. (1997) Introduction to the Theory of Computation. 2nd Edn. Thomson
Course Technology Inc
Recommended Reading
Harel, D. (2004) Algorithmics: The Spirit of Computing. 3rd Edn. Addison
Wesley Garey, S. and Johnson, D. (1979) Computers and Intractability: A Guide
to the
Theory of NP-Completeness. Freeman
Dean, N. (1996) The Essence of Discrete Mathematics. Prentice Hall
Hoos, H. and Stutzler, T. (2005) Stochastic Local Search: Foundations
and Applications. Morgan Kaufmann
8/
Overview Pre-requisites

Pre-requisites

210CT
Algorithms (Searching and sorting, Recursion, Divide and Conquer strategies, Greedy
..,

algorithms)
.., Complexity and efficiency (Time and space complexity, Big-O notation)

9/
Overview Pre-requisites

Pre-requisites

124MS
.., Propositional Calculus (Statements, =⇒ , ⇐⇒ , ¬, ∧, ∨, ⊂, ⊃, ∈, Truth tables.
Formal proof.)
.., Predicate calculus (Predicates, ∃, ∀)
.., Sets and Functions (Subset, Cardinality, Venn diagrams, Functions, domain and

codomain, Composition and inverse. Relations.)


.., Algebra (Congruences)
.., Graph Theory (connectivity, depth and breadth first search, shortest path, Trees)
.., Algorithms (Uncomputable problems. Asymptotic efficiency. Heuristic algorithms)

9/

You might also like