1 / 41

Introduction to Programming

Introduction to Programming. Our Book in CS1160. 1.1. Why Program? Lets watch a video. Why Program?. Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something

cstenger
Télécharger la présentation

Introduction to 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. Introduction to Programming

  2. Our Book in CS1160

  3. 1.1 Why Program? Lets watch a video

  4. Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer – person who writes instructions (programs) to make computer perform a task SO, without programmers, no programs; without programs, a computer cannot do anything

  5. 1.2 Computer Systems: Hardware and Software

  6. “Computers” • Different kinds of “computers”

  7. Main Hardware Component Categories: • Central Processing Unit (CPU) • Main Memory • Secondary Memory / Storage • Input Devices • Output Devices

  8. Main Hardware Component Categories Figure 1-2 May be special purpose

  9. Central Processing Unit (CPU) Comprised of: Control Unit Retrieves and decodes program instructions Coordinates activities of all other parts of computer Arithmetic & Logic Unit Hardware optimized for high-speed numeric calculation Hardware designed for true/false, yes/no decisions

  10. CPU Organization Figure 1-3

  11. Main Memory • It is volatile. Main memory is erased when program terminates or computer is turned off • Also called Random Access Memory (RAM) • Organized as follows: • bit: smallest piece of memory. Has values 0 (off, false) or 1 (on, true) • byte: 8 consecutive bits. Bytes have addresses.

  12. Main Memory • Addresses – Each byte in memory is identified by a unique number known as an address.

  13. Main Memory • Above the number 149 is stored in the byte with the address 16, and the number 72 is stored at address 23.

  14. Secondary Storage • Non-volatile: data retained when program is not running or computer is turned off • Comes in a variety of media: • solid state: SSD (the data is stored on interconnected flash memory chips that contain arrays of transistors that retain the data even when there's no power present) • magnetic: hard drive - uses movable arm to read/write • optical: CD-ROM, DVD • Flash drives (permanent and connected to the USB port) MORE: (not required) FYI how dotransistors work: video 1 or video 2

  15. Input Devices • Devices that send information to the computer from outside • Many devices can provide input: • Keyboard, mouse, scanner, digital camera, microphone • Disk drives, CD drives, and DVD drives

  16. Software-Programs That Run on a “Computer” • Categories of software: • System software: programs that manage the computer hardware and the programs that run on them. Examples: operating systems, utility programs, software development tools (could also be called application software) • Application software: programs that provide services to the user. Examples : word processing, games, programs to solve specific problems, APPS

  17. Kinds of Programs • System Software • Applicaitons

  18. Software-Programs ---System Software--- Operating Systems • Operating Systems • Unix, MacOS, Windows, iOS, Android, others.. Smart Tip: Mobile iOS and Android notactually operating systems

  19. Software-Programs ---System (application) Software--- Software Development Tools • Program (application) used in the development of applications • Other Name: IDE= Integrated Development Environment.. Microsoft VisualStudio Eclipse NetBeans

  20. Software-Programs ---System Software--- Utility Programs • Utility Programs • Beyond OS but, often to do with system components

  21. Software-Programs ---System Software--- Server Software • Typically think of Web and Data Layers

  22. Software-Programs ---Application Software--- Consumer Software • Many genres

  23. Software-Programs ---Application Software--- Business Software • Overlaps with Sever Software

  24. A Special Note ---not everything on one computer • Today’s computer applications often involve multiple programs that run on multiple machines. Consider the following --- a typical app –like maybe the amazon app or your favorite travel app or …..

  25. Modern app Cloud and/or Company owned iOS/Android Other services like inventory Programs-specific to This app ID system –can use 3rd party id (like facebook/google) Database 3rd Party –external sites

  26. WOW ---that’s a lot • Don’t worry --- we are just basic 1st class in program • But isn’t it exciting the kinds of things you can learn in CS

  27. 1.3 Programs and Programming Languages

  28. Programs and Programming Languages • A program is a set of instructions that the computer follows to perform a task • We start with an algorithm, which is a set of well-defined steps.

  29. Example Algorithm for Calculating Gross Pay

  30. Machine Language • Although the previous algorithm defines the steps for calculating the gross pay, it is not ready to be executed on the computer. • The computer only executes machinelanguage instructions

  31. Machine Language • Machine language instructions are binary numbers, such as1011010000000101 • Rather than writing programs in machine language, programmers use programming languages.

  32. Programs and Programming Languages • LEVELS of languages: • Low-level: used for communication with computer hardware directly. Often written in binary machine code (0’s/1’s) directly. • High-level: closer to human language

  33. Some Well-Known Programming Languages Objective-C C++ BASIC Ruby Java FORTRAN NodeJS Visual Basic C# COBOL JavaScript C Python PHP Swift

  34. Different Kinds of Programming Languages • Interpreted • When you run the program (“run-time”) there is a separate program called the interpreter that on the fly converts your high-level language to machine level code to run it • Can be slower • Names: Interpreted Languages, Scripting • Examples: PHP, Perl, JavaScript, Ruby, NodeJS…. • Compiled • Have a process called “COMPLIATION” that converts high-level language to machine level code • Run by passing executable file (machine level code) to the O.S. • Fastest in general • Names: Binary languages, Compiled Languages • Examples: C, C++, Swift • Managed (Pseudo-Compiled) • Have a “Pseudo-Compilation” process that converts high-level language to an in-between language that is independent of the machine (OS,chipset) • Run by passing intermediate file to an Interpreter, often called a Virtual Machine • Faster than Interpreted, still have portability • Sometimes language lets you compile down to executable/machine language. • Names: Managed Code, Pseudo-Compiled Code • Examples: Java, .NET, C#

  35. Different Kinds of Programming Languages THIS IS WHAT WE ARE DOING INTHIS CLASS • Compiled • Have a process called “COMPLIATION” that converts high-level language to machine level code • Run by passing executable file (machine level code) to the O.S. • Fastest in general • Names: Binary languages, Compiled Languages • Examples: C, C++, Swift

  36. Different Kinds of Programming Languages • Interpreted • When you run the program (“run-time”) there is a separate program called the interpreter that on the fly converts your high-level language to machine level code to run it • Can be slower • Names: Interpreted Languages, Scripting • Examples: PHP, Perl, JavaScript, NodejS, Ruby….

  37. Different Kinds of Programming Languages • Managed (Pseudo-Compiled) • Have a “Pseudo-Compilation” process that converts high-level language to an in-between language that is independent of the machine (OS,chipset) • Run by passing intermediate file to an Interpreter, often called a Virtual Machine • Faster than Interpreted, still have portability • Sometimes language lets you compile down to executable/machine language. • Names: Managed Code, Pseudo-Compiled Code • Examples: Java, .NET, C#

  38. Compiled Languages From a High-Level Program to an Executable File • Create file containing the program with a text editor. • Run preprocessor to convert source file directives to source code program statements. • Run compiler to convert source program into machine instructions. • Run linker to connect hardware-specific code to machine instructions, producing an executable file. • Steps b–d are often performed by a single command or button click. • Errors detected at any step will prevent execution of following steps.

  39. From a High-Level Program to an Executable File

  40. Integrated Development Environments (IDEs) • An integrated development environment, or IDE, combine all the tools needed to write, compile, and debug a program into a single software application. • Examples are Microsoft Visual Studio C++, Eclipse, Xcode, Turbo C++ Explorer, CodeWarrior, etc. I am REQUIRING you to use Microsoft Visual Studio Community

  41. Integrated Development Environments (IDEs)

More Related