Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS101: COMPUTER PROGRAMMING Lecture 1: Introduction to Computer and Programming.

Similar presentations


Presentation on theme: "CS101: COMPUTER PROGRAMMING Lecture 1: Introduction to Computer and Programming."— Presentation transcript:

1 CS101: COMPUTER PROGRAMMING Lecture 1: Introduction to Computer and Programming

2 Objectives  In this Lecture you will learn about:  Overview of PC components  The different types of language Natural Language Formal Language Functional / Imperative Language Programming Languages  C as an imperative language  C program at a glance

3 Overview of PC Components Section 1

4 Computer Hardware Components Components of a PC

5 Input / Output Devices  Input Devices  Accepts information from the user and transforms it to digital codes that the computer can process  Example: keyboard, mouse, scanner  Output Devices  An interface by which the computer conveys the output to the user  Example: monitor, printer

6 Main Memory  A semiconductor device which stores the information necessary for a program to run.  2 types  ROM (Read Only Memory) Contains information that is necessary for the computer to boot up The information stays there permanently even when the computer is turned off.  RAM (Random Access Memory) Contains instruction or data needed for a program to run Got erased when the computer is turned off.

7 Central Processing Unit (CPU)  Does most of the work in executing a program  The CPU inside a PC is usually the microprocessor  3 main parts:  Control Unit Fetch instructions from main memory and put them in the instruction register  ALU (Arithmetic Logic Unit) Execute arithmetic operations  Registers Temporarily store instructions or data fetched from memory

8 Storage Devices  A magnetic device used to store a large amount of information.  Store the software components or data needed for the computer to execute its tasks.  Could be “read only” or “writable”.  Example: Hard drive, CD ROM, floppy disks

9 Network Devices  Connect a computer to the other computers.  Enable the users to access data or execute programs remotely.  Example: modem, Ethernet card

10 The different types of language Section 2

11 Natural language  Our everyday-language; spoken and written  Not 100% needed to understand:  Depends on circumstances; the context: “Do you like one ?” doesn't make sense on its own. It needs a situation around it: someone holding a bouquet of flowers: you might take one someone pointing to an expensive car: your opinion is asked someone 'offers' you an oily cloth to sneeze: you don't take it

12 Semantics and Syntax  Semantics – the meaning of the language within a given context  Syntax - Syntax are the rules to join words together in forming a correct expression or phrase.  In natural languages it is often possible to assemble a sentence in more than one correct ways.

13 Formal Language  Language with limited, defined, words  Each concatenation of words ('phrase') has a single, clearly defined meaning  no (miss-)interpretation possible  Sometimes called “Context Free Language”  To 'talk' to a computer; to instruct a computer; our commands must be 100% clear and correct.  Often there is only a single, correct syntax.

14 Functional / Imperative Language  Functional Language:  Tell what to do, but not how: sum [1...10]  Imperative Language:  Tell what to do, but mainly how: “Take number 1 and add the next number to it; then add the next number to the sum; and so on; until you have reached 10 as number to be added. Then print the sum of all numbers”

15 What is Programming?  Programming is instructing a computer to do something for you with the help of a programming language  The two roles of a programming language:  Technical: It instructs the computer to perform tasks.  Conceptual: It is a framework within which we organize our ideas about things and processes.  In programming, we deal with two kind of things:  Data - representing 'objects' we want to manipulate  Procedures -'descriptions' or 'rules' that define how to manipulate data.

16 Programming Language  Formal Language used to communicate to a computer.  A programming language contains instructions for the computer to perform a specific action or a specific task:  'Calculate the sum of the numbers from 1 to 10‘  'Print “I like programming”‘  'Output the current time'

17 Programming Language  Can be classified into as a special-purpose and general-purpose programming languages.  Special-purpose : is design for a particular type of application  Structured Query Language (SQL)  General-purpose : can be used to obtain solutions for many types of problems  Machine Languages  Assembly Languages  High-Level Languages

18 Machine Language  The only language that the processor actually 'understands‘  Consists of binary codes: 0 and 1  Example: 00010101 11010001 01001100  Each of the lines above corresponds to a specific task to be done by the processor.  Programming in machine code is difficult and slow since it is difficult to memorize all the instructions.  Mistakes can happen very easily.  Processor and Architecture dependent

19 Assembly Language  Enables machine code to be represented in words and numbers.  Example of a program in assembler language: LOAD A, 9999 LOAD B, 8282 SUB B MOV C, A LOAD C, #0002 DIV A, C STORE A, 7002  Easier to understand and memorize (called Mnemonics), compared to machine code but still quite difficult to use.  Processor and Architecture dependent

20 High-Level Language  Use more English words. They try to resemble English sentences. Therefore, it is easier to program in these languages.  The programming structure is problem oriented - does not need to know how the computer actually executes the instructions.  Processor independent - the same code can be run on different processors.  Examples: Basic, Fortran, Pascal, Cobol, C, C++, Java  A high level language needs to be analyzed by the compiler and then compiled into machine code so that it can be executed by the processor.

21 C Programming Language Why 'C' ?  Because based on 'B'; developed at Bell Laboratories  Developed by Dennis Ritchie at Bell Laboratories in the 1960s  In cooperation with Ken Thomson it was used for Unix systems  The C Language was only vaguely defined, not standardized, so that almost everyone had his own perception of it, to such an extend that an urgent need for a standard code was creeping up

22 C Programming Language  In 1983, the American National Standards Institute (ANSI) set up X3J11, a Technical Committee to draft a proposal for the ANSI standard, which was approved in 1989 and referred to as the ANSI/ISO 9899 : 1990 or simply the ANSI C, which is now the global standard for C.  This standard was updated in 1999; but there is no compiler yet

23 C as An Imperative Language Section 3

24 C – An Imperative Language  C is a highly imperative language  We must tell it exactly how to do what;  the means and functions to use;  which libraries to use;  when to add a new line;  when an instruction is finished;  in short: everything and anything…  Hint: Observe the syntax in the next slide

25 C Program at a Glance Section 4

26 A Simple Program in C #include int main() { printf("I like programming in C.\n"); return 0; }

27 A Simple Program in C - explanation #include int main() { printf("I like programming in C.\n"); return 0; } standard Library, input-output, header-file Begin of program End of statement End of Segment Start of Segment Function for printing text Insert a new line

28 C Output I like programming in C.

29 Summary  We have looked at some underlying hardware  We have seen some different types of languages;  the relevance of semantics and syntax.  We have observed the detail necessary in an imperative language to instruct a computer properly.  Finally, we examined the syntax to print a line of text to the screen of our computer.


Download ppt "CS101: COMPUTER PROGRAMMING Lecture 1: Introduction to Computer and Programming."

Similar presentations


Ads by Google