0% found this document useful (0 votes)
105 views

Introduction To Computing Using Matlab: CS 1112 Fall 2013 (CS1142) Dr. K.-Y. Daisy Fan

This document provides an overview of an introduction to computing course using Matlab at Cornell University. It discusses the course goals of developing computational senses and facility with Matlab. It describes an illuminating problem of computing square roots to motivate geometric and algorithmic thinking. The document outlines the course syllabus, policies, and assignments. It compares the Matlab-based course to other computing course options at Cornell that use Python or focus on graphical user interfaces.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
105 views

Introduction To Computing Using Matlab: CS 1112 Fall 2013 (CS1142) Dr. K.-Y. Daisy Fan

This document provides an overview of an introduction to computing course using Matlab at Cornell University. It discusses the course goals of developing computational senses and facility with Matlab. It describes an illuminating problem of computing square roots to motivate geometric and algorithmic thinking. The document outlines the course syllabus, policies, and assignments. It compares the Matlab-based course to other computing course options at Cornell that use Python or focus on graphical user interfaces.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Introduction to Computing

Using Matlab
CS 1112 Fall 2013
(CS1142)
Dr. K.-Y. Daisy Fan
http://www.cs.cornell.edu/courses/cs1112/

Todays lecture

An illuminating problem
CS1112 philosophies & syllabus
What is computer programming?
Choosing between CS1112 & CS1110
Course logistics/policies (highlights)
How about CS1115? Introduction to
Computational Science and Engineering Using
Matlab Graphical User Interfaces
Lecture 1

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 lengththat is A
Idea: Make a square with area A
Real task: Make a sequence of increasingly square
rectangles, each with area A

Lecture 1

How to make a rectangle more square?

If a square and a rectangle both have area A

then A is between the length and width of the


rectangle

Lecture 1

An improvement strategy
A/L

Current:
L
Recipe:

Lnew = (L + A/L) / 2

The average of
the length and
width.

A/Lnew

Next:
Lnew

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...
Lecture 1

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)

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

Lecture 1

12

A sense of geometry

Lecture 1

13

A sense of complexity

What is the best


itinerary to visit
Boston, Miami, LA,
Dallas?
3! = 6 possibilities
Add Seattle, NYC
Austin, Denver
7! = 5040

If a computer can process 1 billion itineraries a second,


how long does it take to solve a 100-city problem?
Lecture 1

14

A sense of complexity

What is the best


itinerary to visit
Boston, Miami, LA,
Dallas?
3! = 6 possibilities
Add Seattle, NYC
Austin, Denver
7! = 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

A sense of approximation & error


1/3 = .33333

Lecture 1

16

A sense of randomness and probability

Random walk
Brownian motion in water

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

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
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)

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. (Dont steal music.)
Click on the music file to download it onto your
computer
Drag the file to your library

Reference: iTunes

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. (Dont steal music.)

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. (Dont steal music.)
Click on the music file to download it onto your
computer
Drag the file to your library

Reference: iTunes

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. (Dont steal music.)
Click on the music file to dowNload it onto your
computer
file Drag your librAry to

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

Lecture 1

25

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 text,


image, and other files)
Matlab has extensive libraries of mathematical,
statistical, simulation, and other tools. It is heavily
used in engineering & sciences, both in industry and
academia.
Lecture 1

28

Engineering students take one of these courses:


CS1112 this course, Matlab
CS1115 Matlab + GUI
CS1110 Python
Each course satisfies the Engineering Computing
Requirement. In 1112 you will learn procedural
programming in depth and be introduced to objectoriented programming.
Each course can serve as the prerequisite for
CS/ENGRD 2110 Object-Oriented Programming &
Data Structure

Lecture 1

29

CS1112 has a focus on computational science & engineering


Approximation, randomness,
model building, sensitivity of models

Lecture examples and homework illustrate above


themes
Edge detection
Ranking web pages
Congressional apportionment

Lecture 1

31

Some past programming assignments

Draw the random Mondrian

Find the US population center


from census data
Organize protein data using
structure arrays
Mozarts musical dice game

Draw the Betsy Ross Flag


Pyramid 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

Path distance tool


(like that in Google Earth)

600

700

Root finding tool

800

900

Lecture 1

100

200

300

400

500

600

700

800

900

32

1000

CS1110 Now in Python

Switched from Java to Python because Python is a


friendlier and more modern object-oriented
language.
Python is more relevant to non-computer
scientists than Javanumerical libraries are
available

Matlab and Python are just different vehicles we


Conducive to discussion of design
use to travel the computational landscape.
Different scenery along the way
Both vehicles get you there
Lecture 1

33

CS1112

No prior
programming
experience
One semester of
Calculus
Focus on
computational
science & engineering
Matlab

CS1110

Lecture 1

No prior
programming
experience
No Calculus
Focus on software
development
Python

35

CS1115 Intro to Computational Science & Engineering


Using Matlab Graphical User Interfaces

Teaches the same programming concepts as CS 1112 but


there is a semester-long thread that is concerned with
Graphical User Interfaces (GUIs).
Compared to CS 1112, there is slightly more emphasis
on the connection between math and computing.
Assumes Calculus I and some programming experience
making it possible to spend more time on interesting
applications and CS concepts.
Much smallerabout 20 students. The lecture is more
like a discussion section.
Lecture 1

36

CS1112 requirements

Attend lecture
Attend discussionget individual attention/help on
weekly exercises!
Monitor course announcements on website
Do homework: best 5 of 6 programming projects
Take 2 prelims and a final exam at their scheduled times
Answer in-class quizzes (use your clicker)
Adhere to the Code of Academic Integrity

Lecture 1

41

Grading

Best five of six projects (25%)


Discussion exercises (4%)
In-class quizzes (1%)
Prelim 1 (20%)
Prelim 2 (20%)
Final exam (30%)

Lecture 1

42

Course Materials

Insight Through Computing


A 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
Lecture 1

43

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


Lecture 1

44

What to do now?

Pick a course
Take CS1112, CS1110, or CS1115
(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!
Lecture 1

45

CS1112 Discussion Sections


Sec #

Time

Room

201

T 12:20-1:10p

UPS B7 Right & HLS 401

202

T 1:25-2:15p

UPS B7 Right & HLS 401

203

T 2:30-3:20p

UPS B7 Right & HLS 401

204

T 3:35-4:25p

UPS B7 Right & HLS 401

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 401

209

W 2:30-3:20p

UPS B7 Right & HLS 401

210

W 3:35-4:25p

UPS B7 Right & HLS 401

Discussions are held in UPS B7 the first two weeks


Lecture 1

48

You might also like