L03 ComputingConcepts
L03 ComputingConcepts
Leveraging computer
Focus Point tools to extend human
potential
Computatio
”Training Wheel” ”Truly Complimentary” Competitive
nal artifacts
Cognitive Artifacts Cognitive Artifacts Cognitive Artifacts
These are artifacts that These are artifacts that These are artifacts that
compliment human amplify and improve our amplify and improve our
intelligence in such a way abilities to perform cognitive abilities to perform cognitive
that their use amplifies and tasks in a way that is truly tasks when we have use of
improves our ability to complementary, i.e., you are the artifact but when we take
perform cognitive tasks and better with the artifact, but away the artifact we are no
once the user has mastered the artifact cannot replace or better (and possibly worse) at
the physical artifact, they can compete with you. E.g., pen performing the cognitive task
use a virtual/mental and paper. than we were before.
equivalent to perform the
same cognitive task at a
similar level of skill, e.g., an
abacus.
Computational problem solving
Making mistakes Pattern Recognition
I can enjoy things that go wrong and Is this like a problem I’ve already
learn from them. I see mistakes as a solved? How is it different? How are
normal part of solving problems. the parts of the problem connected?
Skills
Imagination Algorithm Design
I can look at things in unusual ways. What do I need to think about
I’m ready to consider the impossible. to make this happen? What are
Sometimes I leave a problem for a the steps I will need to do to
while. A solution might come to me solve this problem?
when I’m thinking about something
else. Problem solving
Designing systems
Collaboration Understanding behavior Abstraction and Generalization
I can use other people’s ideas. I Which is the information I actually need?
can share my ideas. We can talk What don’t I need to know? Have I made
together to solve a problem. I this more complicated than I need to?
can teach my peers and they can Will this work for other things?
teach me.
Computational thinking
1 2 3 4 5 6
Identify the Break down Create a Assign Solve each Integrate the
problem the problem hierarchy responsibilities subtask solutions
Pattern recognition techniques and
approaches
Machine Learning: Machine learning algorithms can
Statistical Pattern Recognition: This approach involves automatically learn patterns from data and make
using statistical models and techniques to analyze and predictions or classifications based on the learned
classify patterns based on their statistical properties. It patterns. This approach often involves training a model
includes methods such as Bayesian classifiers, hidden on a labeled dataset and using it to classify new,
Markov models, and statistical feature extraction. unseen data. Examples include decision trees, support
vector machines, and neural networks.
Computer Vision: Computer vision techniques aim to Natural Language Processing: In the context of
extract meaningful patterns or structures from visual language and text analysis, pattern recognition
data, such as images or videos. This includes tasks like techniques are used to extract linguistic patterns,
object detection, image segmentation, and facial sentiment analysis, text categorization, and
recognition. information extraction.
Key Characteristics of Algorithms:
WELL-DEFINED: ALGORITHMS FINITE: ALGORITHMS MUST DETERMINISTIC: ALGORITHMS EFFECTIVE: ALGORITHMS ARE GENERALIZABLE: ALGORITHMS
HAVE A CLEAR AND HAVE A FINITE NUMBER OF ARE DETERMINISTIC, MEANING DESIGNED TO BE EFFECTIVE, CAN BE APPLIED TO MULTIPLE
UNAMBIGUOUS DESCRIPTION STEPS. THEY SHOULD THAT GIVEN THE SAME INPUT, MEANING THAT THEY SOLVE INSTANCES OF A PROBLEM.
OF THE STEPS TO BE EVENTUALLY TERMINATE AND THEY WILL ALWAYS PRODUCE THE PROBLEM OR ACHIEVE THEY CAN BE DESIGNED TO
FOLLOWED. EACH STEP PRODUCE AN OUTPUT WITHIN THE SAME OUTPUT. THERE THE TASK THEY ARE INTENDED HANDLE VARIOUS INPUTS AND
SHOULD BE PRECISELY DEFINED A FINITE AMOUNT OF TIME, SHOULD BE NO AMBIGUITY OR FOR. THEY SHOULD PROVIDE A ADAPT TO DIFFERENT
AND EXECUTABLE. EVEN IF THE INPUT IS LARGE. RANDOMNESS IN THE STEPS. CORRECT AND RELIABLE SCENARIOS.
SOLUTION.
• Problem Abstraction:
• involves understanding a problem or task at a high level, identifying the key
objectives, and defining the requirements. It focuses on the problem domain
and the desired outcomes without considering implementation details.
• Data Abstraction:
• involves defining and working with data types, structures, and objects without
concerning ourselves with the internal representation or implementation
details. It allows us to encapsulate data and operations into abstract data
types, providing a clear interface for interacting with the data.
• Control Abstraction:
• involves managing the flow of execution and control structures in a program. It
allows us to use control flow constructs such as loops, conditionals, and
subroutines to control the order of execution and achieve desired outcomes.
Collaboration
Tools for
collaborati
on
Collaborati
✩ Bayesian inference ✩ Databases SQL and NoSQL
✩ Supervised learning: decision ✩ Relational algebra
trees, random forests, ✩ Parallel databases and parallel query
on in data ✩
logistical regression
Unsupervised learning:
clustering, dimensionality
✩
✩
processing
MapReduce concepts
Hadoop and Hive/Pig
science ✩
reduction
Optimization: gradient
descent and variants
✩
✩
Custom reducers
Experience with xaaS like AWS
DOMAIN COMMUNICATION
KNOWLEDGE & VISUALIZATION
✩ Able to engage with senior
& SOFT SKILLS management
✩ Story telling skills
✩ Passionate about the ✩ Translate data-driven insights into
business
decisions and actions
✩ Curious about data
✩ Visual art design
✩ Influence without authority
✩ R packages like ggplot or lattice
✩ Hacker mindset
✩ Knowledge of any of visualization tools,
✩ Problem solver This Photo by Unknown author is licensed under CC BY.
e.g., Flair, D3.js, Tableau
Abstraction in programming
Charact
er
Decimal
Binary
Computer models
and simulations
• A model is a simplified representation or
abstraction of a more complex object, system, or
phenomenon.
Experimentation and
Prediction and Analysis
Testing
Visualization and
Education and Training
Communication
data
Data analytics
Types of data analytics
• Descriptive data analytics seeks to describe data, providing
insight and knowledge.
• Predictive data analytics seeks to make predictions from data.
• Prescriptive data analytics seeks to make decisions
(prescriptions) based on data.
Challenges in big data