🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Document Details

UncomplicatedSolarSystem

Uploaded by UncomplicatedSolarSystem

Federal University of Technology, Minna

Tags

computer programming computing history computer engineering

Full Transcript

INTRODUCTION TO COMPUTER PROGRAMMING CPE 224 Mr. B.K. Nuhu Mr. I.A Dauda Department of Computer Engineering FEDERAL UNIVERSITY OF TECHNOLOGY MINNA NIGERIA CPE 224 General Computer Programming Course Outline General Refresh...

INTRODUCTION TO COMPUTER PROGRAMMING CPE 224 Mr. B.K. Nuhu Mr. I.A Dauda Department of Computer Engineering FEDERAL UNIVERSITY OF TECHNOLOGY MINNA NIGERIA CPE 224 General Computer Programming Course Outline General Refresher, Introduction and First Program Control Structures: if/else/ switch Control Structures:While/for/do/do-while Functions More on Functions Scope and Recursion Arrays More on Arrays Mid Semester Examination Introduction to Objects Introduction to Pointers File Processing General Refresher and Revision Class Submission of Project Introduction Basically there have been a great evolution in the world of computing from the technology adopted in the 60’s down to what we have in this 21st century. With ease one could observe this evolution from the type of mobile phones we use. Compare the early Nokia 3310 with the Lumia series obtainable now. The same evolution and revolution is obtainable in the world of computing also. Early computing /computer systems ABACUS : Although still widely used in Asia SLIDE RULE: based on the Napier rules for Logarithms. Used until 1970’s. Early computing /computer systems JACQUARD LOOM:1801 : first computer DIFFERENCE ENGINE: powered by manufactured. steam. Could store numbers. First stored program(metal cards) Calculating mil used punched metal cards for instruction. Early computing /computer systems PASCAL MECHANICAL CALCULATOR 1645: The NAPIER BONE 1617: Clever position of the gear represents number. multiplication tool. Early computing /computer systems Punched cards; for storage First used in Jacquard Loom (1801) to store patterns for weaving cloth Storage of programs in Babbage’s Analytical Engine Popular through the 1970’s EVOLUTION OF COMUPTING The success of the evolution in computing is attributed to the evolution in the world of electronics. This started from the use of vacuum tubes down to the VLSI chips we have today. Vacuum Tube Electronics Evolution Transistors Integrated Circuit Microchip (VLSIC) Generation of COMPUTERS: FIRST GENERATION: 1941- 1956 Vacuum Tube driven: 1946: ENIAC (Electronic Numerical Integrator and Calculator). 1950: EDVAC (Electronic Discrete Variable Automatic Computer) (Von Neumann) 1951: UNIVAC (Universal Automatic Computer) (commercial) These machines were used in business for accounting and payroll applications. Valves were unreliable components generating a lot of heat (still a problem in computers). They had very limited memory capacity. Magnetic drums were developed to store information and tapes were also developed for secondary storage. They were initially programmed in machine language (binary). A major breakthrough was the development of assemblers and assembly language. Generation of COMPUTERS: SECOND GENERATION: 1959-1965 Transistor Driven: replaced the vacuum tube as switches. The development of the transistor revolutionised the development of computers. Invented at Bell Labs in 1948, transistors were much smaller, more rugged, cheaper to make and far more reliable than valves. Core memory (non-volatile) was introduced and disk storage was also used. The hardware became smaller and more reliable, a trend that still continues. Another major feature of the second generation was the use of high-level programming languages such as Fortran and Cobol. These revolutionised the development of software for computers. The computer industry experienced explosive growth. Generation of COMPUTERS: THIRD GENERATION:1965- 1971 Integrated Circuit Driven: replaced the transistors as switches. IC’s (Integrated Circuits) were again smaller, cheaper, faster and more reliable than transistors. Speeds went from the microsecond to the nanosecond (billionth) to the picosecond (trillionth) range. ICs were used for main memory despite the disadvantage of being volatile. Minicomputers were developed at this time.. Generation of COMPUTERS: THIRD GENERATION:1965-1971 Terminals replaced punched cards for data entry and disk packs became popular for secondary storage. IBM introduced the idea of a compatible family of computers, 360 family, easing the problem of upgrading to a more powerful machine. Substantial operating systems were developed to manage and share the computing resources and time sharing operating systems were developed. These greatly improved the efficiency of computers. Computers had by now pervaded most areas of business and administration. The number of transistors that can be fabricated on a chip is referred to as the scale of integration (SI). Early chips had SSI (small SI) of tens to a few hundreds. Later chips were MSI (Medium SI): hundreds to a few thousands,. Then came LSI chips (Large SI) in the thousands range. Generation of COMPUTERS: FOURTH GENERATION:1971- date Microprocessor Driven: consists of so many IC as the CPU. Generation of COMPUTERS: FOURTH GENERATION:1971- date VLSI allowed the equivalent of tens of thousand of transistors to be incorporated on a single chip. This led to the development of the microprocessor (a processor on a chip). Intel produced the 4004 which was followed by the 8008,8080, 8088 and 8086 etc. Other companies developing microprocessors included Motorolla (6800, 68000),Texas Instruments and Zilog. Mainframe computers have grown in power. Memory chips are in the megabit range. VLSI chips had enough transistors to build 20 ENIACs. Secondary storage has also evolved at fantastic rates with storage devices holding gigabytes (1000Mb = 1 Gb) of data. Generation of COMPUTERS: FIFTH GENERATION  Fifth generation computing devices, based on artificial intelligence, are continuing to be in development.  Parallel Processing is coming and showing the possibility that the power of many CPU's can be used side by side, and computers will be more powerful than those under central processing.  The goal of fifth-generation computing is to develop devices that respond to natural language input and are capable of learning and self-organization. Generation of COMPUTERS: Compare and contrast First Second Third Fourth Gen. Generation Gen. Gen. Technolo Vacuum Tubes Transistors Integrated Microchips gy Circuits (millions of (multiple transistors) transistors) Size Filled Whole Filled half a room Smaller Tiny - Palm Pilot Buildings is as powerful as old building sized computer Generation of COMPUTERS: Compare and contrast COMPUTER BASICS AND FUNDAMENTALS A computer can be defined as : a programmable machine that can execute a list of instructions in a well-defined manner. However, the computer uses stored programs to execute instructions in a specific order to solve a defined task. COMPUTER BASICS AND FUNDAMENTALS Basically, computer is a digital device and understands only two different states (0 or 1) OFF or ON. Generally, Traditional Computers are of the following types ; Super Computer; Mainframe,, mini Computer, microcomputer, workstation and Personal Computer. COMPUTER BASICS AND FUNDAMENTALS  SUPER COMPUTERS  fast processing power  used by NASA and similar organizations  Example: CRAY supercomputers Mainframe Computers: First computers, introduced in 1950s Used by large businesses Typically supported thousands of users Very expensive Used for very large processing tasks IBM’s new Mainframe COMPUTER BASICS AND FUNDAMENTALS Mini Computers: midsized and it’s a class of multi-user computer. Lies btw Mainframe and Microcomputer or PC. Microcomputer: small desktop specifically designed for single user at a time. Smallest of the other supercomputer, mainframe and minicomputer. Personal Computer falls under this category COMPUTER BASICS AND FUNDAMENTALS PERSONAL COMPUTER COMPUTER BASICS AND FUNDAMENTALS The overall computer structure can be broadly divided into two namely the Hardware and Software COMPUTER HARDWARE SOFTWARE COMPUTER BASICS AND FUNDAMENTALS Hardware ; This has to do with all the physical components that makes up a computer system Five logical units of computer system  Input unit Mouse, keyboard  Output unit Printer, monitor, audio speakers  Memory unit Retains input and processed information  Central processing unit (CPU) Supervises operation of other devices  Secondary storage unit Hard drives, floppy drives 25 The Processor 26 26 The Processor circuit board = a board with integrated circuits (microchips)  system board or motherboard  interface boards or expansion boards system board or motherboard = a single circuit board with the components which make up the computer’s processor for a microcomputer, including the:  CPU (Central Processing Unit)  Memory  RAM  ROM or ROM BIOS  expansion slots 27 28 28 The Processor: The CPU CPU (Central Processing Unit) = A complex collection of electronic circuits on one or more integrated circuits (chips) which: 1. executes the instructions in a software program 2. communicates with other parts of the computer system, especially RAM and input devices The CPU is the Brain of the PC. Its made up of IC in VLSI Performs all calculation and executes all instructions. Examples : Intel (Celeron, Pentium, iCore) AMD(K-6, Athlon) Its speed in usually in GHz 29 The Processor: CPU A unit of measurement for CPU speed (clock speed) G (giga) means 1 billion, M (mega) would be 1 million Hz is for frequency per second GHz means 1 billion clock cycles per second CPUs may execute multiple operations each clock cycle So what does a 2.8 GHz CPU mean? 2,800,000,000 clock cycles per second Performs at least 2,800,000,000 operations per second 30 30 RAM GB measures the amount of data the it can store G (giga) for 1 billion M (mega) for 1 million Data quantities are measured in bytes 1 Bit = stores a single on/off piece of RAM is TEMPORARY memory information 1 Byte = 8 bits RAM is volatile  stores ON and OFF bits (software and data) 1 Kilobyte = 210 (~1,000 bytes) electrically 1 Megabyte = 220 (~1,000,000 bytes)  when power goes off, everything in RAM is lost  Very Fast access to CPU 1 Gigabyte = 230 (~1,000,000,000 bytes) 31 HARD DISK STORAGE Stores data and programs Permanent storage (theoretically) when you turn off the computer, it is not emptied 32 ROM (Read Only Memory) ROM (Read Only Memory) = integrated circuits (microchips) that are used to permanently store start-up (boot) instructions and other critical information Read Only = information which:  Cannot be changed  Cannot be removed  Fixed by manufacturer 33 ROM (Read Only Memory) ROM is sometimes known as ROM BIOS (Basic Input Output System software) ROM contains:  start-up (boot) instructions  instructions to do “low level” processing of input and output devices, such as the communications with the keyboard and the monitor 34 34 Computer Performance:  CPU speed (and type)  Amount of RAM (and speed)  Hard disk capacity 35 Software  SOFTWARE: The software entails the programs (instructions) that instructs the Computer on what to do; Basically we have; Application Software Written for Performs Accounting and Cannot function specific Word processing Calculation specific task; Games without OS operating system and hardware System Software Controls all Acts as intermediary System Operating Allows management Window 7, 8 , XP , hardware and all between user and software of files Linux other software applications 36 36 computers CHARACTERISTIC Regardless of the size or type of the computer basically they are used to transmit, store and manipulate information (data). Several different types of Data can be processed by a computer and this includes; Numeric data: Mostly required for scientific and technical applications Characters: Business Applications alongside the Numeric data To process any type of data the computer needs to be fed with appropriate sets of instructions called PROGRAM which are to be stored in the memory of the computer. 37 37 computers CHARACTERISTIC Input Data : these are set of information to be processed. They are entered via the input devices and stored on the 1 m/m. Processing : the input will be processed to obtain the desired result: the OUTPUT DATA 2 Display: the output result will be displayed on the monitor. 3 38 38 computers CHARACTERISTIC From the above discussion we would see that memory and program capability are 2 main important characteristics of the computer. The Speed and Reliability are other characteristics of the computer. (Computer are fast and never makes mistakes on their own) 39 39 MODES OF OPERATION Data input into the PC are stored internally Batch and processed sequentially. Usually for Large data Processing Classical Batch(use of punch cards) Modern batch : use of timesharing terminals Interactive Information processing is done in parallel and conservational mode. Mode 40 40 TYPES OF PROGRAMMING languages Basically there are two major classes namely : Low level and High Level Programming. However, there are numerous types of programming languages and they fall into these two classes. Generally the Machine Language is an example Low level Language. Its characteristics includes; Machine Language is the defacto and default dialect of the computer. Basically the Machine Language is a collection of very detailed cryptic instructions that controls the PC internal circuitry. 41 41 TYPES OF PROGRAMMING languages Characteristics of Machine Language; Default dialect of the Computer. They are very cumbersome to work They are also challenging to learn Machine code written for one computer cannot work on another computer. This is because every computer as its own unique instruction set. 42 42 TYPES OF PROGRAMMING languages HIGH LEVEL LANUGAUGE; They are general purpose in nature. They are compatible with the human language and thought process. Examples include C,PASCAL,FORTRAN. A single instruction in high level is equivalent to several instructions in machine language. General characteristic of the High level Programs includes; Simplicity Uniformity Portability 43 43 TYPES OF PROGRAMMING languages Basically for any high level program to be executed it requires a complier or interpreter for conversion into machine code. Compiler is a specific software that gets the whole Source Code (Computer program written in human understandable form) and translates it into Object Code (Computer Program that is in machine understandable form) all at a time. Interpreter is translating and executing one statement (command of Computer Program) of Source Code into Object Code at a time. (It means, interpreters translate and 44 execute computer programs line by line). 44

Use Quizgecko on...
Browser
Browser