Software engineering and Programming languages

COMPILERS: The Compilation Phases. Regular and Context-Free Languages. Finite and Pushdown Automata. Syntax Analysis. Intermediate Program Representations. Symbol Tables. Syntax-Directed Translation. Attribute Grammars. Error Handling. Frameworks for the Implementation of.

SOFTWARE ENGINEERING: Principles and techniques. Software quality; Software specification and design; Software verification; Software process.

USABILITY ENGINEERING: Motivation and basic concepts. usability maturity assessment models. Design principles. Process aimed at usability. UML notions. using context analysis. Specification of usability requirements. Standardization interfaces. Design Interaction. Prototyping. Usability guidelines. Elements of interaction. Usability evaluation. Usability in Web interface.

TOPICS ON COMPILERS: Variable course syllabus depending on the emphasis offered on compilers.

TOPICS ON SOFTWARE ENGINEERING: Variable course syllabus depending on the emphasis offered on Software Engineering.

TOPICS ON PROGRAMMING LANGUAGES: Variable course syllabus depending on the emphasis offered on Programming Languages.