![Page 1: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/1.jpg)
Introduction to ComputingUsing Matlab
CS 1112 Spring 2012(CIS 1121)
Dr. K.-Y. Daisy Fan
http://www.cs.cornell.edu/courses/cs1112/
![Page 2: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/2.jpg)
Lecture 1 4
Today’s lecture
An illuminating problem CS1112 philosophies & syllabus What is computer programming? Choosing between CS1112 & CS1110 Course logistics/policies (highlights)
How about CS1114? Introduction to Computing using Matlab & Robotics
![Page 3: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/3.jpg)
Lecture 1 5
An illuminating problem: computing square roots
Suppose A > 0
Observation: If A is the area of a square, then I can just measure the side length—that is
Idea: Make a square with area A
Real task: Make a sequence of increasingly square rectangles, each with area A
A
![Page 4: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/4.jpg)
Lecture 1 6
How to make a rectangle “more square”?
If a square and a rectangle both have area A …
then is between the length and width of the rectangle
A
![Page 5: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/5.jpg)
A/L
Recipe: Lnew = (L + A/L) / 2
Current:
Next:
L
Lnew
A/Lnew
An improvement strategy
The average of the length andwidth.
![Page 6: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/6.jpg)
Lecture 1 8
A Matlab program to make “increasingly square” rectangles
% The first rectangle...L1 = A;W1 = 1;% The second rectangle...L2 = (L1+W1)/2;W2 = A/L2;% The third rectangle...L3 = (L2+W2)/2;W3 = A/L3;% and so on...
![Page 7: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/7.jpg)
The progression of rectangles with area 10
Length Width9.000000000000000 1.0000000000000005.000000000000000 1.8000000000000003.400000000000000 2.6470588235294123.023529411764706 2.9766536964980553.000091554131380 2.9999084486625883.000000001396984 2.999999998603016
![Page 8: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/8.jpg)
Lecture 1 10
Some conclusions from square root finding problem
It paid to have a geometric sense A complicated computation was reduced to a
sequence of elementary calculations A program is like a formula (or sequence of
formulas)
![Page 9: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/9.jpg)
Lecture 1 11
Course Goals
Develop your “computational senses,” senses that you need in computer problem-solving
Develop a facility with the Matlab programming environment
![Page 10: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/10.jpg)
Lecture 1 12
A sense of geometry
![Page 11: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/11.jpg)
Lecture 1 13
A sense of complexityWhat is the best
itinerary to visit Boston, Miami, LA, Dallas?3! = 6 possibilities
Add Seattle, NYC Austin, Denver7! = 5040
If a computer can process 1 billion itineraries a second, how long does it take to solve a 100-city problem?
![Page 12: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/12.jpg)
A sense of complexityWhat is the best
itinerary to visit Boston, Miami, LA, Dallas?3! = 6 possibilities
Add Seattle, NYC Austin, Denver7! = 5040
If a computer can process 1 billion itineraries a second, how long does it take to solve a 100-city problem?
About a century…
![Page 13: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/13.jpg)
Lecture 1 15
A sense of approximation & error
1/3 = .33333…
![Page 14: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/14.jpg)
Lecture 1 16
A sense of randomness and probability
Random walkBrownian motion in water
![Page 15: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/15.jpg)
Lecture 1 17
Course Goals
Develop your “computational senses,” senses that you need in computer problem-solving
Develop a facility with the Matlab programming environment
![Page 16: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/16.jpg)
Lecture 1 18
Computer problem-solving
Key: Algorithmic thinking
Algorithm:A step-by-step procedure that takes you from a prescribed set of inputs to a prescribed set of outputs
Program:The algorithm expressed in a specific language, e.g., Matlab
![Page 17: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/17.jpg)
Lecture 1 19
Computer problem-solving — Programming
Developing instructions for the computer to execute (in order to solve some problem)
The steps must be logical Use a particular language and follow the rules of the
language (grammar/syntax)
![Page 18: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/18.jpg)
Lecture 1 20
Example: Adding songs from the internet to your music library
Find a website with MP3 or other audio files Register with the music site, if required for music
downloading. (Don’t steal music.) Click on the music file to download it onto your
computer Drag the file to your library
Reference: iTunes
![Page 19: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/19.jpg)
Lecture 1 21
Example: Adding songs from the internet to your music library
Drag the file to your library Click on a music file to download it onto your
computer Find a website with MP3 or other audio files Register with the music site, if required for music
downloading. (Don’t steal music.)
![Page 20: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/20.jpg)
Lecture 1 22
Example: Adding songs from the internet to your music library
Find a website with MP3 or other audio files Register with the music site, if required for music
downloading. (Don’t steal music.) Click on the music file to download it onto your
computer Drag the file to your library
Reference: iTunes
![Page 21: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/21.jpg)
Lecture 1 23
Example: Adding songs from the internet to your music library
Find a website with MP3 or other audio files Register with the music site, if required for music
downloading. (Don’t steal music.) Click on the music file to dowNload it onto your
computer file Drag your librAry to
![Page 22: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/22.jpg)
Lecture 1 24
Computer programming is …
a tool used by computer scientists, engineers, and other professionals
not all of computer science
Think about astronomy: Telescope is a tool used by astronomers; astronomy is not about telescopes…
![Page 23: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/23.jpg)
Lecture 1 27
Matlab is the vehicle we use
With the Matlab environment, you can easily
Develop programs Display results & ideas graphically Interact with large data sets Process images and sound
![Page 24: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/24.jpg)
Lecture 1 28
Engineering students take either CS1112 or CS1110
Matlab and Java are just different vehicles we use to travel the “computational landscape”
Different scenery along the way Both vehicles get you there
Take 4 credits in one language (e.g., Matlab, 1112) Followed by 1 credit in the other (e.g., Java, 1130)
![Page 25: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/25.jpg)
Lecture 1 29
CS1112 has a focus on computational science & engineering
Approximation, randomness, model building, sensitivity of models
Lecture examples and homework illustrate above themesEdge detectionRanking web pages Congressional apportionment
![Page 26: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/26.jpg)
Lecture 1 30
Find the US population center from census data
Organize protein data using structure arrays
Mozart’s musical dice gamePyramid of Khufu, Egypt Scale is 5.54 feet per unit length on axes
Select a path using multiple mouse clicks. Click outside the map to stop.Total distance: 8379.3 feet
100 200 300 400 500 600 700 800 900 1000
100
200
300
400
500
600
700
800
900
Some past programming assignments
Root finding tool
Path distance tool(like that in Google Earth)
Draw the “Betsy Ross Flag”
Draw the random Mondrian
![Page 27: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/27.jpg)
Lecture 1 31
Java, another vehicle …
An “object-oriented” language. A different way to structure a program compared to Matlab
Conducive to discussion of design
Matlab and Java each has its place where it shines. Both are good vehicles for beginning our travel
over the computational landscape.
![Page 28: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/28.jpg)
Some assignments in CS1110
Translate between the 3 color models
Process images
Checkers
Koch snowflakes
![Page 29: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/29.jpg)
Lecture 1 33
No prior programming experience
One semester of Calculus
Computational science and engineering
Matlab
No prior programming experience
No Calculus
Focus on object-oriented programming
Java
CS1112 CS1110
![Page 30: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/30.jpg)
CS1114 Intro to Computing Using Matlab & Robotics
An honors course that teaches basic programming concepts using two robot platforms: the Sony Aibo and the Wowwee Rovio.
Also teaches programming with basic computer vision techniques. Students write programs that process and analyze images they capture.
Pre-req: some programming experience
Lecture 1 34
![Page 31: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/31.jpg)
Lecture 1 37
CS1112 requirements
Attend lecture Attend section—get individual attention/help on weekly
exercises! Monitor course announcements on website Do homework: best 5 of 6 programming projects Take 3 prelims and a final exam Answer in-class quizzes (use your clicker) Adhere to the Code of Academic Integrity
![Page 32: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/32.jpg)
Lecture 1 38
Grading
Best five of six projects (25%) Discussion exercises (4%) In-class quizzes (1%) Prelim 1 (10%) Prelim 2 (15%) Prelim 3 (15%) Final exam (30%)
![Page 33: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/33.jpg)
Lecture 1 39
Course Materials
Insight Through ComputingA Matlab introduction to Computationals Science and Engineering
An iClicker clicker
MATLAB Student Version (2008 or later) optional because you can use it in the public labs
![Page 34: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/34.jpg)
Lecture 1 40
Consulting & Computing
Consulting in ACCEL Green Room (Engineering Library, Carpenter Hall). Check course website for hours.
Some public labs that have Matlab: Upson B-7 ACCEL
(Carpenter Hall, former Engrg Lib)
North campus: RPCC
![Page 35: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/35.jpg)
Lecture 1 41
What to do now?
Pick a courseTake either CS1112 or CS1110, not both.(add/drop: lecture and discussion and AEW)
Check course website Start reading (see listing on course website) Attend discussion in the lab (Upson B7) on
Tues/Wed You must attend the discussion in which you are
enrolled!
![Page 36: Introduction to Computing Using MatlabA Matlab introduction to Computationals Science and Engineering An iClicker clicker MATLAB Student Version (2008 or later) optional because you](https://reader031.vdocument.in/reader031/viewer/2022040819/5e67068c7c834d06862251c7/html5/thumbnails/36.jpg)
Lecture 1 45
Sec # Time Room201 T 12:20-1:10p UPS B7 Right & HLS 314
202 T 1:25-2:15p UPS B7 Right & HLS 314
203 T 2:30-3:20p UPS B7 Right & HLS 362
204 T 3:35-4:25p UPS B7 Right & HLS 362
205 W 10:10-11:00a UPS B7 Right & HLS 401
206 W 11:15a-12:05p UPS B7 Right & HLS 401
207 W 12:20-1:10p UPS B7 Right & HLS 401
208 W 1:25:2:15p UPS B7 Right & HLS 314
209 W 2:30-3:20p UPS B7 Right & HLS 314
210 W 3:35-4:25p UPS B7 Right & HLS 314
211 W 7:30-8:20p UPS B7 Right & OLH 216
CS1112 Discussion Sections
Discussions are held in PHL318* and UPS B7 the first two weeks
*Some students will be notified by email to attend discussion in PHL 318