Department of Computer and Information Science, School of Science, IUPUI - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Department of Computer and Information Science, School of Science, IUPUI

Description:

This form is easiest form of computers to understand, but is most difficult for ... Ada Real-time distributed systems Ada Augusta Byron & Charles Babbage ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 17
Provided by: dalero
Category:

less

Transcript and Presenter's Notes

Title: Department of Computer and Information Science, School of Science, IUPUI


1
Department of Computer and Information
Science,School of Science, IUPUI
CSCI 230
Introduction to Computers - Languages
Dale Roberts, Lecturer Computer Science,
IUPUI E-mail droberts_at_cs.iupui.edu
2
Computer Organization
  • A Typical Von-Neumann Architecture
  • Example
  • Input unit
  • Output unit
  • Memory unit
  • Arithmetic and logic unit (ALU)
  • Central processing unit (CPU)
  • Secondary storage unit

3
Programming Languages
  • Machine languages (machine dependent)
  • Native tongue of a particular kind of computer.
    Each instruction is a binary string. The code is
    used to indicate the operations to be performed
    and the memory cells to be addressed. This form
    is easiest form of computers to understand, but
    is most difficult for a person to understand.
  • Strings of numbers giving machine specific
    instructions
  • Example 1300042774
  • 1400593419
  • 1200274027

4
Programming Languages (cont.)
  • Assembly languages (machine dependent)
  • English-like abbreviations representing
    elementary computer operations (translated via
    assemblers)
  • Again specific to only one type of computer. Uses
    descriptive names for operations and data, e.g. ,
    LOAD value, ADD delta, STORE value.
    Assemblers will translate these to machine
    languages. Intermediate level. Somewhat
    descriptive, but basically following the machine
    instructions.
  • Example LOAD BASEPAY
  • ADD OVERPAY
  • STORE GROSSPAY

5
Programming Languages (cont.)
  • High-level languages (machine independent)
  • Codes similar to everyday English
  • High-level languages Write program instructions
    called statement that resemble a limited version
    of English. e.g., the statement value value
    delta. Portable, meaning it can be used on
    different types of computers without
    modifications. Compilers translate them to
    machine languages. Examples are FORTRAN, PASCAL,
    COBOL, C, C, BASIC etc.
  • Use mathematical notations (translated via
    compilers)
  • Example
  • grossPay basePay overTimePay
  • Example
  • Statement a a b

6
Programming Languages (cont.)
  • Structured programming
  • Disciplined approach to writing programs
  • Clear, easy to test and debug and easy to modify
  • Multitasking
  • Specifying that many
  • activities run in parallel (still timesliced)

7
Semantic Gap
  • A semantic gap exists between the amount of
    information conveyed in assembly language v high
    level languages. Consider the following C single
    statement x x 3
  • This single statement may require many assembly
    language statements (operations) Load memory
    location 24 into accumulator Add a constant 3
    to the accumulator Store accumulator in
    memory location 24
  • The number of executable statement expands
    greatly during the translation process from a
    high level language into assembly language.

8
C Programming Language
  • C
  • High-level general-purpose language developed in
    1972 at ATT Bell Lab. By Dennis Ritchie from two
    previous programming BCPL and B
  • Originally developed to write the UNIX operating
    system
  • Hardware independent (portable)
  • By late 1970's C had evolved to "Traditional C"
  • Today, virtually all new operating systems are
    written in C or C.
  • The current standard in C is ANSI C.
  • C is a more advanced version of C,
    incorporating among other things, the
    object-oriented constructs
  • Standardization
  • Many slight variations of C existed, and were
    incompatible
  • Committee formed to create a "unambiguous,
    machine-independent" definition
  • Standard created in 1989, updated in 1999
  • C has become a popular language industry due its
    power and flexibility

9
The C Standard Library
  • C programs consist of pieces/modules called
    functions
  • A programmer can create his own functions
  • Advantage the programmer knows exactly how it
    works
  • Disadvantage time consuming
  • Programmers will often use the C library
    functions
  • Use these as building blocks
  • Avoid re-inventing the wheel
  • If a pre-made function exists, generally best to
    use it rather than write your own
  • Library functions carefully written, efficient,
    and portable

10
The C Standard Library (cont.)
  • The Key Software Trend Objects in C and JAVA
  • Reusable software components that model items in
    the real world
  • Meaningful software units ex Date objects, time
    objects, audio objects, video objects, file
    objects, record objectsany noun can be
    represented as an object
  • More understandable, better organized, and easier
    to maintain than procedural programming
  • Favor modularity

11
The C Standard Library
  • include ltstdio.hgt
  • main()
  • int i
  • for (i 0 i i lt 10)
  • printf ("Hello World!\n")

12
A Typical C Program Development Environment
  • 1. Edit
  • 2. Preprocess
  • 3. Compile
  • 4. Link
  • 5. Load
  • 6. Execute

13
A Typical C Program Development Environment
(cont.)
  • Procedure to Prepare a C Program for Execution

14
Constructs in C Language
  • Type Declarations ex int, float,
  • I/O ex printf(), scanf()
  • Arithmetic and Logical Operations ex
    ,-,,/,,gt,lt,,
  • Arrays, Pointers, Structures, Unions,
  • Functions
  • Arguments return values
  • Recursion
  • Control Mechanisms ex if, else, while, for,
  • Characters Strings ex strcat(), strcpy(),
  • File Processing ex fopen(), fclose(),
  • Pre-processor ex define
  • Misc.
  • bit operations, ...

15
Operation System (OS)
  • Responsibilities
  • Communicating with the computer user
  • Managing allocation of memory, of processor
  • time, and of other resources for various tasks
  • I/O handling BIOS vs DOS services (Interrupts)
  • Read/Write data from secondary storage
  • Evolution of Operating Systems
  • Batch processing do only one job or task at a
    time
  • Operating systems manage transitions between
    jobs and Increase throughput (amount of work
    computers process)
  • Multiprogramming Computer resources are shared
    by many jobs or tasks
  • Timesharing Technique used to implement
    multiprogramming where the computer runs a small
    portion of one users job then moves on to
    service the next user

16
Application Software
  • Developed to assist a computer user in
    accomplishing special tasks
  • ex word processing applications MS-word or
    Word-perfect
  • ex Spreadsheet applications Lotus1-2-3, Excel
  • ex Database Oracle, MS-Access
  • Software Development Life Cycle (SDLC)
  • Problem specify the problem requirements
  • Analysis analyze the problem
  • Design design the algorithm to solve the problem
  • Implementation Implement the algorithm
  • Testing test and verify the completed program
  • Maintenance maintain and update the program
Write a Comment
User Comments (0)
About PowerShow.com