CS 112 Retrospective CS 112 Scientific Computation Department

  • Slides: 19
Download presentation
CS 112 Retrospective CS 112 Scientific Computation Department of Computer Science Wellesley College

CS 112 Retrospective CS 112 Scientific Computation Department of Computer Science Wellesley College

This course is all about… • MATLAB? • Computer programming? • Scientific applications? •

This course is all about… • MATLAB? • Computer programming? • Scientific applications? • Problem solving!

Mat. Lab vs. Java Mat. Lab function sum = sum. Vector (v) sum =

Mat. Lab vs. Java Mat. Lab function sum = sum. Vector (v) sum = 0; i = 1; while (i <= length(v)) sum = sum + v(i); i = i + 1; end Java int sum. Vector (int [] v) { int sum = 0; int i = 0; while (i < v. length) { sum = sum + v[i]; i = i + 1; } return sum; }

What is Computer Science? • • • It’s not really about computers It’s not

What is Computer Science? • • • It’s not really about computers It’s not really a science It’s 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

Four big ideas • Four important concepts are at the core of computer programming:

Four big ideas • Four important concepts are at the core of computer programming: 1. Abstraction 2. Modularity 3. Divide, Conquer and Glue 4. Models • These interrelated ideas are important in almost every discipline, but they’re 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

Big idea number 1: Abstraction Contract Implementer / Designer User / Client Function Black

Big idea number 1: Abstraction Contract Implementer / Designer User / Client Function Black Box

Big idea number 2: Modularity • Large systems are built from components (modules) •

Big 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 Mat. Lab, one important goal is to design functions and scripts for maximum reusability

Big idea number 3: Divide, conquer & glue Divide problem P into subproblems Conquer

Big 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 P P 1 P 2 P 3 P 4 S 1 S 2 S 3 S 4 S

Big idea number 4: Models Need simple models to understand complex artifacts and behaviors

Big idea number 4: Models Need simple models to understand complex artifacts and behaviors

Assignment #1: Golden Ratio, Olympics, & Stars • Variables and assignment • Mathematical computations

Assignment #1: Golden Ratio, Olympics, & Stars • Variables and assignment • Mathematical computations • Vectors • Plotting

Assignment #2: Conditionals, Colon Notation, Analyze/Visualize Ocean, Smartphone Data • Conditionals • Cell arrays

Assignment #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

Assignment #3: Seeing is Believing, Gradesheets, Energy Data & Bean Counting • Matrices •

Assignment #3: Seeing is Believing, Gradesheets, Energy Data & Bean Counting • Matrices • Real and synthetic images • Tables of data • Reading heterogeneous data • Image processing

Assignment #4: cftool, Ubbi Dubbi, Pole Vault & Spread of Disease • Curve fitting

Assignment #4: cftool, Ubbi Dubbi, Pole Vault & Spread of Disease • Curve fitting & parameterized equations • String processing • Loops • User-defined functions • Regression models • Simulating models • Animations

Assignment #5: Thumbnails & Favorites, MRI Data, Supply & Demand • Reading/writing image files

Assignment #5: Thumbnails & Favorites, MRI Data, Supply & Demand • Reading/writing image files • Designing “large” programs • Structures • Loops • Interactive programming • Colormaps and color representations • Computing equilibria

Assignment #6: A GUI Sketchpad & Simulating Population Growth • Structures • Graphics handles

Assignment #6: A GUI Sketchpad & Simulating Population Growth • Structures • Graphics handles • Properties • GUIs • Layout editor • Simulations

Assignment #7: Supply Demand Revisited, Mystery of Life, & Parlez-vous Francais? • Reading/writing files

Assignment #7: Supply Demand Revisited, Mystery of Life, & Parlez-vous Francais? • Reading/writing files • Analyzing textual data • Cell arrays • Frequency statistics >> translate. RNA sequence 1: Val Thr Stop sequence 2: Ala Leu Cys sequence 3: Ile Met Ala Trp Thr Stop. Lys sequence 4: Tyr Leu Ser Ile sequence 5: Leu Tyr Stop. Ser Leu Stop. Gln sequence 6: Gln Thr Val Glu Arg Ala Leu sequence 7: Arg Cys Arg Ala Thr Leu Arg Val Ser >> iphone supply and demand data fabricated by Sohie, cs 112 March 2008 Supply and Demand Quantities in Thousands (x 10^3) 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

Assignment #8: Mobius Strip, Reaching for the Stars & Koch Snowflakes • Types of

Assignment #8: Mobius Strip, Reaching for the Stars & Koch Snowflakes • Types of numbers • Color images & colormaps • 3 D visualization • Recursion

What Else Is There in CS? • Having taken CS 112, you have the

What Else Is There in CS? • Having taken CS 112, you have the tools to solve fundamental problems with computer programs • In future computational courses, you can investigate more complex and creative problems

CS Department Alumnae Address Book Grad school in computer science GE corporate research and

CS Department Alumnae Address Book Grad school in computer science GE corporate research and development Manager of database administration at Johnson & Johnson Microsoft Director of applications engineering at Air. Flash 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 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