cs5363-intro - cs5363 1 Programming Languages and Compilers...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: cs5363 1 Programming Languages and Compilers Qing Yi class web site: www.cs.utsa.edu/~qingyi/cs5363 cs5363 2 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office: SB 4.01.30 Phone : 458-5671 Research Interests Compilers and software development tools program analysis&optimization for high-performance computing Programming languages type systems, different programming paradigms Software engineering systematic error-discovery and verification of software cs5363 3 General Information Class website www.cs.utsa.edu/~qingyi/cs5363 Check for class handouts and announcements Office hours: Mon 4-5pm and 7-8pm; by appointment Textbook and reference book Engineering a Compiler Second Edition. By Keith Cooper and Linda Torczon. Morgan-Kaufmann. 2011. Programming Language Pragmatics, by Michael Scott, Second Edition, Morgan Kaufmann Publishers, 2006 Prerequisites C/C++/Java programming Basic understanding of algorithms and computer architecture Grading Exams (midterm and final): 50%; Projects: 25%; Homeworks: 20%; Problem solving (challenging problems of the week): 5% cs5363 4 Outline Implementation of programming languages Compilation vs. interpretation Programming paradigms (beyond the textbook) Functional, imperative, and object-oriented programming What are the differences? The structure of a compiler Front end (parsing), mid end (optimization), and back end (code generation) Focus of class Language implementation instead of design Compilation instead of interpretation Algorithms analyzing properties of application programs Optimizations that make your code run faster cs5363 5 Programming languages Interface for problem solving using computers Express data structures and algorithms Instruct machines what to do Communicate between computers and programmers .. 00000 01010 11110 01010 .. .... c = a * a; b = c + b; . High-level (human-level) programming languages Low-level (machine-level) programming languages Program input Program output Easier to program and maintain Portable to different machines Better machine efficiency cs5363 6 Language Implementation Compilers .....
View Full Document

Page1 / 19

cs5363-intro - cs5363 1 Programming Languages and Compilers...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online