KEMBAR78
Why computer programming | PPTX
Civil Engineering
                     Skills


Computer programming
                     CIV1900
                Dr Sam Clarke


                  Introduction
Have you programmed before?
A.   Yes (C++, Java)   25%   25%   25%   25%

B.   Yes (Html, CSS)
C.   Yes (Fortran,
     Matlab)
D.   No




                       A.    B.     C.    D.
How this fits in...
   There are 5 weeks of material that combine a
    short lecture (~ 30 mins), with a 2 hour
    computer class and a short quiz

   Today’s intro lecture & variables

   There will be two sessions (Wks10 & 11) that
    explain how to accomplish particular
    programming tasks

   The final session is more about computer
    graphics and introduces the programming
    assessment.
Assessment
1.   Final quiz is worth 10% (wk12)
     Portfolio elements
     (printed graphics & code) 10%

2.   4 online tests (weeks 8-11)
     Unlimited attempts, 70% to pass.
     Each worth 1.25%
     You will not be allowed to proceed to the next
     Quiz without successful completion
What is Computer
Programming?
Contents for Lecture 1
   Why engineers need to program

   Computer modelling and its importance
    for engineering problems

   How to write an algorithm to solve an
    engineering task
Contents for Lecture 1
   Why engineers need to program

   Computer modelling and its importance
    for engineering problems

   How to write an algorithm to solve an
    engineering task
What is an Algorithm?

A. A step-by-step       25%   25%   25%   25%
   procedure for
   calculations
B. A random
   computer process
C. The music of algae
D. The principle of
   how a computer
   works

                        A.    B.     C.    D.
What is an Algorithm?

   How a computer executes a process

 Order
 Instructions
 Rules
On famous physicist Richard
Feynman’s blackboard at the
time of his death was the
following statement:




   “What I cannot create
   I do not understand.”
Hence, an ability to program
or, at the very least, an ability
to understand how programs
work, is today a vital
engineering skill that greatly
enhances employability.
Simple Physics




     We will have a look at this later…
Beam Stress
Finite Element Analysis




      You will learn about this in 3rd year
Fluid Dynamics




     You will learn about this in 3rd year
Groundwater flow
Uses
     Many of the examples we have just
      seen involve computer models of
      engineering structures.

     Modelling is a very important
      application of programming.

     Programming can be used to streamline
      a series of repeated tasks.
      (such as routine design)
Uses




Geotechnics
Uses                      Force




  Resistance

                         Angle 1




               Angle 2
Uses




       Can you imagine how
       long this would take by hand!!
Uses
Uses



Angle 1: 0-90° in 0.1° increments (900)
Angle 2: 0-90° in 0.1° increments (900)
810000 combinations...
Uses



  Each pixel represents a calculation
  Automated using computer
  programming
Limitations
   We can only formulate a model for a process
    if we have some understanding of the
    relevant physics.

   This will be a simplification of reality because
    we are unable to include all possible factors –
    we try to include those that our engineering
    judgement deem to be the most relevant.

   This is closure – we choose to close out some
    aspects of reality to focus on others.
Verification & Validation
   Verification is our checking to see that our
    model contains the relevant physics and that
    we solve the equations that we formulate for
    the processes in an appropriate way.

   Validation is our checking that the outputs
    from our model match our expectations of the
    behaviour of the real system.
Example
In order to determine the specification for a new
bridge you need to estimate the probable 200
year discharge on a river.

The traditional method to do this involves
finding the largest event in a year and fitting a
statistical distribution to these annual maxima.

The raw data that your firm have been given are
daily discharge maxima.
Data
By hand, the procedure that we would follow
 to construct the annual maxima is
 something like:
(1) Scroll down through the data finding the
  first and last values in a particular year;
(2) Sort these data in descending order of
  discharge and isolate the top value (the
  annual maximum);
(3) Write this value into a column in a new
  file with the year in an adjacent column;
(4) Move on to the next year and repeat.
Programming
All programming involves is the writing of
  an algorithm such as that just given into
  a language that the computer can
  process and understand.
The particular language we will be using is
  that for the Matlab software.
Other computer languages tend to work in
 similar basic ways.
Repeating Stuff
Known as loops
For…. loops
While… loops
For… loops repeat a set of statements a set
  number of times.
While… loops keep repeating WHILE some
 condition holds.
We will cover this more in Week 11
For our example from the discharge
dataset, imagine we have 32 years of data,
with either 365 or 366 days in a year.
Illustrating algorithms with flow diagrams


                 Process


                 Decision



                 Data
Set Maximum to 0

      Leap
      year
      data                      Loop through
                                NumDays


 Is current    No                    Current
 year a leap             N           value
 year?                   o


Yes      NumDays = 365           Is this >
                                 Maximum
                                 ?
NumDays = 366
                               Yes
Set Maximum to
                          this new value
All of the statements
that we have written
                         On completion of
are themselves           the inner loop write
embedded in a For loop   out Maximum for
where the counter runs   this year
from 1 to 32, meaning
that the annual
maximum for each year
is written out.
Over the next few weeks you will:

• Be taught how to use Matlab and
  gain an experience in writing
  Matlab code.

• Be given an engineering problem
  which you will have to solve using
  Matlab

Thus, by week 12 you should be able
to code up an algorithm yourself.
Next Week…


 Guest lecture on Civil
  Engineering design

Peer Assessment period

Why computer programming

  • 1.
    Civil Engineering Skills Computer programming CIV1900 Dr Sam Clarke Introduction
  • 2.
    Have you programmedbefore? A. Yes (C++, Java) 25% 25% 25% 25% B. Yes (Html, CSS) C. Yes (Fortran, Matlab) D. No A. B. C. D.
  • 3.
    How this fitsin...  There are 5 weeks of material that combine a short lecture (~ 30 mins), with a 2 hour computer class and a short quiz  Today’s intro lecture & variables  There will be two sessions (Wks10 & 11) that explain how to accomplish particular programming tasks  The final session is more about computer graphics and introduces the programming assessment.
  • 4.
    Assessment 1. Final quiz is worth 10% (wk12) Portfolio elements (printed graphics & code) 10% 2. 4 online tests (weeks 8-11) Unlimited attempts, 70% to pass. Each worth 1.25% You will not be allowed to proceed to the next Quiz without successful completion
  • 5.
  • 6.
    Contents for Lecture1  Why engineers need to program  Computer modelling and its importance for engineering problems  How to write an algorithm to solve an engineering task
  • 7.
    Contents for Lecture1  Why engineers need to program  Computer modelling and its importance for engineering problems  How to write an algorithm to solve an engineering task
  • 8.
    What is anAlgorithm? A. A step-by-step 25% 25% 25% 25% procedure for calculations B. A random computer process C. The music of algae D. The principle of how a computer works A. B. C. D.
  • 9.
    What is anAlgorithm?  How a computer executes a process  Order  Instructions  Rules
  • 10.
    On famous physicistRichard Feynman’s blackboard at the time of his death was the following statement: “What I cannot create I do not understand.”
  • 11.
    Hence, an abilityto program or, at the very least, an ability to understand how programs work, is today a vital engineering skill that greatly enhances employability.
  • 12.
    Simple Physics We will have a look at this later…
  • 13.
  • 14.
    Finite Element Analysis You will learn about this in 3rd year
  • 15.
    Fluid Dynamics You will learn about this in 3rd year
  • 16.
  • 17.
    Uses  Many of the examples we have just seen involve computer models of engineering structures.  Modelling is a very important application of programming.  Programming can be used to streamline a series of repeated tasks. (such as routine design)
  • 18.
  • 19.
    Uses Force Resistance Angle 1 Angle 2
  • 20.
    Uses Can you imagine how long this would take by hand!!
  • 21.
  • 22.
    Uses Angle 1: 0-90°in 0.1° increments (900) Angle 2: 0-90° in 0.1° increments (900) 810000 combinations...
  • 23.
    Uses Eachpixel represents a calculation Automated using computer programming
  • 24.
    Limitations  We can only formulate a model for a process if we have some understanding of the relevant physics.  This will be a simplification of reality because we are unable to include all possible factors – we try to include those that our engineering judgement deem to be the most relevant.  This is closure – we choose to close out some aspects of reality to focus on others.
  • 25.
    Verification & Validation  Verification is our checking to see that our model contains the relevant physics and that we solve the equations that we formulate for the processes in an appropriate way.  Validation is our checking that the outputs from our model match our expectations of the behaviour of the real system.
  • 26.
    Example In order todetermine the specification for a new bridge you need to estimate the probable 200 year discharge on a river. The traditional method to do this involves finding the largest event in a year and fitting a statistical distribution to these annual maxima. The raw data that your firm have been given are daily discharge maxima.
  • 27.
  • 28.
    By hand, theprocedure that we would follow to construct the annual maxima is something like: (1) Scroll down through the data finding the first and last values in a particular year; (2) Sort these data in descending order of discharge and isolate the top value (the annual maximum); (3) Write this value into a column in a new file with the year in an adjacent column; (4) Move on to the next year and repeat.
  • 29.
    Programming All programming involvesis the writing of an algorithm such as that just given into a language that the computer can process and understand. The particular language we will be using is that for the Matlab software. Other computer languages tend to work in similar basic ways.
  • 30.
    Repeating Stuff Known asloops For…. loops While… loops For… loops repeat a set of statements a set number of times. While… loops keep repeating WHILE some condition holds. We will cover this more in Week 11
  • 31.
    For our examplefrom the discharge dataset, imagine we have 32 years of data, with either 365 or 366 days in a year.
  • 32.
    Illustrating algorithms withflow diagrams Process Decision Data
  • 33.
    Set Maximum to0 Leap year data Loop through NumDays Is current No Current year a leap N value year? o Yes NumDays = 365 Is this > Maximum ? NumDays = 366 Yes
  • 34.
    Set Maximum to this new value All of the statements that we have written On completion of are themselves the inner loop write embedded in a For loop out Maximum for where the counter runs this year from 1 to 32, meaning that the annual maximum for each year is written out.
  • 35.
    Over the nextfew weeks you will: • Be taught how to use Matlab and gain an experience in writing Matlab code. • Be given an engineering problem which you will have to solve using Matlab Thus, by week 12 you should be able to code up an algorithm yourself.
  • 37.
    Next Week… Guestlecture on Civil Engineering design Peer Assessment period