Understanding the Essence of Computer Science and Computational Thinking

Slide Note
Embed
Share

Delve into the fundamentals of Computer Science and Computational Thinking through chapters discussing the nature of science, predictions in physics, and the distinction between Computer Science and Computer Information Systems. Explore the relationships between Math, Physics, and Computer Science in an insightful journey through the transformative processes of information. Discover the essential concepts that underpin the computational world we live in.


Uploaded on Oct 05, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. ESSENTIAL COMPUTATIONAL THINKING: CHAPTERS 00 - 02 Dr. Ricky J. Sethi Essential Computational Thinking

  2. Chapters 00 - 02 What is Computer Science?

  3. What is Science? Science is about making predictions: precise, quantitative, falsifiable Experiment by The Great Randi (James Randi) in a psychology class: Barnum Effect! Where you describe personality in generic terms http://psych.fullerton.edu/mbirnbau m/psych101/barnum_demo.htm https://www.youtube.com/watch?v= NBXRzdzFnHk https://theconversation.com/the- science-of-why-so-many-people- believe-in-psychic-powers-102088 Link to Randi s Biographical Documentary, An Honest Liar

  4. What is Computer Science? Physics is about making predictions about motion: how the universe does things Natural Philosophers: Greeks who love knowledge (Greek word for nature is physikos) Aristotle dominated physics: motion different on Earth than in Heavens Galileo and Newton overturned that; Democritus thought about un-sliceable atomos Now we know particles (and fields) aren t fundamental but information is Universe is informational at its core and the physical elements carry out or process the computation It from Bit (relativistic: matter tells space how to bend, space tells matter how to move) CS is about such kinds of processes that transform information We ll define these terms precisely in just a bit

  5. CS is about processes and CIS is about the flow of data Part of these processes is the flow of data Universe converts Data Information using some PROCESS Can be particles or abstract mathematical algorithms or some computation or calculation CS is different from CIS! CIS is more about looking at the flow of data and CS is more about the process itself

  6. Math CS Physics Computer Science is a proper subset of Mathematics We deal only with computable functions Not all functions in Mathematics are computable! All functions in physics are computable Mathematics Computer Science Physics

  7. Math and Physics, and Computer Science Predictions are made by some sort of systematic, structured methodology your model This model is usually mathematical for some reason, mathematics seems to be the language of the Universe! no one seems to know why! Physics deals with equations or functions like gravitation ??=??1?2 ?2 Some of these models have been verified or validated to such an extent that it would be perverse to deny they must reflect some insight about the underlying, objective reality!

  8. Math, Physics, and CS Math tends to cover a lot of functions which seem to have no mapping, or relation, to reality If they do have relation to reality, they fall under rubric of Physics E.g., Newtonian equations apply to an inertial frame which is essentially a flat space for all intents and purposes This works because the Earth is locally flat (but globally an oblate spheroid) Euclid s Elements describe the geometry of flat surfaces well! Topology: conserved properties under deformations Manifold: topological space that is locally Euclidean Riemann and Gauss considered geometry of curves spaces in the 1850 s or so Interesting but went nowhere Until a little-known patent clerk with a kid and wife realized spacetime itself was curved and gravity was just response to Energy-Momentum Girlfriend pregnant in high school, no job after college, cousin got him job in Swiss patent office Physics is a proper subset of Math and deals with these kinds of computable functions CS tries to find limits of computability!

  9. Computation! Can calculate, or compute, these functions Computable Functions These functions involved calculating a lot of steps 1st computers were female mathematicians! Turing thought about the individual steps in such calculations, or computations Each individual step is simple and easy to calculate with just pen and paper Add x to both sides; subtract 15 from both sides; etc. Could a mechanical machine carry out these calculations, or computations? Turing thought of simple, hypothetical machines that can carry out these simple individual calculation steps We just need to give them a complete set of instructions: an algorithm or program Simple machine that has a read/write head and an endless ticker tape Ticker tape was cutting-edge technology then (source of ticker tape parades)

  10. Can machines think? If all of physics deals only with computable functions And humans are physical beings Can our brains be modeled by a computable function? If so, can a machine calculate that computable function? I.e., can a machine think???

  11. The Turing Test In Victorian times, people played various parlour games as romantic notions of marriage shifted One of these games was the Imitation Game http://www.cs4fn.org/ai/partygames.php Turing devised a similar test for Artificial Intelligence Today, we have digital machines that can pass the Turing test, a soft test of AI But these digital machines were very new and bulky then! This is again why the 1st computers: female mathematicians! In fact, the earliest electronic digital machines used vacuum tubes but were an improvement over earlier electromechanical computers Admiral Grace Hopper discovers the first bug in a vacuum tube

  12. Moores Observation As new digital machines started to permeate business, they started to become increasingly profitable Robert Noyce and Gordon Moore left Fairchild Semiconductor Formed their own company Intel Moore s Law Observation in 1965: observation that the number of transistors in a dense integrated circuit doubles about every two years More transistors == more power as seen on a log-linear curve!

  13. Plenty of room Feynman one of the great minds Arlene, path integral formulation of QM, developed QED (first quantum field theory) QFT is the most successful theory developed by our species with predictions in the billionths of digits and never been invalidated! Gave a talk in 1959 called Plenty of Room at the Bottom Considered the possibility of direct manipulation of individual atoms as a more powerful form of synthetic chemistry Quantum tunneling means the transistor breaks down Electrons can essentially bypass a previously impenetrable barrier All these things in physics, particle, wave, etc., are just NUMBERS!

  14. VIDEOS! Videos Feynman: Key to Science: https://www.youtube.com/watch?v=wAZoxNUL0D4 Plenty of Room at Bottom (nanotech and Moore s Observation): http://vimeo.com/27724243 Nanotech will transform existence itself Self-Assembly: nature does computation! Program nature at its core using ambient thermal energy Functions like this take Information as Input and Output a Prediction This is what you test in an experiment in Physics! In general, your prediction is your Actionable Decision!

  15. Solving Problems Could use ad hoc approach Intuition or Gut Feeling Your gut doesn t really do a lot of thinking but it does do some and if it happens to make great predictions consistently, go for it! People started to systematize and formalize approaches to solving problems that happened to work well Aristotle formalized logic as a consistently good approach (usually) for solving problems

  16. Scientific Method and Computational Thinking Galileo brought in empirical ideas Scientific Method The scientific method really isn t a prescribed method like that they re just tips or approaches that work to help make good predictions and test them in an iterative cycle We talked about the approach to science: come up with a model, make predictions, and iteratively improve model

  17. What is Computational Thinking? General approach to solving any kind of problem Computational Thinking is a generalization of the Scientific Method and can be used to solve ANY problem Could use ad hoc approach Intuition or Gut Feeling Your gut doesn t really do a lot of thinking but it does do some and if it happens to make great predictions consistently, go for it! People started to systematize and formalize approaches to solving problems that happened to work well Aristotle formalized logic as a consistently good approach (usually) Galileo brought in empirical ideas Scientific Method The scientific method really isn t a prescribedmethod like that they re just tips or approaches that work to help make good predictions and test them in an iterative cycle Computational Thinking is a generalization of the Scientific Method and can be used to solve ANY problem We re inherently physical beings and any problem we face, from romantic to existential, has a physical basis for solution!

  18. Computational Thinking Skills/Tips CT involves skills such as: Decomposition Breaking down a problem into smaller chunks that can be addressed separately Pattern Recognition Identifying common characteristics and recurring elements Trends or regularities Abstraction Reducing complexity by identifying general rules and principles that involve only essential elements Ignore non-essential details Generalization Applying existing processes and solutions to new problems OPTIONAL: Algorithmic Thinking Generating procedural rules that can simplify a process REALLY OPTIONAL: Evaluation Testing a solution s effectiveness

  19. Computation in the universe We can express some mathematical solutions as a step-by- step process These calculations, or computations are made of simple steps If a function can be calculated using a series of such simple steps, it s called a calculable or computable function ALL physics equations are computable functions We are the computing agents that solve these calculations that represent functions which are computable We can express the calculation, or computation, as a step- by-step process An algorithm!

  20. Recap of our story so far Task of Science is to make predictions Precise, quantitative, falsifiable These predictions are made using some systematic framework, which is usually a mathematical model E.g., Physics deals with equations or functions like gravitation ??= ??1?2 ?2 To solve this problem, we can calculate, or compute, the result using a step-by-step process Get the values for the variables (the data) and then plug-and-chug G = 6.673 10-11 N m2 kg-2, m1=10kg, m2=20kg, r=10m Each of the individual steps are simple calculations that can be carried out by some calculating, or computing, agent In this case, we are the computing agent most computers were humans in the past!

  21. Computation in the universe We can express some mathematical solutions as a step-by- step process These calculations, or computations are made of simple steps If a function can be calculated using a series of such simple steps, it s called a calculable or computable function ALL physics equations are computable functions We are the computing agents that solve these calculations that represent functions which are computable We can express the calculation, or computation, as a step- by-step process An algorithm!

  22. Computable Functions We've talked about computable functions: these are functions whose values can be calculated using a series of simple steps, or algorithm We talked about how every function in physics is a computable function but not every function in mathematics is computable We mentioned that Computer Science deals with figuring out which functions are computable and which are not

  23. Turing! Alan Turing thought about such calculable, or computable, functions He wondered if a mechanical computing agent could solve these instead of a human computing agent Mechanizing the calculation of functions using a hypothetical Turing Machine We usually think or model the unknown, or something new, in terms of the familiar E.g., you might have a best friend in KinderGarten named Cody and when you go to 1stgrade, there s no Cody Instead, you find a new friend, James, who also has lunch with you and does the kinds of things Cody did So you model James as a best friend Cody, too. Soon, James exhibits more behaviors and characteristics that you associate with the concept of best friend than Cody ever did Eventually, James becomes your model for the concept of Best Friend Turing machines were modeled on the latest technology of the day: Simple machine with a read/write head and an infinite ream of tape, like the tape used in stock tickers Like a fancy telegraph in ticker machines and telephone; also, origin of ticker tape parades In fact, these kinds of references of a new concept to an older concept are rife in science Brain was modeled as a switchboard then as a computer; quantum particles as particles and waves; universe as hologram

  24. Computation and Turing Machines Computer Science deals with figuring out which functions are computable and which are not Turing's approach was to examine mechanizing the calculation of functions using a hypothetical machine This was a definition of computation: any function that can be calculated using a Turing Macine is computable and computation transforms input to output A TM is a simple machine with a read/write head and an infinite ream of tape, like the tape used in stock tickers Basis for modern computers! But it turns out, not every computable function's value can actually be computed using available time and memory resources! To get an idea of this weird phenomenon, let's imagine there's a salesman named Bob... Bob is pretty good at his job the limits of computation

  25. Task of CS Task of Science is to make predictions Task of CS is to make predictions by solving problems in the universe that can be solved computationally Can solve by: Designing an algorithm: Inductive Logic We do not prove anything! However, if we cannot find an algorithm, does not mean it s not solvable Mathematical Analysis (deductive PROOFS)

  26. So what is computer science? Study of computational processes and information processes Information is the result of processing data (raw facts) by putting it in a particular context to reveal its meaning What is computation? Computation is the manipulation of data by some procedure carried out by some computing agent Data are the structured raw facts or observations of the universe It requires an appropriate representation of the data This can be considered a first approximation of information That representation is used in an algorithmic, step-by-step solution Information Processing: Processes do the conversions: Convert Data Information Knowledge Data: Information: It is Hot Outside Knowledge: If it s hot, don t take jacket Temperature is 70 degrees

  27. How is the data processed? Gather Sensor Data: GPS and temperature (organized in a table) abstraction: ignore certain facts like a Map Data = Raw Facts Processed/Transformed To Information = Conclusion from evidence Conclusion: Hot (algorithm helps decide) Processed/Transformed To Knowledge = Actionable Conclusion Actionable Knowledge: Don t take jacket

  28. Data Structures For the temperature example, we could represent our data as a LIST a data structure like a TODO List There were also economic motivations for software development and progress Sensor Num Location Color Value S1 Edgerly Black [Temp_1] S2 Holmes White [Temp_2] Sn Conlon Black [Temp_n]

  29. Data Information Knowledge So the Processes that do the transformations are the Step-By-Step Procedures (or Algorithms) In the case of gravitational force, the Data part is the input values, the Process is the Mathematical Model of ??, and the transformation to Knowledge might be logical process of a threshold that says if ??> ?, then the two objects will collide The Algorithm can be a logical process, mathematical process (like an average), graph, etc. The processes are executed by some computing agent People, Quarks/Leptons/Bosons, DNA, Digital Machines, switches/transistors, etc. The same algorithm needs to be translated for different computing agents E.g., we might express the average calculation as a math function ? = ? undergrads but as something much simpler for a 5-year-old We could also translate it for a digital machine to execute a program in Python or Java or some such Computational processes solve problems in ANY field! ?? ? for

Related


More Related Content