An Extremely Short Introduction to Computer Programming - PowerPoint PPT Presentation

About This Presentation
Title:

An Extremely Short Introduction to Computer Programming

Description:

... it remains to answer the basic questions: ... Algorithms and Computer Programs Programming Languages LabView LabView Program Java Program (Partial) ... – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 15
Provided by: MikeS122
Category:

less

Transcript and Presenter's Notes

Title: An Extremely Short Introduction to Computer Programming


1
An Extremely Short Introduction to Computer
Programming
  • Mike Scott

2
Who Am I?
  • From St. Charles, Missouri
  • Attended Stanford University 1986 - 1990
  • US Navy 1990 - 1998, Nuclear Submariner
  • Married 1997 to Kelly, A US Navy Nurse
  • Masters in CS, 1998, Rensselaer Polytechnic
    Institute, Troy, New York
  • Out of Navy 1998 (both of us), moved to Austin to
    work for Motorola (Worst 10 weeks of my life)
  • 2 years teaching CS at Round Rock High School
  • 6 years as a lecturer here at UTCS department

3
Olivia and Isabelle
4
Computer Science and Computer Programming
  • There are many different fields of study in
    Computer Science
  • Robotics
  • Architecture
  • Graphics
  • Artificial Intelligence
  • Systems
  • And many, many more

5
Where Does Programming Fit in?
  • "Having surveyed the relationships of computer
    science with other disciplines, it remains to
    answer the basic questions What is the central
    core of the subject? What is it that
    distinguishes it from the separate subjects with
    which it is related? What is the linking thread
    which gathers these disparate branches into a
    single discipline? My answer to these questions
    is simple -- it is the art of programming a
    computer. It is the art of designing efficient
    and elegant methods of getting a computer to
    solve problems, theoretical or practical, small
    or large, simple or complex. It is the art of
    translating this design into an effective and
    accurate computer program."
  • C.A.R. Hoare, Essays in Computing Science
  • Many different areas of Computer Science,
    computer programming is an important tool in
    almost all of those areas

6
Algorithms and Computer Programs
  • Algorithm, a set of detailed, exact instructions,
    to carry out some task or solve some problem
  • A computer program is the expression of an
    algorithm in a language a computer can understand
  • A high level programming language is something
    that is used to implement an algorithm
  • suppose to be easy for humans to understand

7
Programming Languages
  • Many different programming languages
  • Java, C, C, Scheme, Haskell, Visual Basic,
    Perl, Python, Tcl/Tk, Pascal, Basic, Lisp,
    Prolog, Cobol, C, Smalltalk, Eiffel, Fortran,
    Ada, Mathematica, MatLab, LabView
  • These languages are divided into may different
    types
  • Object Oriented, Procedural, Functional,
    Graphical
  • many different ways to solve a problem

8
LabView
  • LabVIEW is a graphical programming language
  • as opposed to a text based programming language
    such as Java or C
  • originally developed to collect and analyze data
    from instrumentation.
  • can be used as a general purpose programming
    language
  • There are similarities
  • must think about what the problem is
  • what is the program suppose to do?
  • must plan a solution
  • must implement and test the solution
  • The difference is what you do when implementing
    solution.
  • typing vs. working with icons

9
LabView Program
10
Java Program (Partial)
public void paintValue(Graphics g)
floath,s,b intcol Stringwks,outs intred,green
,blue h (float)hValue s (float)sValue b
(float)bValue col Color.HSBtoRGB(h,s,b) g.setC
olor(new java.awt.Color(col)) g.
fill3DRect(mainx, mainymainhcy,
mainwcxsatw,cy2, true) int wk
col/256/256/256 col col - wk red
col/256/256 green (col-red256256)/256 blue
col-red256256-green256 wks
Integer.toString(255red,16) if
(wks.length()1) wks "0" wks outs
wks wks Integer.toString(255green,16) if
(wks.length()1) wks "0" wks outs outs
wks wks Integer.toString(255blue,16) if
(wks.length()1) wks "0" wks outs outs
wks g.clearRect(0, mainymainhcy3,
size().width, 35) g.setColor(Color.black) g.draw
String("Color value " outs.toUpperCase(),
mainx5, mainymainhcy325)
11
Result
12
What a Computer Does
  • Programs must be converted into instructions the
    Central Processing Unit of a computer can
    understand
  • The CPU carries out simple operations. Addition,
    subtraction, multiplication, division on numbers
  • So what is the difference between a computer and
    a calculator?
  • The Big Difference is a computer can do
    calculations really fast
  • Pentium 4 chip from 2001 can perform
    approximately 1,700,000,000 computations per
    second
  • If something can be represented numerically it
    can be stored on a computer and manipulated via
    the computer! pictures, images, video, music,
    text, DNA data,

13
Program Conversion
  • high level programming languages are easier for
    humans to use
  • a CPU understands a limited set of instructions
    expressed in binary, 1s and 0s
  • the programs you write are translated or
    converted into a set of instructions the cpu can
    understand and carry out
  • this is done by another program called a compiler

14
Humans Smart, Computers Dumb
  • Programming languages are just tools for writing
    programs
  • No one best programming language
  • LabVIEW -gt do a lot of interesting stuff very
    quickly
  • Really good programmers know lots of languages
    and pick the right one for a particular task
  • part of solving the problem, how to frame the
    solution
Write a Comment
User Comments (0)
About PowerShow.com