Title: CS112 Retrospective
1CS112 Retrospective
2This course is all about
- MATLAB?
- Computer programming?
- Scientific applications?
- Problem solving!
3MatLab vs. Java
4What is Computer Science?
- Its not really about computers
- Its not really a science
- Its about imperative (how to) knowledge as
opposed to declarative (what is) knowledge - Imperative knowledge is expressed via algorithms
computational recipes - A computer language is a novel formal medium
for expressing ideas about methodology, not just
a way to get a computer to perform operations.
Programs are written for people to read, and only
incidentally for machines to execute
-- Harold Abelson and
Gerald J. Sussman
5Four big ideas
- Four important concepts are at the core of
computer programming1. Abstraction 2.
Modularity3. Divide, Conquer and Glue4. Models - These interrelated ideas are important in almost
every discipline, but theyre at the core of
computing - We illustrated these ideas in several ways
- Our goal was to help you think about problem
solving in new ways
6Big idea number 1 Abstraction
Contract
Implementer / Designer
User / Client
Function Black Box
7Big idea number 2 Modularity
- Large systems are built from components (modules)
- The interfaces between modules are designed so
they can be put together in a mix-and-match way - In MatLab, one important goal is to design
functions and scripts for maximum reusability
8Big idea number 3 Divide, conquer glue
- Divide
- problem P into subproblems
- Conquer
- each of the subproblems
- Glue (combine)
- the solutions to the subproblems into a solution
S for P
9Big idea number 4 Models
- Need simple models to understand complex
artifacts and behaviors
10Assignment 1 Golden Ratio, Olympics, Stars
- Variables and assignment
- Mathematical computations
- Vectors
- Plotting
11Assignment 2 Conditionals, Colon Notation,
Analyze/Visualize Ocean, Smartphone Data
- Conditionals
- Cell arrays
- Indexing colon notation
- Logical values and expressions
- Data analysis and visualization
- Mathematical models
12Assignment 3 Seeing is Believing, Gradesheets,
Energy Data Bean Counting
- Matrices
- Real and synthetic images
- Tables of data
- Reading heterogeneous data
- Image processing
13Assignment 4 cftool, Ubbi Dubbi, Pole Vault
Spread of Disease
- Curve fitting parameterized equations
- String processing
- Loops
- User-defined functions
- Regression models
- Simulating models
- Animations
14Assignment 5 Thumbnails Favorites, MRI
Data, Supply Demand
- Reading/writing image files
- Designing large programs
- Structures
- Loops
- Interactive programming
- Colormaps and color representations
- Computing equilibria
15Assignment 6 A GUI Sketchpad Simulating
Population Growth
- Structures
- Graphics handles
- Properties
- GUIs
- Layout editor
- Simulations
16Assignment 7 Supply Demand Revisited, Mystery
of Life, Parlez-vous Francais?
- Reading/writing files
- Analyzing textual data
- Cell arrays
- Frequency statistics
iphone supply and demand data fabricated by
Sohie, cs112 March 2008 Supply and Demand
Quantities in Thousands (x103) Price Supply
Demand(USA) Demand(Europe) Demand(Asia)
Demand(Canada) 1,500.00 800 2.980
5.808 3.864 3.765 900.00
650 5.767 8.649 9.986
6.755 500.00 500 35.876 24.855
29.544 28.087 400.00 225
45.645 30.786 67.211
45.775 350.00 100 90.656 55.551
106.656 80.099 250.00 50
120.771 126.191 232.799
129.632 100.00 20 223.721 246.687
356.053 145.997 55.00 1
523.875 364.866 467.524
272.075
gtgt translateRNA sequence 1 Val Thr Stop sequence
2 Ala Leu Cys sequence 3 Ile Met Ala Trp Thr
StopLys sequence 4 Tyr Leu Ser Ile Tyr Leu Ser
Ile sequence 5 Leu Tyr StopSer Leu StopGln
sequence 6 Gln Thr Val Glu Arg Ala Leu
sequence 7 Arg Cys Arg Ala Thr Leu Arg Val Ser
gtgt
17Assignment 8 Mobius Strip, Reaching for the
Stars Koch Snowflakes
- Types of numbers
- Color images colormaps
- 3D visualization
- Recursion
18What Else Is There in CS?
- Having taken CS112, you have the tools to solve
fundamental problems with computer programs - In future computational courses, you can
investigate more complex and creative problems
19CS Department Alumnae Address Book
Grad school in computer science Manager of
database administration at Johnson
Johnson Director of applications engineering at
AirFlash Program management for Lotus
multilingual products Web application
development Teaching computer science Product
manager in Silicon Valley Senior consultatnt at
Cambridge Technology Partners Human-computer
interaction Information technology at Morgan
Stanley Foreign exchange trading applications for
Citi Smith Barney
GE corporate research and development Microsoft Ad
agency Program associate at the Center for
Democracy and Technology Med school Credit
Suisse Senior program manager Architecture Teach
English Software engineer Bioinformatics Medical
system analysis in healthcare industry