ICS103 Programming in C 1: Overview of Computers And Programming

Slides:



Advertisements
Similar presentations
ICS103 P ROGRAMMING IN C 1: O VERVIEW OF C OMPUTERS A ND P ROGRAMMING.
Advertisements

An Overview of the Computer System
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
ICS103 P ROGRAMMING IN C L ECTURE 1: O VERVIEW OF C OMPUTERS & P ROGRAMMING.
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
CS 201 Overview of Computers & Programming Debzani Deb.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Topic 1: Introduction to Computers and Programming
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
CS 115 Chapter 1 Overview of Programming and Problem Solving.
CS102 Introduction to Computer Programming
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer.
Chapter Introduction to Computers and Programming 1.
Introduction to Programming Dr Masitah Ghazali Programming Techniques I SCJ1013.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Chapter 1 Engineering Problem Solving 1. Hardware and Software 2 A computer is a machine designed to perform operations specified with a set of instructions.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
CISC105 General Computer Science Class 1 – 6/5/2006.
Computer Parts. Two Basic Parts Hardware & Software.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Computer Architecture
CHAPTER 1 INTRODUCTION 1 st Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
Chapter 1 : Overview of Computer and Programming By Suraya Alias
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
Chapter 1 An Overview of Computers and Programming Languages.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
CHAPTER 1 OVERVIEW OF COMPUTER AND PROGRAMMING 1.1 Electronic Computer Then and Now 1.2 Computer Hardware 1.3 Computer Software 1.4 The Software Development.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Chapter 1: Introduction to Computers and Programming
Chapter 1 Introduction 2nd Semester H
BASIC PROGRAMMING C SCP1103 (02)
An Overview of the Computer System
Engineering Problem Solving With C An Object Based Approach
Topics Introduction Hardware and Software How Computers Store Data
Chapter 1: An Overview of Computers and Programming Languages
BASIC PROGRAMMING C SCP1103 (02)
Overview of Computers and Programming Chapter 1
Computer Hardware and Software
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
An Introduction to The computer.
Looking Inside the machine (Types of hardware, CPU, Memory)
Chapter 1: Introduction to Computers and Programming
An Overview of the Computer System
Computer Science I CSC 135.
Computer Electronic device Accepts data - input
Computer Electronic device Accepts data - input
Topics Introduction Hardware and Software How Computers Store Data
Chapter 3 Hardware and software 1.
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Computer Electronic device Accepts data - input
Chapter 3 Hardware and software 1.
From Problems to Algorithms to Programs
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Computer components is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. Computer The computer.
Programming Logic and Design Eighth Edition
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

ICS103 Programming in C 1: Overview of Computers And Programming

Welcome to ICS 103 Instructor: Dr. Muhamed F. Mudawar Office: Building 22, Room 328 Office Hours: http://faculty.kfupm.edu.sa/coe/mudawar/schedule/ Email: mudawar@kfupm.edu.sa Web: http://faculty.kfupm.edu.sa/coe/mudawar/ics103

Assessment Plan Lab: 20% Homework and Quizzes: 25% Midterm Exam: 25% Lab Work + Assessment Lab Project Homework and Quizzes: 25% Midterm Exam: 25% Saturday, November 11, at 10 AM Final Exam: 30% Sunday, January 7, at 8 AM

Outline Overview of Computers Hardware Software Computer Languages Software Development Method Pseudo Code and Flowcharts

Computers Computers receive input, store, process, and output information. Computer can deal with numbers, text, images, graphics, and sound. Computers are worthless without programming. Programming Languages allow us to write programs that tell the computer what to do and to provide a way to communicate with computers. Programs are then converted to machine instructions so the computer can understand it.

Hardware & Software Hardware is the equipment used to perform the necessary computations. Central Processing Unit (CPU), memory, disk storage, monitor, keyboard, mouse, printer, etc. Software consists of the programs that enable us to solve problems with a computer by providing it with a list of instructions to follow Word, Internet Explorer, Windows OS, etc.

Computer Hardware Main Memory RAM - Random Access Memory - Memory that can be read and written in any order (as opposed to sequential access memory), volatile. ROM - Read Only Memory - Memory that cannot be written to, non-volatile. Secondary Memory: Magnetic hard disks, Flash (solid state) disks, Optical disks (CDs and DVDs). Central Processing Unit (CPU): Executes all computer operations and perform arithmetic and logical operations. Input/Output Devices: keyboard, mouse, scanner, monitor, printer, and speakers. Computer Networks – Computers that are linked together can communicate with each other.

Components of a Computer

Memory Memory: a large collection of memory cells Each Memory Cell has an address and a value Bit: Binary digit = Either 0 or 1 Byte: Made up of 8 bits Memory Address: position of a memory cell Memory Content: Value stored in memory Every memory cell has content, whether we know it or not Memory capacity Kilobyte (KB) = 210 = 1024 Bytes; Megabyte (MB) = 220 Bytes > 106 Bytes Gigabyte (GB) = 230 > 109 Bytes; Terabyte (TB) = 240 Bytes > 1012 Bytes 65 One bit Byte = 8 bits . Byte at address 16 value = 65 1 2 3 16 17 18 Memory Addresses

Computer Software Operating System - controls the interaction between machine and user. Examples: Windows, Linux, etc. Communicates with computer user. Collects input and Displays output. Manages memory and processor time. Manages Storage Disk. Application Software - developed to assist a computer user in accomplishing specific tasks. Example: Word, Excel, Internet Explorer.

Computer Languages High-level Language: Combines algebraic expressions and high-level commands High Level : Very far away from the actual machine language Examples: Fortran, C, Prolog, C#, Perl, and Java. Machine Language: A collection of machine instructions Not standardized. There is a different machine language for every processor family. Assembly Language: uses symbols (called mnemonics) that correspond to machine language instructions. Low level: Very close to the actual machine language.

Compiler Compilation is the process of translating the source code (high-level) into executable code (machine level). Source file: contains the original program code A Compiler turns the Source File into an Object File Object file: contains machine language instructions A Linker turns the Object File into an Executable Integrated Development Environment (IDE): a program that combines simple text editor with a compiler, linker, loader, and debugger tool For example, Eclipse or Visual Studio

Editing, Translating, Linking, and Running High-Level Language Programs

Flow of Information During Program Execution Input data Output Results Machine Language Program

Software Development Method Specify problem requirements Analyze the problem Design the algorithm to solve the problem Implement the algorithm Test and verify the completed program Maintain and update the program

Steps Defined Problem: statement that specifies the problem that should be solved on the computer. Analysis: Understanding the problem and identifying the inputs, outputs, and required computation. Design - Designing and developing the list of steps called algorithm to solve the problem. Implementation: writing the algorithm as a program using a given programming language. Testing - Testing requires checking and verifying that the program actually works as desired. Maintenance - Maintaining involves finding previously undetected errors and keep it up-to-date.

Converting Miles to Kilometers 1. Problem: Your boss wants you to convert a list of miles to kilometers. Since you like programming, you decide to write a program to do the job. 2. Analysis We need to receive miles as input We need to output kilometers We know 1 mile = 1.609 kilometers 3. Design Get distance in miles Convert to kilometers Display kilometers

4. Implementation in C Language

Miles to Kilometers cont’d 5. Test We need to test the previous program to make sure it works. To test we run our program and enter different values and make sure the output is correct. 6. Maintenance Next time, your boss wants to add a new feature, so he wants you to add support for converting different units.

Pseudo code and Flowchart Algorithm - A list of steps for solving a problem. Pseudo code - A combination of English phrases and language constructs to describe the algorithm steps. Flowchart - A diagram that shows the step-by-step execution of a program

Why use pseudo code? The benefit of pseudo code is that it enables the programmer to concentrate on the algorithm without worrying about all the syntactic details of a particular programming language. In fact, you can write pseudo code without even knowing what programming language you will use for the final implementation. Pseudo code cannot be compiled or executed, and does not follow syntax rules. It is simply an important step in producing the final code. Example: Input Miles Kilometers = Miles * 1.609 Output Kilometers

Another Example of Pseudo code Problem: Calculate your final grade for ICS 103 Specify the problem: Get different grades and then compute the final grade. Analyze the problem: We need to input grades for exams, labs, quizzes and the percentage each part counts for. Then we need to output the final grade. Design Get the grades: exams, quizzes, assignments, and labs. Grade = 0.25 * Midterm Exam + 0.3 * Final Exam + 0.2 * Quizzes + 0.05 * Assignments + 0.2 * Lab Output the Grade Implement and Test: Learn how to program in C, Write the program, then Input some test values, calculate and check the final grade.

Flowchart Flowchart uses boxes and arrows to show step by step execution of a program. Process Start or Terminal Decision Document Display Manual Input

Example of a Flowchart Start Get Grades and percentages Calculate Final grade Display Grade End