1 / 17

CSE115: Introduction to Computer Science I

CSE115: Introduction to Computer Science I. Dr. Carl Alphonce 219 Bell Hall 645-4739 alphonce@buffalo.edu. Announcements. Cell phones off Name signs out. Last class. Instructions are encoded as bit strings Machine languages Fetch-Decode-Execute cycle Assembly languages.

uma
Download Presentation

CSE115: Introduction to Computer Science I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall 645-4739 alphonce@buffalo.edu

  2. Announcements • Cell phones off • Name signs out

  3. Last class • Instructions are encoded as bit strings • Machine languages • Fetch-Decode-Execute cycle • Assembly languages

  4. Today’s lessons • High-level languages • Requirements for a programming language

  5. Low-level languages • Machine language • 1101000001000010 • Assembly language • ADD R1 R2

  6. High level languages • Java • We can write “x + y” instead of “ADD R1 R2” (in addition to with several MOV instructions) • Others: C#, Erlang, Python, ML, Prolog, Lisp, etc.

  7. Translation • LLL  LLL is called assembly • there is a 1:1 translation from assembly to machine language • fairly simple process • HLL  LLL is called compilation • there is no 1:1 translation • translation is quite complex • optimizations can be applied to make low level code more efficient

  8. Requirements of a PL • Sequencing • Selection • Repetition

  9. Equivalences • Computation models • Turing Machine • Lambda calculus • Programming languages • Java • C# • Prolog • Python

  10. High-level languages • Easier syntax than • Machine language (bit strings) • Assembly language (mnemonic) • Must be translated (compiled) to machine language

  11. Java • A modern high-level language • Object-oriented • Large libraries • (Relatively) simple core language

  12. Questions?

  13. Moving on… • We will return to low-level issues later in the semester, and also in later courses. • This brief low-level discussion gives context for upcoming topics. • Now we turn to some higher-level issues.

  14. I have a question for you! • What did you have for breakfast today?

  15. Activity The goal of this short activity is to demonstrate two things: • objects have behaviors • sending message to objects can trigger those behaviors

  16. Activity details3 volunteers, a.k.a. objects

  17. Activity Review • Why did we do this activity? • To introduce the idea of an object. • What is an object? • It is a representation of something in our problem domain • It has both: • CAPABILITIES • PROPERTIES / STATE

More Related