1st Master in Industrial sciences (2nd cycle-Industrial Engineers) Computer Science

Programming techniques

< Back

ECTS Credits5
Number of Hours (h/year)60
Teaching staffKUTY, Ludovic
Course UnitCompulsory
TermQuad. 1 and 2
CodeTECH-IINF0007/1
Prerequisite

Basic knowledge of object-oriented programming, preferably in Java.

Aims and Objectives

At the end of the first part of the course, the student will be able to:

  • Use XML et some related technologies like DTD, namespaces, SAX, DOM, XPath 1.0, XSLT 1.0, W3C XML Schema 1.0.
  • Use Java to parse and build XMl documents and to query them with XPath.
  • Transform XML documents using XSLT with or without Java.

At the end of the second part of the course, the student will be able to:

  • Understand the theoretical models developed to reason about problems in computer science and the relations of these models with compiling techniques.
  • Use regular expressions.
  • Understand how a compiler works and in particular the recursive descent method. He will have a basic understanding of other compiling techniques.
  • Build a compiler from scratch using a recursive descent parser in an object-oriented language.

 

Description
  • XML, DTD, SAX, DOM, JAXP, XPath 1.0, XSLT 1.0, W3C XML Schema.
  • Finite state machines (FSMs), stack automata, Turing machines, grammars (regular and context-free), regular expressions.
  • Compilation: lexical analysis, syntactic analysis, semantic analysis.
  • Recursive descent parsing technique in Java.
  • Writing of regular expressions.
Bibliography
  • Introduction à la Calculabilité, Pierre Wolper, Dunod, 3rd édition, 2006.
  • Introduction to the Theory of Computation, Michael Sipser, Thomson Course Technology, 2nd édition, 2006.
  • Introduction to Automata Theory, Languages, and Computation, John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Addison-Wesley, 3rd édition, 2006.
  • Compilers: Principles, Techniques, and Tools, Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Addison-Wesley, 2nd édition, 2007.
  • Automata and Computability, Dexter C. Kozen, Springer, 1997.
  • Programming Language Pragmatics, Michael L. Scott, Morgan Kaufmann, 2nd édition, 2002.
  • Compiler Design Theory, P. M. Lewis II, D. J. Rosenkrantz, R. E. Stearns, Addison-Wesley, 1976.
  • Basics of Compiler Design, Torben Mogensen.
  • Mastering Regular Expressions, Jeffrey E. F. Friedl, O'Reilly, 3rd édition, 2006.
Teaching and Learning MethodsLectures
Laboratory work
Assessment MethodsWritten examinations
Oral examinations
NotesIn part
LanguageFrench

The information contained herein is intended for informational purposes only. The Higher Education Institution disclaims any responsibility with regard to its content.