$30 off During Our Annual Pro Sale. View Details »

CSE240 Lecture 01

CSE240 Lecture 01

Introduction to Programming Languages
Course Presentation
(202208)

Javier Gonzalez-Sanchez
PRO

January 01, 2017
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 240
    Introduction to Programming Languages
    Lecture 01: Course Presentation
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    About Us

    View Slide

  3. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 3
    jgs
    Instructor
    Dr. Gonzalez
    [email protected]

    View Slide

  4. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 4
    jgs
    Rule 1
    Always use your ASU email
    @asu.edu
    To communicate with
    the TA and the Instructor

    View Slide

  5. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 5
    jgs
    Example
    From: John [email protected]
    Subject: question
    Could you tell me what is the
    homework for this week and my grade
    in the quiz?

    View Slide

  6. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 6
    jgs
    Rule 2
    Use CSE 240 as a prefix in
    your subject

    View Slide

  7. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 7
    jgs
    Instructor
    Dr. Gonzalez
    [email protected]
    www.javiergs.com

    View Slide

  8. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 8
    jgs
    Teaching
    Undergrad
    Level
    Graduate
    Level
    [email protected]
    CSE 110
    CSE 205
    CSE 240
    CSE 340
    CSE 360
    CSE 460
    SER 200
    SER 315
    SER 332
    SER 431
    CSE 563
    CSE 564
    CSE 594
    SER 516
    SER 517
    SER 518
    SER 594

    View Slide

  9. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 9
    jgs
    [email protected]
    • Programming
    & Languages
    • Software
    Engineering
    • Human-Computer
    Interaction and
    Computer Graphics
    • Machine Learning
    Teaching
    Undergrad
    Level
    Graduate
    Level

    View Slide

  10. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 10
    jgs
    Teaching Assistant
    § Graduate TA
    Nipoon Donta
    [email protected]

    View Slide

  11. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 11
    jgs
    Teaching Assistant
    § Graduate TA
    Nipoon Donta
    [email protected]
    Allow us 24 – 48 hours to reply
    Business days, i.e., no weekends or holydays
    Any question about grades (or appeals),
    contact the TA first.
    He grades your assignments!

    View Slide

  12. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 12
    jgs
    Office Hours
    § By Appointment
    § Contact the instructor or the TA, make an appointment, then he will share
    with you a Zoom link for the meeting.

    View Slide

  13. jgs
    Fall 2022

    View Slide

  14. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 14
    jgs
    On Campus + ASU Sync (Poly)
    Arizona State University returns to
    on-campus instruction since Fall 2021
    https://eoss.asu.edu/health/announcements/coronavirus

    View Slide

  15. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 15
    jgs
    On Campus
    § This is an on-campus course
    The lecture is Tue/Thu 3:00 AM AZ time
    Exams are proctored during a lecture session (3:00 AM AZ time)
    § Some lectures could be recorded, but recording is not to be
    made public. Recordings may be used to accommodate students.
    § If you require accommodation, you must contact DRC/SEILS,
    ISSC, Health Services, and/or your academic unit.

    View Slide

  16. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 16
    jgs
    Academic Affairs Manual (ACD)

    View Slide

  17. jgs
    About CSE 240

    View Slide

  18. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 18
    jgs
    Prerequisite
    § You should be proficient with CSE 110 (Java Programming)
    My CSE 110 Lectures are available in case you need to refresh your
    knowledge on the topics covered there
    www.javiergs.com/teaching/cse110/
    You should know data structures (CSE 205)

    View Slide

  19. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 19
    jgs
    CSE240 – Introduction to
    Programming Languages
    Definition

    View Slide

  20. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 20
    jgs
    symbols
    numbers
    letters
    operators
    rules
    lexical
    syntactic
    semantic
    Java

    View Slide

  21. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 21
    jgs
    CSE240 – Introduction to
    Programming Languages
    Definition
    A set of symbols
    structured by a set of rules
    Goal: Tell a computer what to do

    View Slide

  22. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 22
    jgs
    CSE240 – Introduction to
    Programming Languages
    Definition
    A set of symbols
    structured by a set of rules
    Goal: Tell a computer what to do
    C
    C++ LISP
    Prolog

    View Slide

  23. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 23
    jgs
    Language Levels
    Hardware
    Machine Language
    Assembly Language
    High-Level Language
    C
    C++
    Java
    Lisp
    Prolog

    View Slide

  24. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 24
    jgs
    Virtual Machine
    (interpreter)
    High-Level Programming 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
    5
    01001010101000010
    01010100101010010
    10100100000011011
    11010010110101111
    00010010101010010
    10101001010101011
    compilation execution
    High-Level Language
    C
    C++
    Java
    Assembly Language Hardware
    Machine Language

    View Slide

  25. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 25
    jgs
    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

    View Slide

  26. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 26
    jgs
    Agenda
    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

    View Slide

  27. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 27
    jgs
    Textbook (it is NOT required)
    § Chapter 1. Principles
    § Chapter 2. Structural programing
    § Chapter 3. Object-Oriented programming
    § Chapter 4. Functional programming
    § Chapter 5. Logic programming

    View Slide

  28. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 28
    jgs
    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%
    Quizzes
    (and attendance)
    25%
    Assignments

    View Slide

  29. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 29
    jgs
    Rule 3
    § Assignments and projects can never be made up and can
    never be turned in late.
    § Quizzes and Exams. There are no make-ups for missed
    quizzes or exams.
    § The only Exceptions:
    These listed in ASU policies, including Accommodation for
    Religious Practices, Missed Classes Due to University-
    Sanctioned Activities, etc.

    View Slide

  30. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 30
    jgs
    Assignments
    § You will usually have a week or two to work
    § That does NOT mean that you need a week or two to complete the
    assignment (you do NOT need the full 10 or 20 hours)
    § There are NO extension. Do NOT procrastinate.
    § You will usually have a week or two to work, so you can
    accommodate your time. Up to you working night, day or weekends.
    However, neither TA nor instructor are available 24/7

    View Slide

  31. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 31
    jgs
    Assignments
    § You will usually have a week or two to work
    § That does NOT mean that you need a week or two to complete the
    assignment (you do NOT need the full 10 or 20 hours)
    § There are NO extension. Do NOT procrastinate.
    § You will usually have a week or two to work, so you can
    accommodate your time. Up to you working night, day or weekends.
    However, neither TA nor instructor are available 24/7
    Allow us 24 – 48 hours to reply
    Business days, i.e., no weekends or holydays

    View Slide

  32. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 32
    jgs
    Quizzes
    § You will usually have approximately 30 minutes (average)
    § Some are on Canvas (at home)
    § Some are during a lecture time – unannounced
    § There are no make-ups for missed quizzes or exams.

    View Slide

  33. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 33
    jgs
    Example
    From: John [email protected]
    Subject: question
    I am not going to attend today
    lecture. Are we going to do something
    important?

    View Slide

  34. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 34
    jgs
    Example
    From: John [email protected]
    Subject: question
    I am not going to attend today
    lecture. Are we going to do something
    important?
    There are no make-ups for missed quizzes or
    exams.
    The only Exceptions are
    these listed in ASU policies

    View Slide

  35. jgs
    Important

    View Slide

  36. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 36
    jgs
    Ask For Help
    § ASU provides tutoring, career, health and wellness, financial resources,
    DRC/SAILS, etc.
    § Check this link http://engineering.asu.edu/resources/
    § Ask for help when and if you need it.

    View Slide

  37. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 37
    jgs
    Do NOT be a Grade Grubber
    § Grading is done applying the same policies to all students as described
    in the syllabus.
    § It is unethical to bring to your instructor's attention the possible impact of
    your course grade on your future plans, including graduation, scholarships,
    jobs, etc.
    Do not send requests to your instructor asking for a grade that you did not
    earn with your work.

    View Slide

  38. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 38
    jgs
    Example
    From: John [email protected]
    Subject: Grade Appeal
    I am very close to a B+ and I need a
    B+ to keep my scholarship.
    You will be responsible if I cannot
    continue my career at ASU

    View Slide

  39. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 39
    jgs
    Rule 4
    § Remember:
    Do not send requests to your instructor asking for a grade that you did not
    earn with your work.

    View Slide

  40. jgs
    Questions

    View Slide

  41. Javier Gonzalez-Sanchez | CSE240 | Fall 2021 | 41
    jgs
    Questions

    View Slide

  42. jgs
    CSE 240 Introduction to Programming Languages
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Spring 2022
    Copyright. These slides can only be used as study material for the class CSE240 at Arizona State University.
    They cannot be distributed or used for another purpose.

    View Slide