1 / 23

ECE 1305 Introduction to Engineering and Computer Programming

ECE 1305 Introduction to Engineering and Computer Programming. Section 01 Basic Computer Terminology. Typical Small Computer System. Computer Motherboard. System Bus. Central Processing Unit (CPU). Number Systems. Word Length. ASCII Code. ASCII Code. Computer Memory (RAM). Address.

vilmos
Download Presentation

ECE 1305 Introduction to Engineering and Computer Programming

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. ECE 1305Introduction to Engineering and Computer Programming Section 01 Basic Computer Terminology

  2. Typical Small Computer System

  3. Computer Motherboard

  4. System Bus

  5. Central Processing Unit (CPU)

  6. Number Systems

  7. Word Length

  8. ASCII Code

  9. ASCII Code

  10. Computer Memory (RAM) Address Contents

  11. Typical Memory Allocation

  12. CPU/Memory Interaction Memory CPU Control Unit Register Contents ALU Bus

  13. Fetch-Execute Cycle • Fetch the instruction at the Program Counter location. • Decode the instruction. • Load operands from main memory into the registers (if required). • Execute the instruction. • Store the results. • Increment the Program Counter. • Go to step 1.

  14. Machine Language Program Address Contents Instruction

  15. Partial Instruction Set

  16. Assembly Language Program

  17. Assembly Language File (Text Format) Machine Language File (Binary Format) Assembler (Look-up Table) Assembly Process The assembler is a program that “translates” the mnemonic Assembly Language commands into the binary machine language.

  18. High-Level Programming Language • It is difficult to break complicated tasks down into register-level tasks. • It is difficult to accomplish memory management at the register/address level. • Assembly Language is machine dependent. A new program must be written for each target machine. • High-level programming languages address these concerns.

  19. Computer Hierarchy

  20. Object Code Preprocessor Linker Compiler High-Level Language Programming Source Code Runtime Library Modified Source Code Executable Code

  21. Software Design Process • Decide what you want the computer to do. This is the most important step! Discover the lost art of flow-charting. • Write the instructions in C++ to make the computer do something (Write the Code.) This is where the heavy lifting is done! • Compile and test the program. • Cry, scream or throw a tantrum when the program doesn’t work perfectly. (This step is required.) • Track down each error (bug) and fix it. • Repeat steps 3, 4 and 5 until you get assigned a new project.

  22. Why No Program is Perfect • The programmer may not know very much about the task. (What does a computer science major know about accounting?) • A program that works perfectly for one computer/processor/accessory/software combination may not work for another. • The programmer cannot predict all of the possible user inputs/key-strokes/mouse-clicks, etc. • The program runs on top of an operating system that doesn’t always work perfectly either.

  23. About programming • One can make the computer do just about anything one wants it to do. But… • It will take detective work on your part. • Computer software books are often not helpful enough. • It will take practice on your part. • Watching someone program, or copying someone’s code will not make you a better programmer. • This course cannot cover all of the details of C++. • The fundamental skills learned in this course may be applied to most other programming languages.

More Related