Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSE240 (online) Lecture 01

CSE240 (online) Lecture 01

Introduction to Programming Languages
Course Presentation
(201805)

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. CSE240 – Introduction to Programming Languages (online) Lecture 01: Course

    Presentation Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment
  2. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    2 CSE240 – Introduction to Programming Languages A set of symbols structured by a set of rules Goal: Tell a computer what to do Definition C C++ LISP Prolog
  3. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    3 symbols numbers letters operators rules lexical syntactic semantic Java
  4. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    4 Language Levels Hardware Machine Language Assembly Language High-Level Language C Fortran C++ Java
  5. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    5 Machine Language Hardware Machine Language
  6. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    6 Assembly Language Hardware Machine Language Assembly Language
  7. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    7 Language Levels Hardware Machine Language Assembly Language High-Level Language C Fortran C++ Java
  8. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    8 High-Level Languages X,E,G,O,O #e1,I,I,0,7 @ OPR 19, AX STO x, AX LIT 5, AX OPR 21, AX LOD #e1,AX CAL 1, AX OPR 0, AX // sorce code int x; int foo () { read (x); print (5); } main () { foo (); } Lexical Analysis Syntactic Analysis Semantic Analysis Code Generation Virtual Machine (interpreter) 5 0100101010100 0010010101001 0101001010100 1000000110111 1010010110101 1110001001010 1010010101010 01010101011 compilation execution High-Level Language C Fortran C++ Java Assembly Language Hardware Machine Language
  9. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    9 Language Paradigms High-Level Language Procedural program = algorithms + data Object-Oriented program = objects + messages Functional Logic Programming program = facts + rules program = functions ° functions C Java, C++ LISP Prolog
  10. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    10 Calendar Main Topics 1 Introduction 2 Principles of Programming Languages 3 Language C 4 Language C++ 5 Working with C/C++ 6 Language Lisp 7 Language Prolog 8 Final review
  11. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    11 Text book Chapter 1. Principles Chapter 2. Structural programing Chapter 3. Object-Oriented programming Chapter 4. Functional programming Chapter 5. Logic programming
  12. Javier Gonzalez-Sanchez | CSE 240 (online) | Fall 2017 |

    12 Grading 100% A+ 97 A 93 A- 89 B+ 85 B 81 B- 77 C+ 73 C 69 D 65 Midterm Exam 25% 25% Final Exam (Comprehensive) 25% Quizes 25% Programming Projects
  13. CSE240 – Introduction to Programming Languages (online) Javier Gonzalez-Sanchez [email protected]

    Fall 2017 Disclaimer. These slides can only be used as study material for the class CSE240 at ASU. They cannot be distributed or used for another purpose.