280 likes | 467 Views
Chapter 13 . Programming and Languages. Overview. 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. Programs and Programming.
E N D
Chapter 13 Programming and Languages
Overview • 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
Programs and Programming • What Is a Program? • Problem Solving Procedure • Instructions for the Computer to Follow • Statements Used in a Programming Language • Process Data into Information
Programs and Programming • What Is Programming? • Six Step Procedure • Program Specification • Program Design • Program Code • Program Test • Program Documentation • Program Maintenance
Program Specification • Program Objectives • Desired Output • Input Data • Processing Requirements • Program Specifications Document
Program Design • Structured Programming Techniques • Top-down Programming Design • Modules • Program's Processing Steps • Pseudocode • Outline of Program Logic
Program Design • Structured Programming Techniques • Flowchart • Geometric Shapes • Depict Sequence of Steps • Logic Structures • Sequential • Selection • Repetition
Program Code • 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)
Program Code • Coding • Symbols, Words, and Phrases • Content-markup Language • Instruct Computer to Structure Information for Display • Programming Language • Instruct Computer to Perform Specific Operations
Program Test • Debugging • Process of Testing and then Eliminating Errors • Syntax Errors • Violation of Programming Language Rules • Logic Errors • Incorrect Calculation • Missing Procedure
Program Test • Testing Process • Desk Checking • Manual Testing • Attempt at Translation • Testing Sample Data • Testing By a Select Group of Potential Users • Beta
Program Documentation • Description of How to Use Program • Users • Operators • Description of Program Procedures • Programmers • Maintenance
Program Maintenance • 75% of Total Lifetime Cost • Operations • Patches • Updates • Changing Needs
CASE and OOP • Computer-aided Software Engineering (CASE) • Automates Portions of • Program Design • Coding • Testing • Object-oriented Programming (OOP) • Define Relationships Between Procedures
CASE and OOP • Using IDE for RAD OOP
Programming Languages • 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
Programming Languages • Machine Language • Only Language Directly Understood • Uses Binary & Hexadecimal • Assembly Language • Instructions Made Up Of: • Symbolic Instruction Codes • Meaningful Abbreviations
Programming Languages • 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
Programming Languages • Fourth Generation Language (4GL) • Task-oriented • SQL, Application Generator • More English-like • Easier to Program • Widely Used by Nonprogrammers
Programming Languages • Fifth Generation Language (5GL) • Problem and Constraint Languages • Incorporate Concepts of Artificial Intelligence • Computer Learns and Applies New Information • Communicate Using Natural Languages
Web Development • 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
Web Development • Analysis • Measurable Goals • Determine Functionality • Web Benchmarking • Competition • Paradigm Shifts • Other Sites that Your Users Frequent • Offer Comparable Features / Capabilities • Establish Timetable • Budget
Web Development • Design • Usability • Consistency • Flowchart • Hierarchical View of Site • Storyboard • Outline of Page Content • Wireframe • Layout of Page Content • Branding
Web Development • Implementation • HTML (Hypertext Markup Language) • Static • Elements in Angle Brackets • Specify Size, Color, etc. • DHTML (Dynamic HTML) • Graphical Interest • Interactivity • Develop with JavaScript, CSS
Web Development • 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
Web Development • Testing • Test Pages Against Different: • Platforms • Browsers • Versions • Monitor Resolutions • Deploy • FTP (File Transfer Protocol) • Upload / Download to / from Web Server
Web Development • Maintenance • Decide What Content Needs Updating • Determine Frequency • Collect Statistics on Each Page • Elicit Feedback from Users • ROI
Careers in IT • 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