|Responsible unit:||Department of Informatics Engineering|
|Course/CS Responsible:||Master in Informatics and Computing Engineering|
|Acronym||No. of Students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|MIEIC||183||Syllabus since 2009/2010||2||-||6||56||162|
To prepare students about computing theory topics with a special emphasis to formal language topics.
Students will learn about regular languages, regular expressions, non-regular languages, deterministic and nondeterministic finite automata, context-free languages and grammars, deterministic and nondeterministic pushdown automata, and Turing machines, and how to apply these topics to problems.
Students will be able to express computing problems by using formal languages, automata and Turing machines.
In addition, students will learn how to formally specify computing problems related to formal languages and prove related statements.
At the end of the semester, students should:
- Be capable of identifying the important contributions to computing theory and its protagonists;
- Be capable of identifying the problems that can be solved with finite automata and express them rigorously;
- Be capable of comparing deterministic finite automata (DFAs), non deterministic finite automata (NFAs), regular expressions and regular languages;
- Be capable of applying the properties of regular languages;
- Be capable of identifying problems which can be handled by context- free grammars (CFGs);
- Be capable of relating context- free grammars and pushdown automata (PDAs) in the processing of context-free languages;
- Be capable of expressing computing problems by using Turing machines;
- Be capable of relating the studied computing models with their applications in the computability theory and complexity theory.
Automata Theory; Finite Automata;
Regular Expressions and Languages;
Properties of Regular Languages;
Context-Free Grammars and Languages;
Properties of Context-Free Language;
Introduction to Turing Machines.
In theoretical classes the contents are formally exposed along with presentation and discussion of examples.
In tutorial classes application exercises are proposed.
Two mini-test will be held, approximately six and twelve weeks fromt he start of the semesteer, to check if the basic concepts are being understood by the majority of students.
The foreseen effort beyound classes is of about 4h per week.
|Frequência das aulas||59,00|
Distributed evaluation not inferior to 7 marks, with the grade of each mini-test (MT) not inferior to 6 marks, and a maximum of 3 non-justified absenses (25%) on the tutorial classes.
AD: Distributed Evaluation consists of two components, MT1 and MT2 = 0.5 MT1 + 0.5 MT2 (min: 7 marks)
MT1 and MT2: mini-tests 1 and 2, respectively (min: 6 marks for each)
EF: final exam (min: 7 marks)
Grade = rounded(0.4 AD + 0.6 EF).
One of the following possibilities (selected by the student):
- Final Exam
- Final Exam (EF) + mini-tests (MT)
The final grade can be improved with a classification improvement exam.
The pre-requirements are: knowledge of Computational Logic and of programming.
Students that have obtained Distributed Evaluation (AD) in the previous year are able to use their AD grade in the current year.
The official language is Portuguese, but we admit that the classes might be given in English.