Final Summary
Final Summary
ACCOMPLISHED IN
6.00.1X?
6.00.1X LECTURE 1
WRAPPING IT ALL UP
where have you been?
◦ what are the key topics learned in this course?
◦ what are the key lessons to take from this course?
where are you headed?
◦ how might you use the knowledge you have gained?
◦ what are next steps in enhancing your knowledge of
computation?
6.00.1X LECTURE 2
TOPICS (from Lecture 1)
represent knowledge with data structures
iteration and recursion as computational metaphors
abstraction of procedures and data types
organize and modularize systems using object classes
and methods
different classes of algorithms, searching and sorting
complexity of algorithms
6.00.1X LECTURE 3
OVERVIEW OF COURSE (from
Lecture 1)
learn computational modes of
thinking
master the art of computational
problem solving
make computers do what you want
them to do
I 6.00.1x
6.00.1X LECTURE 5
COMPUTATIONAL THINKING:
THE PROCESS
identify or invent useful abstractions
◦ suppressing details, formulating interfaces
formulate solution to a problem as a computational
experiment using abstractions
design and construct a sufficiently efficient implementation
of experiment
validate experimental setup (i.e., debug it)
run experiment
evaluate results of experiment
repeat as needed
6.00.1X LECTURE 6
THE THREE A’S OF
COMPUTATIONAL THINKING
Person
abstraction
◦ choosing the right abstractions MITPerson
6.00.1X LECTURE 7
ASPECTS OF COMPUTATIONAL
THINKING
how difficult is this problem
and how best can I solve it? O(log n) ; O(n) ;
◦ theoretical computer science O(n log n) ;
gives precise meaning to these O(n2); O(cn)
and related questions and their
answers
thinking recursively
◦ reformulating a seemingly
difficult problem into one
which we know how to solve
◦ reduction, embedding,
transformation, simulation
6.00.1X LECTURE 8
6.00.1X LECTURE 9
WRAPPING IT ALL UP
where have you been?
◦ what are the key topics learned in this course?
◦ what are the key lessons to take from this course?
where are you headed?
◦ how might you use the knowledge you have gained?
◦ what are next steps in enhancing your knowledge of
computation?
6.00.1X LECTURE 10
NEXT STEPS
look for ways to apply what you have learned:
◦ can you use algorithmic approaches in your professional
life?
◦ how might abstraction, or computational experiments, be used to
improve what you do for your job?
◦ if you are a student, how can these ideas help you pursue your
choice of discipline more effectively?
◦ can you use algorithmic approaches in your personal or
family life?
◦ organizing your personal finance records, your family historical
records
6.00.1X LECTURE 11
NEXT STEPS
consider taking another course in computation
◦ 6.00.2x – Introduction to Computational Thinking and
Data Science
◦ a course in algorithm design
◦ a course in software engineering
◦ a course in machine learning
◦ a course in data analytics and data storage
◦ a course in …
6.00.1X LECTURE 12
GOOD LUCK!
however you choose to use computational
thinking, we hope that it becomes a useful tool
for you:
◦ as a way of approaching professional problems
◦ e.g., running computational experiment to simulate
physical or biological or financial or other problems
◦ as a basis for understanding the impact of
computation in everyday life
◦ e.g., what is the power of machine learning methods in
solving complex problems
◦ as a language for communicating ideas
◦ e.g., explaining ideas as concise steps in an algorithmic
process, independent of whether one actually
implements it
By OsamaK (Own work) [Public domain], via Wikimedia Commons
6.00.1X LECTURE 13