Chapter 13 Programming and Languages Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Overview Chapter 13 Define Programming Describe the Six Steps of Programming Discuss Design Tools Describe Program Testing Describe CASE Tools Describe Object-oriented Development Explain the Generations of Languages 2/29 Programs and Programming Chapter 13 What Is a Program? Problem Solving Procedure Instructions for the Computer to Follow Statements Used in a Programming Language Process Data into Information 3/29 Programs and Programming Chapter 13 What Is Programming? Six Step Procedure Program Specification Program Design Program Code Program Test Program Documentation Program Maintenance 4/29 Program Specification Chapter 13 Program Objectives Desired Output Input Data Processing Requirements Program Specifications Document 5/29 Program Design Chapter 13 Structured Programming Techniques Top-down Programming Design Modules Program's Processing Steps Pseudocode Outline of Program Logic 6/29 Program Design Chapter 13 Structured Programming Techniques Flowchart Geometric Shapes Depict Sequence of Steps Logic Structures Sequential Selection Repetition 7/29 Program Code Chapter 13 Writing The Program AKA Coding Good Program Works Reliably Produces Correct Output Catches Common Input Errors Code Is Documented and Understandable Uses Appropriate Computer Language(s) 8/29 Program Code Chapter 13 Coding Symbols, Words, and Phrases Content-markup Language Instruct Computer to Structure Information for Display Programming Language Instruct Computer to Perform Specific Operations 9/29 Program Test Chapter 13 Debugging Process of Testing and then Eliminating Errors Syntax Errors Violation of Programming Language Rules Logic Errors Incorrect Calculation Missing Procedure 10/29 Program Test Chapter 13 Testing Process Desk Checking Manual Testing Attempt at Translation Testing Sample Data Testing By a Select Group of Potential Users Beta 11/29 Program Documentation Chapter 13 Description of How to Use Program Users Operators Description of Program Procedures Programmers Maintenance 12/29 Program Maintenance Chapter 13 75% of Total Lifetime Cost Operations Patches Updates Changing Needs 13/29 CASE and OOP Chapter 13 Computer-aided Software Engineering (CASE) Automates Portions of Program Design Coding Testing Object-oriented Programming (OOP) Define Relationships Between Procedures 14/29 CASE and OOP Chapter 13 Using IDE for RAD OOP 15/29 Programming Languages Chapter 13 Categories Low-level Languages First and Second Generation Machine Dependant Typically Determined by Processor Faster Execution, More Code Required High-level Languages Third, Fourth, and Fifth Generation Machine Independent Slower Execution, Less Code Required 16/29 Programming Languages Chapter 13 Machine Language Only Language Directly Understood Uses Binary & Hexadecimal Assembly Language Instructions Made Up Of: Symbolic Instruction Codes Meaningful Abbreviations 17/29 Programming Languages Chapter 13 Third Generation Language (3GL) AKA Procedural COBOL, FORTRAN, C Compiler Converts Entire Code to Machine Language Interpreter Translates One Statement at a Time Must Be Interpreted Before Every Execution 18/29 Programming Languages Chapter 13 Fourth Generation Language (4GL) Task-oriented SQL, Application Generator More English-like Easier to Program Widely Used by Nonprogrammers 19/29 Programming Languages Chapter 13 Fifth Generation Language (5GL) Problem and Constraint Languages Incorporate Concepts of Artificial Intelligence Computer Learns and Applies New Information Communicate Using Natural Languages 20/29 Programming Languages Chapter 13 Top Programming Languages Ranked by Demand & Popularity IEEE 7/14 21/29 Web Development Chapter 13 Planning Establish Site Objectives Launch a Business Presence Selling Goods or Services Increase Brand Recognition Product Information Employment Marketing Target Audience You Want to Reach Demographics 22/29 Web Development Chapter 13 Analysis Measurable Goals Determine Functionality Web Benchmarking Competition Paradigm Shifts Other Sites that Your Users Frequent Offer Comparable Features / Capabilities Establish Timetable Budget 23/29 Web Development Chapter 13 Design Usability Consistency Flowchart Hierarchical View of Site Storyboard Outline of Page Content Wireframe Layout of Page Content Branding 24/29 Web Development Chapter 13 Implementation HTML (Hypertext Markup Language) Static Elements in Angle Brackets Specify Size, Color, etc. DHTML (Dynamic HTML) Graphical Interest Interactivity Develop with JavaScript, CSS 25/29 Web Development Chapter 13 Implementation XML (Extensible Markup Language) Elements Describe Data Passed to a Client Ties Database Data to Web Pages Client, Rather Than Server, Processes Data Web Design Software Create Web pages Without Programming Generates HTML / Some JavaScript Dreamweaver, Expression Web 26/29 Web Development Chapter 13 Testing Test Pages Against Different: Platforms Browsers Versions Monitor Resolutions Deploy FTP (File Transfer Protocol) Upload / Download to / from Web Server 27/29 Web Development Chapter 13 Maintenance Decide What Content Needs Updating Determine Frequency Collect Statistics on Each Page Elicit Feedback from Users ROI 28/29 Careers in IT Chapter 13 Programmer Create, Test, And Troubleshoot Programs Update and Repair Existing Programs Bachelor's Degree in Computer Science Technical Experience Patience, Logical Thinking, Meticulous Annual Salary of $49,000 - $89,000 29/29