1 / 18

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 and. An apology. I dropped the ball on coverage for the A7 recitation.

miller
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 • and . . .

  3. An apology I dropped the ball on coverage for the A7 recitation. You can complete the first-week exercises during the week, or during recitation next week. If you need any help completing them, just let me know.

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

  5. Computer Organization • Central Processing Unit (CPU) • Registers • General purpose (e.g. R1 – R16) • Special purpose (e.g. Program Counter and Instruction Register) • Arithmetic Logic Unit (ALU) • Memory

  6. Roadmap(where we’re headed) • Low-level languages • High-level languages • Requirements for a programming language

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

  8. Translation • LLL  LLL is called assembly • there is a 1:1 translation from assembly to machine language • fairly simple process

  9. High level languages • Java (this is the language we will be using) • We can write “x + y” instead of “ADD R1 R2” (in addition to several MOV instructions) • Others: C#, Erlang, Python, ML, Prolog, Lisp, etc.

  10. 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

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

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

  13. High-level languages • Richer syntax than • Machine language (bit strings) • Assembly language (mnemonic) • Improved readability/writeability • Must be translated (compiled) to machine language

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

  15. Questions?

  16. 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.

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

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

More Related