CSI31 Introduction to Computer Programming I. Dr. Sharon Persinger Fall

Similar documents
Introduction to Computer Programming for Non-Majors CSC 2301, Fall The Department of Computer Science

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018

Introduction. Arizona State University 1

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming

Introduction to Computer Programming for Non-Majors

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

CHAPTER 1 Introduction to Computers and Java

Chapter 1: Introduction to Computers and Programming

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.

Chapter 1 Introduction to Computers and Programming

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

C H A P T E R 1. Introduction to Computers and Programming

Fundamentals of Programming Session 1

SCSP Programming Technique C

CHAPTER 1: INTRODUCTION TO COMPUTERS AND PROGRAMMING. 1 Muhalim Mohamed Amin Faculty of

Computer Fundamentals

Chapter 1: Why Program? Computers and Programming. Why Program?

Programming 1. Lecture 1 COP 3014 Fall August 28, 2017

Fundamentals of Programming Session 1

The Programming Process Summer 2010 Margaret Reid-Miller

HARDWARE. There are a number of factors that effect the speed of the processor. Explain how these factors affect the speed of the computer s CPU.

Computers in Engineering COMP 208. Computer Structure. Computer Architecture. Computer Structure Michael A. Hawker

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs

Introduction to Computers and Java

Lecture 19: Computers. Pay no attention to the man behind the curtain.

Microcomputer Architecture..Second Year (Sem.2).Lecture(2) مدرس المادة : م. سندس العزاوي... قسم / الحاسبات

Programming 1 - Honors

Elements of Computers and Programming Dr. William C. Bulko. What is a Computer?

Elementary Computing CSC M. Cheng, Computer Science 1

1a Computers, Problem Solving!

CSC 121 Computers and Scientific Thinking

Chapter 1. Introduction to Computers and Programming. M hiwa ahmad aziz

Practical Malware Analysis

Electricity: Voltage. Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal.

Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what

Welcome to Computer Organization and Design Logic

Computer Organization and Assembly Language CSC-210

Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Winter 2018

A Review of Chapter 5 and. CSc 2010 Spring 2012 Instructor: Qian Hu

C++ Programming Language Lecture 1 Introduction

Computer Organization and Assembly Language

Computer Basics. Lesson 1 Introduction to Computers. Edited by C. Rhodes 08/11

Computer Architecture and Assembly Language. Spring

Computer Organization and Programming

Chapter 1 Computer and Programming. By Zerihun Alemayehu

8/16/12. Computer Organization. Architecture. Computer Organization. Computer Basics

Outline. Introduction to Programming (in C++) Introduction. First program in C++ Programming examples

BITG 1113: Introduction To Computers And Programming Language LECTURE 1 LECTURE 1 1

Chapter 1 Introduction to Computers and C++ Programming

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language

Assembly Language: g Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

Lecture 01: Basic Structure of Computers

Experiment 3 3 Basic Input Output

COMP Computer Basics. Yi Hong May 13, 2015

Introduction to Computers and Java

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

Administration Computers Software Algorithms Programming Languages

Introduction to Computers and Java

1. A folder inside a folder is called. a) Mini Directory b) Sub Directory c) Root Folder d) Child Folder e) None of these

MEHRAN UNIVERSITY OF ENGINEERING AND TECHNOLOGY, JAMSHORO. FIRST TERM FIRST YEAR (1 ST TERM) B.E.(ELECTRICAL) REGULAR EXAMINATION 2009 OF 09-BATCH.

Python Programming: An Introduction to Computer Science

CHAPTER 1 TYPES & COMPONENTS OF COMPUTER SYSTEM

COMPUTER BASICS Processing/Storage

ST. MARY S COLLEGE FORM 4

Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History

Chapter 2 Data Manipulation

Chapter Two. Hardware Basics: Inside the Box

Assembling, Linking and Executing 1) Assembling: .obj obj .obj.lst .crf Assembler Types: a) One pass assembler:

Computer Components. Software{ User Programs. Operating System. Hardware

Fundamentals of Programming. Lecture 1: Introduction to C Programming

Basic Assembly SYSC-3006

Review for COSC 120 8/31/2017. Review for COSC 120 Computer Systems. Review for COSC 120 Computer Structure

9/11/08 (c) 2008 Matthew J. Rutherford Class (c) 2008 Matthew J. Rutherford Class

An Introduction to Computers and Java CSC 121 Spring 2015 Howard Rosenthal

An Introduc+on to Computers and Java CSC 121 Spring 2017 Howard Rosenthal

INFORMATION COMUNICATION TECHNOLOGY SKS Lecture Two

Chapter 2 COMPUTER SYSTEM HARDWARE

Assembly Language. Lecture 2 x86 Processor Architecture

Chapter One. Introduction to Computer System

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Introduction to Computers and Java

Hardware and Software - Revision Summary

Terminology, Types of Computers & Computer Hardware

Introduction to Computers and Java

0 Introduction: Computer systems and program development

Chapter 1 INTRODUCTION

Programming Principles and Techniques

Introduction to Computers. Joslyn A. Smith

Introduction to Computer Systems and Operating Systems

Downloaded From :

Midterm Exam #2 Answer Key

Introduction to Scientific Computing

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Experiment #5. Using BIOS Services and DOS functions Part 1: Text-based Graphics

Intentionally Blank 0

Transcription:

CSI31 Introduction to Computer Programming I Dr. Sharon Persinger Fall 2018 1

Overview Basic definitions: Computer Computer science Algorithm Programming language

What is a computer? A modern computer is a machine that stores and manipulates information under the control of a changeable program. Store and manipulate information Changeable program Universal problem solver

What is a program? A computer program is a detailed step-by-step set of instructions to a computer. A program solves a specific problem.

What is Computer Science? "Computer science is no more about computers than astronomy is about telescopes." Edsger W. Dijkstra Computer science is the scientific study of solving problems by computers. What problems can we solve by computers? What can be computed?

Related terms and fields Mathematics Computer programming Software engineering Many, many subfields

How do you investigate solving a problem? Describe the problem clearly and completely. Do you know what a solution is? Find a procedure that solves the problem. Show that there is a procedure that solves the problem. Show that there is no procedure that solves the problem.

Algorithms, computability, complexity An algorithm is a step-by-step process for solving a problem. Design an algorithm. Understand the problem. Can this problem be solved at all by an algorithm? Analyze an algorithm. Is this solution a good one? Is there a better one? What does better mean? Time? Space?

Abstract View of Basic Computer Hardware CPU Output devices Input devices Main memory Secondary memory

What happens when you run a program? Program instructions are copied into main memory. CPU executes the program step by step: fetch-execute cycle. Get the first instruction Decode what it means Carry it out. Then get the next instruction, and so on.

Hardware Details CPU or central processing unit carries out the basic operations, arithmetic and logical, follow fetch-execute cycle Main memory, RAM, random access memory stores program and data while program is working on data, volatile Secondary memory permanent storage of programs and data, hard disk, flash memory, CD

Hardware Details Input devices get information from user into computer, Examples: keyboard, mouse, microphone Output devices present information from computer to user Examples: monitor, printer, speakers

Programming Languages Designed for expressing computer operations arithmetic and logic without ambiguity Constructs have syntax formal rules Constructs have semantics - meaning

Low Level Language ASM assembly language main proc main mov mov ax, seg message ds, ax mov ah, 09 lea dx, message int 21h mov int 21h endp end main ax, 4c00h

High level vs low level languages Low level languages refer to specific memory locations moving numbers from memory location into CPU, computing arithmetic, and moving results back to memory specific to a particular computer architecture for machines to execute High level languages use notation like mathematics: a = b+c designed for people to write programs portable to lots of different CPUs

Compiling a program: from high level to low level program in high-level source code Computer running compiler program in low-level code inputs Computer running program in low-level code outputs

Interpreting a program: from high level to low level program in highlevel source code computer running interpreter outputs inputs

Compile vs Interpret Compiler translates entire program completely. compiled program can be run over and over without being recompiled compiler not needed to execute code produces faster running programs Interpreter analyzes and executes the code instruction by instruction interpreter needed at run time flexible programming

Python is an interpreted language.

What will you do in this course? Learn some of the terminology of computer science: CPU, input device, high-level language, compiler, function, top-down design,... Learn to analyze problems and write Python programs that solve those problems.

Before you leave class Send an email message with the subject CSI31 to prof.persinger@gmail.com Include your name in the body of the message.