Software Development CS 1 Rick Graziani Spring 2007.

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

Lecture 1: Overview of Computers & Programming
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Chapter 5 Operating Systems. 5 The Operating System When working with multimedia, the operating system is perhaps the most important, the most complex,
Programming Creating programs that run on your PC
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Computer Concepts 5th Edition Parsons/Oja Page 546 CHAPTER 11 Software Engineering Section A PARSONS/OJA Computer Programming.
Computers: Tools for an Information Age
© Prentice Hall CHAPTER 3 Computer Software.
Algorithms and Programming Languages CS 1 Rick Graziani Cabrillo College Spring 2011.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
Introduction to Programming Programming. COMP102 Prog. Fundamentals I: Introduction / Slide 2 Objectives l To learn fundamental problem solving techniques.
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
Chapter 3 Software Two major types of software
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
Course: Introduction to Computers
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 01 Nell Dale & John Lewis.
Programming Languages Lecture 12. What is Programming?  The process of telling the computer what to do  Also known as coding.
1 Chapter-01 Introduction to Computers and C++ Programming.
Introduction to Computer Programming itc-314
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
Programming Languages
Systems Software & Operating systems
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Slide 1 Standard Grade Computing Studies Systems Software.
Programming: A Brief History. Introduction Five Generations of Programming Languages Gets closer to representing data in human terms Requires additional.
An Introduction to Computers August 12, 2008 Mrs. C. Furman.
Chapter 1 The Big Picture.
Visual BASIC 1 Introduction
Visual C++ Programming: Concepts and Projects
Chapter 3: Computer Software. Stored Program Concept v The concept of preparing a precise list of exactly what the computer is to do (this list is called.
The Teacher Computing Computer Languages [Computing]
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
Evolution and History of Programming Languages 1.
Liang, Introduction to C++ Programming, (c) Chapter 1 Introduction to Computers, Programs, and C++
1 Programming Fundamentals How to Program in C++ How to Program in C++
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
PROGRAMMING LANGUAGES
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Introduction to Computer Programming itc-314 Lecture 04.
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Computer Software.
Introduction to computer programming
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Computer Basics.
Chapter 5 Operating Systems.
Computer Applications in Business
Chapter 1 Introduction to Computers, Programs, and C++
Chapter 1 – Introduction to Computers, the Internet, and the Web
Operating System Interface between a user and the computer hardware
Chapter 1 Introduction to Computers, Programs, and C++
CSCI-235 Micro-Computer Applications
Computer Programming.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Chapter 6 System and Application Software
Introduction to Computer Programming
Chapter 6 System and Application Software
Chapter 6 System and Application Software
CS 330 Programming Languages
Chapter 6 System and Application Software
Presentation transcript:

Software Development CS 1 Rick Graziani Spring 2007

Rick Graziani Definitions Software or Program Instructions that tell the computer what to do Programmer Someone who writes computer programs

Rick Graziani Instruction Set A vocabulary (list) of instructions which can be executed by the CPU The only instructions the CPU can run or execute Example of a CPU’s Instruction Set CPU Instruction Set

Rick Graziani First Generation Languages (Machine Language) Programming computers using the CPU’s instruction set Also known as Machine Language Machine Code File A software file which contains the instructions from the CPU’s instruction set.

Rick Graziani Advantages of First Gen. Software programs execute (run) relatively very quickly Software programs are relatively small in size (Insignificant advantages today) Disadvantages of First Gen. Difficult to write, very detailed and takes a long time Difficult to read Difficult to debug debug = the process to find mistakes in a software program First Generation Languages (Machine Language)

Rick Graziani Second Generation Languages (Assembly Language) Assembly Language = The English-like instructions which are equivalent to the CPU’s instruction set Source Code= The actual instructions written by a programmer Compiler = Software which translates source code instructions of a particular language into machine code

Rick Graziani Question: Which of these two files (source code file or machine code file) will the user need to run this software program? Advantages of Second Gen. Easier to read than first gen. Easier to write than first gen. Easier to debug than first gen. Disadvantages of Second Gen. Still very difficult to write programs Second Generation Languages (Assembly Language)

Rick Graziani Using a compiler

Rick Graziani Third Generation Languages (High level languages) Languages which are somewhere between machine language and the human language. FORTRAN (Formula Translation) 's Language to allow scientists and engineers to program computers. COBOL (Common Business Oriented Language) Language primarily designed for US government and defense contractors to program business applications on the computer. Grace Hopper was one of the developers of COBOL. BASIC (Beginner's All-purpose Symbolic Code) 's Alternative language to FORTRAN for beginning programming students.

Rick Graziani Pascal (named after Blaise Pascal, 17th century French mathematician) 's Language to teach proper structured programming. Structured programming = Programming technique used to make programming more productive and easier to write. Stresses simplistic, modular programs. ADA (named after Ada Lovelace (programmed the 19th century 'analytical engine') - late 1970's Language developed to replace COBOL. Third Generation Languages (High level languages)

Rick Graziani C (successor to BCPL or "B") 's Popular programming language on computers from microcomputers to super computers. Faster and more efficient language. Very powerful language. Source code example of a C Program (Displays Hello World! on the screen.) #include main() { printf("Hello World!"); } C++ (pronounced "C plus plus") 's Object oriented language which is compatible with C. Third Generation Languages (High level languages)

Rick Graziani Advantages Easier to read, write and debug Faster creation of programs Disadvantages Still not a tool for the average user to create software programs Requires very good knowledge of programming and of the language Third Generation Languages (High level languages)

Rick Graziani Advantages Easier to read, write and debug Faster creation of programs Disadvantages Still not a tool for the average user to create software programs Requires very good knowledge of programming and of the language Third Generation Languages (High level languages)

Rick Graziani Writing a Software Program Steps in writing a software program 1. Hardware (CPU) 2. Operating System 3. Programming Language 4. Brand of Compiler 5. Writing the Program

Rick Graziani Task Write a program to convert binary numbers to decimal and decimal numbers to binary Writing a Software Program

Rick Graziani 1. Determine what kind of computer you want your program to run on Macintosh? Windows PC? Mainframe? Writing a Software Program

Rick Graziani 2. Determine which operating system this computer (and the user) will be using Windows XP? Mac OSX? Linux? Writing a Software Program

Rick Graziani 3. Determine which language you will be programming in. C? C++? Java? C++ Writing a Software Program

Rick Graziani 4. Determine the compiler for your language, operating system and hardware Microsoft Visual C++? Borland C++? Watkins C++? Microsoft Visual C++ Writing a Software Program

Rick Graziani 5. Write the program Writing a Software Program

Rick Graziani Compile the program into a machine code file and distribute it to the users via floppy diskette. Writing a Software Program

Rick Graziani Fourth Generation Languages Languages which are more like natural human languages uses English phrases common with data base languages search for name equals “graziani” and state equals “ca” Examples dBase FoxPro Access Oracle Informix SQL

Rick Graziani Fourth Generation Languages Advantages Average users can quickly learn to “query” the database Average users can easily learn how to write programs Programs are written faster Disadvantages Can not write sophisticate programs like word processors, graphics, etc. Mostly for data base applications like phone information.

Rick Graziani The Year 2000 What is the big deal? Older computer systems limited RAM memory limited disk storage slower processors (CPUs) The YEAR was stored using two bytes instead of four bytes, in order to save bytes in RAM and storage 67 instead of 1967

Rick Graziani Example: 500,000 records Save 1 million bytes 500,000 x 4 bytes (19xx) = 2 million bytes 500,000 x 2 bytes (xx) = 1 million bytes less storage on disk less RAM memory needed faster processing The Year 2000 What is the big deal?

Rick Graziani Problem The year 2000 will be “00” or looked at by the computers as the year “1900” Will cause miscalculations for everything from pension funds to horoscopes. The Year 2000 What is the big deal?

Databases and Relationships

Rick Graziani Relationships One-to-One One-to-Many Many-to-Many

Rick Graziani One-to-One Relationships

Rick Graziani One-to-Many Relationships

Rick Graziani One-to-Many Relationships

Rick Graziani Many-to-Many Relationships (Not recommended)

Software Development CS 1 Rick Graziani Spring 2007