Advanced programming

Code 301AA
Credits 9

Learning outcomes

The objectives of this course are:
to provide the students with a deep understanding of how high level programming concepts and metaphors map into executable systems and which are their costs and limitations
to acquaint the students with modern principles, techniques, and best practices of sophisticated software construction
to introduce the students to techniques of programming at higher abstraction levels, in particular generative programming, component programming and web computing
to present state-of-the-art frameworks incorporating these techniques.
This course focuses on the quality issues pertaining to detailed design and coding, such as reliability, performance, adaptability and integrability into larger systems.
-Programming Language Pragmatics
-Run Time Support and Execution Environments
-Generic Programming
-Class Libraries and Frameworks
-Generative Programming
-Language Interoperability
-Component Based Programming
-Web Services
-Web and Application Frameworks
-Scripting Languages