COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to Computer Hardware –Introduction to Computer Software –Software Development.

Slides:



Advertisements
Similar presentations
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Advertisements

Lecture 1: Overview of Computers & Programming
Overview of Programming and Problem Solving ROBERT REAVES.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Starting Out with C++, 3 rd Edition 1 Chapter 1. Introduction to Computers and Programming.
COSC 120 Computer Programming
Programming System development life cycle Life cycle of a program
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ 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.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Your Interactive Guide to the Digital World Discovering Computers 2012.
CS102 Introduction to Computer Programming
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall
Introduction 01_intro.ppt
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
INTRODUCTION TO COMPUTER PROGRAMMING itc-314 LECTURE 01.
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.
Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Copyright © 2012 Pearson Education, Inc. Chapter 1 Introduction to Computing and Programming.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
CS2301:Computer Programming 2
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
Computer and Programming. Computer Basics: Outline Hardware and Memory Programs Programming Languages and Compilers.
CS 1308 Exam 2 Review. Exam Format 110 Total Points 24 Points Short Answer 28 Points Fill in the Blank 16 Points T/F 36 Points Multiple Choice The above.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Chapter 1: Introduction to Computers and Programming
Unit 2 Technology Systems
BASIC PROGRAMMING C SCP1103 (02)
An Overview of the Computer System
CSCI-235 Micro-Computer Applications
Chapter 1: An Overview of Computers and Programming Languages
BASIC PROGRAMMING C SCP1103 (02)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
An Introduction to The computer.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Introduction to Computers and Java
Chapter 1. Introduction to Computers and Programming
Course Name: Computer Application Topic: Central Processing Unit (CPU)
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
An Introduction to Visual Basic .NET and 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
Chapter 12 Programming Concepts and Languages.
Chapter 1: Computer Systems
Computer Science I CSC 135.
Computers: Hardware and Software
(Course Introduction)
Chapter 1 Introduction(1.1)
Chapter 1: Preliminaries
ICS103 Programming in C 1: Overview of Computers And Programming
Programming Logic and Design Eighth Edition
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to Computer Hardware –Introduction to Computer Software –Software Development Process –Design Tools Structure Chart Flowchart Pseudo Code Lecture 1

Software is Power Today, everything is controlled or enhanced by software –Computers –Games/Electronic Devices –Vehicles (cars, trucks, planes, trains, etc.) –Appliances (washer, oven, refrigerator, etc.) Only software developers have the power to control the things we use everyday

Java is Everywhere Java is a very popular language –Used exclusively for Android apps –Can be used for Windows 8 apps –Primary open source language

Computer Hardware Comprised of the following 4 systems –Central Processing Unit (CPU) –Memory (primary/secondary) –Input/Output Devices CPU Output Devices Memory Input Devices

Computer Hardware Central Processing Unit (CPU) –Controls all activities of the computer –Comprised of 3 sections Arithmetic/Logic Unit (ALU) Control Unit –Executes instructions using Fetch-Decode-Execute cycles Registers CPU Output Devices Memory Input Devices

Computer Hardware Memory –Comprised of 2 categories Primary (memory circuits attached to the motherboard) –RAM vs. ROM Secondary (removable/portable memory devices) –Hard drive, DVD, thumb drive, the cloud, etc. CPU Output Devices Memory Input Devices

Computer Hardware Input Devices –Converts human information into digital data Computers can only understand digital information –The computer’s language is the Binary number system »The computer stores everything as a number (1s or 0s) CPU Output Devices Memory Input Devices

Computer Hardware Output Devices –Converts digital data into human information Input-Output Devices –Same device performs both input and output Few such devices truly exist A modem or network card are good examples A sound card is not a good example (Why??) CPU Output Devices Memory Input Devices

Computer Hardware Binary number system –The natural language of a computer –Comprised of only 2 digits 0 – Off 1 – On –A binary number can represent any decimal value Requires conversion between the two systems

Computer Software 3 Types of Computer Software –System Software Software that directly interacts with hardware –Operating Systems –Device Drivers –Application Software Software that directly interacts with the user –Web Browser –Office Suite –Development Software Software that creates programs –NetBeans –Microsoft Visual Studio

Types of Programming Languages Machine Language –The natural language of computers Consists entirely of binary numbers –Machine dependent Different computers use different languages –Similar to Americans and Germans –Example

Types of Programming Languages Symbolic Language –Uses mnemonics or symbols rather than binary #s Easier for humans to understand Must be converted into machine language –Machine dependent Different computers use different languages –Symbols must match the correct machine language instructions –Example

Types of Programming Languages High-level Language –Uses English-like words rather than symbols or binary #s Easier for humans to understand Must be converted to symbolic language and then to machine language –Machine independent (usually) Different computers can use the same language –Only the “converters” are machine dependent –Example

Types of Programming Languages Natural Language

Software Development Process Few software projects are successful –Lack of planning –Poor design –Missing requirements –Inflexible to change Design Requirements Budget –Time –Money

Software Development Process Requirements Gathering –What is the purpose of the software application? –What should the final application do? –Functional requirements The thing the software application actually does –Browse the web –Calculate employee salaries –Navigate an airplane –Non-functional requirements Criteria used to determine application performance –Browser supports HTML 5 standards –Salary calculations conform to local/state/federal laws –GPS is accurate to within 1 meter

Software Development Process Analysis –How to design and implement the application –Look for alternative designs and implementations Examine new technologies Prioritize development schedule –The order components are implemented in the application Create prototypes

Software Development Process Design –Create a “blueprint” of the application –Create schedule of component implementation First 3 phases are the most important –The more time spent here, the more successful an application will be –Very little money expended –Quick and easy to correct mistakes in design

Software Development Process Implementation –Actually build the software application This phase requires the most time, money and effort Testing –Verify the application works as designed Gives developers an opportunity to fix problems –Poorly implemented code –Poorly designed feature –Handle changes that occurred to the design Problems missed during testing –End up in the final product –Can be costly in terms of money, reputation and life

Software Development Process Maintenance –Allows developers to update the software product Add new features Fix recently discovered problems Adhere to changes in government regulations –Longest phase of any software application Performed throughout the lifecycle of the product –Most software “bugs” are created in this phase Murphy’s Law of Software Development –Changes made to software will introduce new bugs »Ironic because most changes are made to fix known bugs

Software Development Process Waterfall Model –One of the simplest process models used Has been used for decades Used in most engineering-based fields Requirements Gathering Analysis Design Testing Implementation Maintenance Each phase “flows” into the next phase “Flow” can also move backwards Questions raised during the Analysis Can be answered by returning to the Requirements Gathering phase “Flow” always moves from one phase to the next No phases are skipped Especially after returning to an earlier phase

Software Design Tools Structure Chart –Diagrams the “functional” flow of an application –Looks like a company hierarchy chart Flowchart –Diagrams the “logical” flow of An application A code subset of an application Pseudocode (pseudo = fake) –Describes the “instructions” required for the application –Includes the use of English statements Formulas and equations Mix of the above and actual code (should be avoided)

Problem Solving The essence of programming is to solve problems –Identify the problem What information is needed to solve the problem –Input values (parameters) –Rules that govern the problem environment –Constraints on the problem environment What methodologies are needed to solve the problem –Equations –Algorithms –Processes What and how results need to be displayed –Graphically or text –Formatting requirements –Write the program to solve the problem –Verify (test) the results Fix any issues with the program and test again –Repeat as necessary