CS 2073
Download
1 / 40

Turgay Korkmaz Office: SB 4.01.13 Phone: (210) 458-7346 Fax: (210) 458-4437 e-mail: korkmaz@cs.utsa.edu web: www.cs.u - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

CS 2073 Computer Programming w/Eng. Applications Ch 1. Turgay Korkmaz Office: SB 4.01.13 Phone: (210) 458-7346 Fax: (210) 458-4437 e-mail: korkmaz@cs.utsa.edu web: www.cs.utsa.edu/~korkmaz. Lecture++; . Ch1: Engineering Problem Solving. Read Section 1.1 from the textbook

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Turgay Korkmaz Office: SB 4.01.13 Phone: (210) 458-7346 Fax: (210) 458-4437 e-mail: korkmaz@cs.utsa.edu web: www.cs.u' - lana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Slide1 l.jpg

CS 2073

Computer Programming w/Eng. Applications

Ch 1

Turgay Korkmaz

Office: SB 4.01.13

Phone: (210) 458-7346

Fax: (210) 458-4437

e-mail: korkmaz@cs.utsa.edu

web: www.cs.utsa.edu/~korkmaz



Ch1 engineering problem solving l.jpg
Ch1: Engineering Problem Solving

  • Read Section 1.1 from the textbook

    • Recent Engineering Achievements

      • Microprocessor

      • Moon landing

      • Satellites

      • Computer-aided design (CAD) and manufacturing

      • Jumbo jet

      • Advance computer materials

      • Computerized axial tomography

      • Genetic engineering

      • Lasers

      • Optical fiber

    • Changing Engineering Environment

      • Communication skills (oral, written)

      • Concept-Design-process-manufacture

      • Interdisciplinary teams

      • Word marketplace

      • Analyzing-Synthesizing

      • Societal Context


Ch1 engineering problem solving cont d l.jpg
Ch1: Engineering Problem Solving (cont’d)

  • Section 1.2: Computing Systems

    Computer: a machine that is designed to perform operations (set of instructions called program) to achieve a specific task (e.g., 3+4)

    Hardware: computer equipment (e.g., keyboard, mouse, terminal, hard disk, printer)

    Software: programs that describe the steps we want the computer to perform.


Computer hardware l.jpg
Computer Hardware

Internal

Memory

External

Memory

  • CPU - Central processing unit

  • ALU - Arithmetic and logic unit

  • ROM - Read only memory

  • RAM - Random access memory

CPU

Processor

Input

Output

ALU

In this sense, do you think we are like a computer?

Yes + we have intelligence


Computer software l.jpg
Computer Software

  • Operating System - Provides an interface with the user

    • unix, windows, linux, ...

  • Software Tools

    • word processors (MicrosoftWord, WordPerfect, ...)

    • spreadsheet programs (Excel, Lotus1-2-3, ...)

    • mathematical computation tools (MATLAB, Mathematica, ...)

  • Computer Languages

    • machine language

    • assembly language

    • binary language

    • high level languages (C, C++, Ada, Fortran, Basic, java)

  • WE WILL STUDY C PROGRAMMING LANGUAGE

    • General purpose, machine-independent language

    • Developed at Bell Labs in 1972 by Dennis Ritchie

    • American National Standards Institute(ANSI) approved ANSI C standard in 1989


Executing a computer program l.jpg
Executing a Computer Program

  • Compiler

    • Converts source program to object program

  • Linker

    • Converts object program to executable program


Some key terms and software life cycle phases l.jpg
Some Key Terms andSoftware Life-Cycle Phases

  • Source Program

    • printable/Readable Program file

  • Object Program

    • nonprintable machine readable file

  • ExecutableProgram

    • nonprintable executable code

  • Syntax errors

    • reported by the compiler

  • Linker errors

    • reported by the linker

  • Execution/Run-time errors

    • reported by the operating system


Problem solving l.jpg

PROBLEM SOLVING

Very Important


Ch 1 3 problem solving methodology must read l.jpg
Ch 1.3 Problem Solving Methodology (must read)

  • 1. State the problem clearly

  • 2. Describe the input/output information

  • 3. Work the problem by hand, give example

  • 4. Develop a solution (Algorithm Development)

    • and Convert it to a program (C program)

  • 5. Test the solution with a variety of data


Example 1 l.jpg

(x1,y1)

(x2, y2)

Example 1

1. Problem statement

Compute the straight line

distance between two points in a plane

2. Input/output description

Point 1 (x1, y1)

Distance between two points (distance)

Point 2 (x2, y2)


Example 1 cont d l.jpg
Example 1 (cont’d)

3. Hand example

side1 = 4 - 1 = 3

side2 = 7 - 5 = 2


Example 1 cont d13 l.jpg
Example 1 (cont’d)

4. Algorithm development and coding

a. Generalize the hand solution and list/outline the necessary operations step-by-step

  • Give specific values for point1 (x1, y1) and point2 (x2, y2)

  • Compute side1=x2-x1 and side2=y2-y1

  • Compute

  • Print distance

    b. Convert the above outlined solution to a program using any language you want (see next slide for C imp.)



Example 1 cont d15 l.jpg
Example 1 (cont’d)

5. Testing

  • After compiling your program, run it and see if it gives the correct result.

  • Your program should print out

    The distance between two points is 3.61

  • If not, what will you do?


Modification to example 1 l.jpg

x1=2, y1=5, x2=10, y2=8,

Modification to Example 1

How will you find the distance between two other points (2,5) and (10,8)?


Few issues l.jpg
Few Issues

  • We will study the details of this program and C language later…

  • The programming language is not the main part of problem solving!

  • Main part is to figure out the necessary steps and their orders(if you can develop solution then coding is easy)

  • For the same problem, we may come up with different and yet correct solutions.

  • Computers cannot think or develop a solution, they just follow your instructions and do the operations faster

  • Then how do computers do many things? Even play a game, for example chess?



Compute the area of a triangle l.jpg

x=3 cm

y=4 cm

x

y

area

Compute the area of a triangle

  • State problem

  • I/O

  • Hand example

  • Develop solution

    and Coding

  • Testing

area = ½ * 3 *4 = 6 cm2

  • Get values of x and y

  • Compute area = ½*x*y

  • Print area


Given two complex numbers z1 a1 b1 i and z2 a2 b2 i find z3 z1 z2 l.jpg

a1

b1

a2

b2

a3

b3

Given two complex numbers z1=a1+b1*i and z2=a2+b2*i, find z3= z1+z2

  • State problem

  • I/O

  • Hand example

  • Develop solution

    and Coding

  • Testing

  • Get a1 b1 a2 b2

  • Compute a3 = a1 + a2

  • Compute b3 = b1 + b2

  • Print z3 = a3 + b3 * i


Given the number of seconds find number of hours minutes and seconds l.jpg

H

total_sec

M

S

Given the number of seconds, find number of hours, minutes and seconds

  • State problem

  • I/O

  • Hand example

  • Develop solution

    and Coding

  • Testing

3675 seconds can be written as

1 hour 1 min 15 sec

  • Get total_sec

  • H = total_sec / 3600 (integer division)

  • M = (total_sec – (H*3600)) / 60

    • M = (total_sec mod 3600) / 60

  • S = total_sec – (H*3600) – (M*60)

  • Print H hour, M min, S sec


Slide22 l.jpg

A little bit difficult examples to develop solutions

Some problems are from How to Solve it: Modern Heuristics by Michalewicz and Fogel. Springer 2004.


Example average speed l.jpg
Example: Average speed

  • Suppose a car goes from city A to city B with speed of 40 mph and immediately comes back with the speed of 60 mph.

  • What is the average speed?

  • Can you generalize this solution and outline step by step to find average speed when the speed from A to B is X and the speed from B to A is Y?


Quiz dimensions of a rectangle ranch l.jpg
Quiz: Dimensions of a rectangle ranch?

  • A farmer has a rectangular ranch with a perimeter of P=110 meters and an area of A=200 square meters.

  • What are the

    dimensions of

    his ranch?

  • What are the dimensions for any P and A?

y

x


Example make a triangle with maximum area l.jpg

z

x

y

Example: Make a triangle with maximum area

  • Suppose you have a stick with the length of L meters. You want to divide it into three pieces with the length of x, y, and z meters, and make a triangle

  • Find x, y, z such that

    the area of that triangle

    is maximum.

L


Example climbing a wooden post l.jpg
Example: Climbing a wooden post

  • A snail is climbing a wooden post that is H=10 meters high.

  • During the day, it climbs U=5 meters up.

  • During the night, it falls asleep and slides down D=4 meters.

  • How many days will it take the snail to climb the top of the post?

  • Given that H > U > D. Can you generalize your solution for any H, U, and D?


Minimum number of coins l.jpg
Minimum number of coins

  • Suppose you want to give x=67 cents to a person, what is the minimum number of coins

  • You have many 25, 10, 5, 1 cents


Example assign letter grades l.jpg
Example: Assign letter grades

  • Suppose I have your grades as follows

    name final midterm avg_hw quizze letter

    aaaa 30 20 30 4 ?

    bbbb 20 15 40 10 ?

    How can I assign letter grades?


Example sum of numbers l.jpg
Example: Sum of numbers

Given n (for example n=1000), compute

  • sum = 1+2+3+…+n

  • sum_odd =1+3+5+7+…+(2n+1)

  • ln2=1- 1/2 + 1/3 - 1/4 +…  1/n


If you want this course to be easy you must learn how to act like a computer l.jpg
If you want this course to be easy, you must learn how to act like a computer 

  • Develop necessary step-by-step instructions to perform the following real-life tasks like a computer

    • Driving a car

    • Following a direction to find an address

    • Cook something

    • Search a word in a dictionary

    • Make a phone call

  • Now, its your turn to think of a problem and give STEP-BY-STEP instructions…

  • For the same problem, we may have different and yet correct solutions. So, …


Slide31 l.jpg
Ten heuristics for problem solving act like a computer How to Solve it: Modern Heuristics by Michalewicz and Fogel. Springer 2004.

  • Don’t rush to give an answer, think about it

  • Concentrate on the essentials and don’t worry about the noise (tiny details)

  • Sometimes finding a solution can be really easy (common sense), don’t make it harder on yourself

  • Beware of obvious solutions. They might be wrong

  • Don’t be misled by previous experience


Slide32 l.jpg
Ten heuristics for problem solving act like a computer How to Solve it: Modern Heuristics by Michalewicz and Fogel. Springer 2004.

  • Start solving. Don’t say “I don’t know how”

    • Most people don’t plan to fail, they just fail to plan!

  • Don’t limit yourself to the search space that is defined by the problem. Expand your horizon

  • Constraints can be helpful to focus on the problem at the hand

  • Don’t be satisfied with finding asolution, look for better ones

  • Be patient. Be persistent!


A checklist for engineering reasoning http www criticalthinking org files sam engineering sm pdf l.jpg
A Checklist for act like a computer Engineering Reasoninghttp://www.criticalthinking.org/files/SAM-Engineering-sm.pdf

1. All engineering reasoning expresses a purpose. Take time to state your purpose clearly.

  • Distinguish your purpose from related purposes.

  • Check periodically to be sure you are still on target.

  • Choose realistic and achievable purposes.


Slide34 l.jpg

2. All engineering reasoning seeks to figure something out, to settle some question, solve some engineering problem.

  • Take time to state the question at issue clearly and precisely.

  • Express the question in several ways to clarify its meaning and scope.

  • Break the question into sub-questions.

  • Determine if the question has one right answer, or requires reasoning from more than one hypothesis or point of view.


Slide35 l.jpg

3. All engineering reasoning requires to settle some assumptions.

  • Clearly identify your assumptions and determine whether they are justifiable.

  • Consider how your assumptions are shaping your point of view.

  • Consider the impact of alternative or unexpressed assumptions.

  • Consider the impact of removing assumptions.


Slide36 l.jpg

4. All engineering reasoning is done from some perspective or point of view.

  • Identify your specific point of view.

  • Consider the point of view of other stakeholders.

  • Strive to be fair-minded in evaluating all relevant points of view.


Slide37 l.jpg

5. All engineering reasoning is based on or data, information, and evidence.

  • Validate your data sources.

  • Restrict your claims to those supported by the data.

  • Search for data that opposes your position as well as alternative theories.

  • Make sure that all data used is clear, accurate, and relevant to the question at issue.

  • Make sure you have gathered sufficient data.


Slide38 l.jpg

6. All engineering reasoning is expressed through, and shaped by, concepts and theories.

  • Identify key concepts and explain them clearly.

  • Consider alternative concepts or alternative definitions of concepts.

  • Make sure you are using concepts and theories with care and precision.


Slide39 l.jpg

7. All engineering reasoning entails shaped by, inferences or interpretations by which we draw conclusions and give meaning to engineering work.

  • Infer only what the data supports.

  • Check inferences for their internal and external consistency.

  • Identify assumptions that led you to your conclusions.


Slide40 l.jpg

8. All engineering reasoning leads somewhere or has shaped by, implications and consequences.

  • Trace the implications and consequences that follow from your data and reasoning.

  • Search for negative as well as positive implications (technical, social, environmental, financial, ethical).

  • Consider all possible implications.