Introduction to Information and Computer Science Computer Programming Lecture a This material (Comp4_Unit5a) was developed by Oregon Health and Science.

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 1.
Introduction to Information and Computer Science Computer Programming Lecture e This material (Comp4_Unit5e) was developed by Oregon Health and Science.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Computers: Tools for an Information Age
Programming Languages Structure
Tuesday, January 25, Management of Information Systems: Mini-3 Spring 2000.
Introduction to a Programming Environment
An Introduction to Programming with C++ Fifth Edition Chapter 1 An Introduction to Programming.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
1414 CHAPTER PROGRAMMING AND LANGUAGES. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved Competencies Describe the six steps of programming.
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Chapter 01 Nell Dale & John Lewis.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
History of Programming Languages
Program development & programming languages Chapter 13.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
Introduction to Information and Computer Science Computer Programming Lecture c This material (Comp4_Unit5c), was developed by Oregon Health and Science.
By: Felegh Solomon ITEC SPRING 2013 CHAPTER 4: KEY CONSTRUCTION DECISIONS.
Understanding Computers Ch. 131 Chapter 13 Program Development and Programming Languages.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
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.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Introduction to Information and Computer Science Information Systems Lecture b This material (Comp4_Unit9b) was developed by OHSU, funded by the Department.
Introduction to Information and Computer Science Computer Programming Lecture d This material (Comp4_Unit5d) was developed by Oregon Health and Science.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Introduction to Information and Computer Science Information Systems Lecture c This material (Comp4_Unit9c) was developed by OHSU, funded by the Department.
CHAPTER 1: INTRODUCTION TO COMPUTER SCIENCE Introduction to Computer Science Using Ruby (c) 2012 Ophir Frieder et al.
Chapter 1 The Big Picture.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Introduction to Information and Computer Science Computer Programming Lecture b This material (Comp4_Unit5b), was developed by Oregon Health and Science.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 2.
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 5.
Component 4: Introduction to Information and Computer Science Overview of Programming Languages, Including Basic Programming Concepts.
Programming Languages
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Chapter 1: Introduction to Computers and Programming.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Engineering Algorithms, Compilers, & Lifecycle.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
C++ Programming Chapter 1 Programming & Programs.
The language focusses on ease of use
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Computer Programming (BCT 1113)
Introduction to Computer Science
CSCI-235 Micro-Computer Applications
Principles of Programming I (CIE 105)
Programming Concepts and Languages
Chapter 4 Computer Software.
An Introduction to Visual Basic .NET and Program Design
Developing Applications
Chapter 12 Programming Concepts and Languages.
Software Programming J. Holvikivi 2014.
and Program Development
ICT Programming Lesson 1:
An Introduction to Programming with C++ Fifth Edition
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
CS105 Introduction to Computer Concepts Intro to programming
Presentation transcript:

Introduction to Information and Computer Science Computer Programming Lecture a This material (Comp4_Unit5a) was developed by Oregon Health and Science University, funded by the Department of Health and Human Services, Office of the National Coordinator for Health Information Technology under Award Number IU24OC

Computer Programming Learning Objectives Define the purpose of programming languages. (Lecture a) Differentiate between the different types of programming languages and list commonly used ones. (Lecture a) Explain the compiling and interpreting process for computer programs. (Lecture b) Learn basic programming concepts including variable declarations, assignment statements, expressions, conditional statements and loops. (Lectures c, d) Describe advanced programming concepts including objects and modularity. (Lecture e) 2 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Programming Languages Specify commands for a computer to perform –Syntax –Keywords –Punctuation Create programs Pre-date computers –Jacquard looms –Player pianos 3 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Software All software that runs on a computer is a program –Written using a programming language –Many different languages available Software can be small programs or large, complex ones –Operating system –Word processing program –Simple utility 4 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Software Development Creating software includes more than just writing the computer program Market analysis, requirements, and design specifications are important before starting to write programs Testing is important while writing Support and maintenance are needed for the life of the software 5 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Software Development Stages Planning/exploratory phase Analysis/requirements gathering Design Implementation Testing Deployment and maintenance 6 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Prototyping Prototypes are initial versions of program used for feedback –Paper –Electronic, but not functional program –Functional program, but limited Can be done during any of the initial stages of development Good tool for keeping stakeholders involved 7 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Software Development Methodology/Frameworks Frameworks describe process and structure of development –May include prototyping Development teams follow one methodology for development Some examples: –Waterfall method (Royce, 1971) –Spiral model (Boehm, 1986) –Rapid application development (Martin, 1991) 8 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Algorithms Set of steps that define how a task is performed The computer program implements an algorithm Algorithm development occurred long before computers! 9 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Algorithm Example #1 Making a peanut butter and jelly sandwich –Get the ingredients and tools –Spread peanut butter on one slice –Spread jelly on other slice –Place two slices together 10 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a (Evan-Amos, 2010, PD-US)

Algorithm Example #2 Making a peanut butter and jelly sandwich –Get the ingredients and tools Two slices of bread Peanut butter Jelly Knife –Spread peanut butter on one slice Dip knife into peanut butter Remove knife, bringing peanut butter with it Place knife peanut butter side down on bread Swirl knife to spread peanut butter –Spread jelly on other slice –Place two slices together 11 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a (Evan-Amos, 2010, PD-US)

Algorithm Uses Describes problem solution without the programming syntax –Pseudocode –Flowcharts Plan solution BEFORE programming Can determine/prove –Correctness –Time –Storage 12 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Coding Programs/programming statements are also called code Writing programs is called coding Choices for programming languages: –Functionality of program –Where it will run –What is available 13 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Categories of Programming Languages Low-level languages: First Generation –Machine code (1s and 0s) Second Generation –Assembly language –Words describe commands High-level languages: Third Generation –FORTRAN, BASIC, C, Java –Adds symbols to commands Fourth Generation –SQL –Powerful, complex commands Fifth Generation –Prolog, visual programming 14 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

First-Generation Machine Code Each computer has an instruction set –Set of tasks computer can do –Unique sequence of 0s and 1s Applications are groups of instructions Programmers used to program in 0s and 1s –Switches –Punched cards 15 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Second-Generation Assembly Language Use words to represent instructions Translate assembly code into machine code Unique to each computer, just as machine code is specific to each computer.MODEL Small.STACK 100h.DATA db msg 'Hello, world!$'.CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start 16 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Third-Generation Languages The next generation of languages added operations –No longer unique to computer –Programs more portable Modern programming languages are third generation –FORTRAN, COBOL, C, C++, C#, Java, VB.Net 17 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Programming Paradigms Procedural –BASIC, COBOL, FORTRAN, C Functional –LISP, Scheme Object-oriented languages –C++, C#, Java, Ruby Others 18 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Scripting Languages Languages that control other applications –Batch control—shell scripts –Web browsers—javascript –Text processing—Perl Some have evolved for general application development –Perl, Python 19 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Some Languages Specifically Designated for Health Care MUMPS (Massachusetts General Hospital Utility Multi-Programming System; Neil Pappalardo first developed in 1960s, standardized in 1977) MIIS (Proprietary implementation of MUMPS, 1969) MAGIC (MEDITECH Corp – founder N. Pappalardo, 1982) 20 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Computer Programming Summary – Lecture a Programming languages specify commands for programs to run Software is developed using a methodology Algorithms are sequences of tasks Programming languages may be high level or low level Programming languages have been developed for healthcare 21 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Computer Programming References – Lecture a References Boehm B, (1986). "A Spiral Model of Software Development and Enhancement", ACM SIGSOFT Software Engineering Notes, 11(4):14-24."A Spiral Model of Software Development and Enhancement Meditech Magic Platform. [Webpage]. c [updated 2007 Jan 18; cited 2011 Nov 13]. Available from: MIIS. (2011). Retrieved 2011 Nov 13 from Wikipedia: Morley Deborah, Parker Charles S. (2010). Chapter 13: Program Development and Programming Languages. In: Understanding Computers Today and Tomorrow.12 th ed. Boston: Course Technology. MUMPS. (2011). Retrieved 2011 Mar 1 from Wikipedia : Parsons JJ, Oja D. (2010). Chapter 12: Computer Programming. In: New Perspectives on Computer Concepts 2011: Comprehensive. 13th ed. Boston: Course Technology. Programming Languages. (2011). Retrieved 2011 March 17 from Wikipedia: Programming Paradigms. (2011). Retrieved 2011 Mar 14 from Wikipedia: Rapid Application Development. (2011). Retrieved 2011 Nov 13 from Wikipedia: Scripting Languages. (2011). Retrieved 2011 Mar 11 from Wikipedia : Software Development Methodology. (2011). Retrieved 2011 Nov 13 from Wikipedia: Waterfall Model. (2011). Retrieved 2011 Nov 13 from Wikipedia: 22 Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a

Computer Programming References – Lecture a Images Slide 10, 11: Peanut Butter and Jelly Sandwich Image [image on the Internet]. Evan-Amos. (2010, November 11). Retrieved January 2012, from Wikipedia website: (PD-US) Health IT Workforce Curriculum Version 3.0/Spring 2012 Introduction to Information and Computer Science Computer Programming Lecture a