XSL Content

Languages, Computing & Smart Systems26021

Centre
Faculty of Economics and Business. Álava Department
Degree
Doble Grado en Administración y Dirección de Empresas y en Ingeniería Informática de Gestión y Sistemas de Información
Academic course
2024/25
Academic year
3
No. of credits
6
Languages
Spanish
Code
26021

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4567.5
Applied laboratory-based groups1522.5

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

The content of this subject course belongs to a classical branch of theoretical computer science that predates modern computers. It sets out from the theory of automata and formal languages, applied directly to the definition of programming languages and the construction of compilers.

The formalisms dealt with allow the computer/computing concept to be abstracted to analyse the computability, complexity and processability of the algorithms used in current areas like optimising algorithms and cryptography.

Algebra of sets and the formal specification/description of languages is used, so it is useful to have completed the subject course in Programming Methodology in the first year of this degree, and specification in particular.

Skills/Learning outcomes of the subjectToggle Navigation

- Identifying and solving problems that can be approached using restricted computational (automata) or alternative (smart systems) models.

- Using regular expressions and grammars to define formal languages.

- Using pattern recognition and processing software.

- Understanding the existence of intrinsic limits to computational processes and their consequences.

- Knowing and using different programming paradigms and alternative computing models.

- Working on and analysing problems and their computational solutions by making use of verbal, mathematical and graphic language.

Theoretical and practical contentToggle Navigation

- Memoryless Computing: Automata and Finite State Translators. Regular expressions and languages.

Applications: lexical analysis

- Restricted memory: Pushdown Automata. Context-Free languages and grammars. Linear Bounded Automata. Applications: syntactical analysis (parsers).

- The General Computer Model and its Limitations: Turing Machines. Computational Universality and the Church-Turing Thesis. Incomputability. Introduction to Computational Complexity Applications: public-key cryptography.

- Alternatives to the Computing Model: Machine Models and Programming Paradigms. Real circuits and machines. Imperative, functional and logical programs. Applications: automatic reasoning

- Alternatives to the Problem Model: Non-functional specifications. Decision trees. Classifiers. Probabilistic programming. Applications: systems that learn.



MethodologyToggle Navigation

Lectures (M) outline the different theoretical bases of the subject course, introducing algorithms in the form of exercises worked on in class. Further exercises are set for working on in pairs in the laboratories (PL), which are checked using automata simulators (JFLAP).

Assessment systemsToggle Navigation

  • Final Assessment System
  • Tools and qualification percentages:
    • Written test to be taken (%): 75
    • Realization of Practical Work (exercises, cases or problems) (%): 25

Ordinary Call: Orientations and DisclaimerToggle Navigation

There will be three partial examinations, each accounting for 25% of the course mark. For the ordinary session there will be an optional catch-up session for each of the three blocks to boost marks.

Laboratory work will be worth 25% of the mark, with individual testing after completion.

If continuous assessment is waived there will be a final examination worth 100% of the mark. The lecturer must be informed of this waiver by the 9th week, in accordance with current regulations.

If the final is not attended it will be considered not sat.

If the course cannot be assessed face-to-face, the relevant changes will be made to carry it out online by using the IT tools available at the UPV/EHU. The particulars of this online assessment will be made public.

Extraordinary Call: Orientations and DisclaimerToggle Navigation

For the ordinary session there will be a final examination worth 100 % of the mark. No mark is carried over from previous assessments.

Compulsory materialsToggle Navigation

Course notes and JFLAP simulator.

BibliographyToggle Navigation

Basic bibliography

- Ramón F. BRENA; "Autómatas y Lenguajes. Un enfoque de diseño", Tec de Monterrey, 2003.

- Jean Gallier, "Introduction to the Theory of Computation", University of Pennsylvania, 2018.

- Elaine RICH, "Automata, Computability and Complexity. Theory and Applications", Pearson/Prentice Hall, 2008

- V. MATHIVET, "Inteligencia Artificial para desarrolladores. Conceptos e implementación en Java", ENI Ediciones, 2017

- J.E. HOPCROFT, R. MOTWANI, J.D. ULLMAN: "Teoría de Autómatas, Lenguajes y Computación" 3ª ed. Pearson educación, 2007

- S. RUSSELL, P. NORVIG: "Artificial Intelligence: A Modern Approach" 2ª ed. Prentice Hall, 2003

- S.H. RODGER, T.W. FINLEY; "JFLAP: An Interactive Formal Languages and Automata Package". Jones and Bartlett, 2006

In-depth bibliography

- S. ARORA, B. BARAK: "Computational Complexity: A Modern Approach" Cambridge University, 2009.
- D. WOOD; "Theory of computation". John Wiley & Sons, 1987.
- T. MITCHELL: "Machine Learning" McGraw Hill, 1997
- G.F. LUGER, W.A. STUBBLEFIELD: "Artificial Intelligence. Structures and Strategies for Complex Problem Solving." Benjamin/Cummings Publishing Company, Inc, 1998.

Web addresses

- Visual and interctive tools (JFLAP): http://www.jflap.org/
- Machine Learning theory and examples: http://www.cs.cmu.edu/~avrim/ML07/index.html
- AI algorithms Implementation in Java: https://github.com/aima-java/aima-java

GroupsToggle Navigation

01 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday

31-01 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday