190 likes | 206 Views
CS112 Retrospective. This course is all about…. MATLAB? Computer programming? Scientific applications? Problem solving!. Java. int sumVector (int [] v) { int sum = 0; int i = 0; while (i < v.length) { sum = sum + v[i]; i = i + 1; } return sum; }. MatLab.
E N D
This course is all about… • MATLAB? • Computer programming? • Scientific applications? • Problem solving!
Java int sumVector (int [] v) { int sum = 0; int i = 0; while (i < v.length) { sum = sum + v[i]; i = i + 1; } return sum; } MatLab function sum = sumVector (v) sum = 0; i = 1; while (i <= length(v)) sum = sum + v(i); i = i + 1; end MatLab vs. Java
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:1. Abstraction2. Modularity3. Divide, Conquer and Glue4. 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 Box
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 MatLab, one important goal is to design functions and scripts for maximum reusability
P P1 P2 P3 P4 S1 S2 S3 S4 S 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
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 • Vectors • Plotting
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 • Real and synthetic images • Tables of data • Reading heterogeneous data • Image processing
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 • Designing “large” programs • Structures • Loops • Interactive programming • Colormaps and color representations • Computing equilibria
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 • Analyzing textual data • Cell arrays • Frequency statistics iphone supply and demand data fabricated by Sohie, cs112 March 2008 Supply and Demand Quantities in Thousands (x10^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 >> 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 >>
Assignment #8: Mobius Strip, Reaching for the Stars & Koch Snowflakes • Types of numbers • Color images & colormaps • 3D visualization • Recursion
What 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
CS 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