Anda di halaman 1dari 43

Computational Thinking

The Road to be a good Software Developer

Inggriani – Ketua Pembina TOKI & Bebras NBO


Buka Talks – Bukalapak
17 Mei 2018

CT, BukaTalk - Bukalapak, 17 Mei 2018 1


Latar Belakang [2]
• Komputer yang semula “main frame” dan hanya
dipakai untuk perhitungan saintifik, sekarang
hadir di mana-mana untuk berbagai keperluan
• Kehadiran smart phone, computer, social media,
virtual reality, IoT, wearable devices mengubah
cara pandang, business dan cara & gaya hidup
• Inovasi baru banyak bermunculan berkat TIK &
informatika. Bekerja di bidang apapun, perlu
“informatika”.
• Banyak pekerjaan digantikan robot,… ?
CT, BukaTalk - Bukalapak, 17 Mei 2018 2
Latar Belakang [2]
• Banyak kebutuhan “software developer” di
Dalam maupun Luar Negeri, tapi sedikit yang
memenuhi syarat.
• Software developer, programmer, ….. Masih
sangat dibutuhkan saat ini, walaupun kita
memasuki era Industri 4.0 dan di mana
“robot” diramalkan menggantikan banyak
tenaga kerja

CT, BukaTalk - Bukalapak, 17 Mei 2018 3


Menjadi apa ?

SW Developer ?

CT, BukaTalk - Bukalapak, 17 Mei 2018 4


Helpdesk Sales & Marketing IT Auditor
Data Entry Operator Multimedia Desainer CIO
GUI Designer
Webmaster
Web Administrator
IT Guru/Dosen TI
Instruktur TI
Web Content Manager
Profession
System Integrator Software Architect Software QA/tester
Business Analyst Data Architect Software Engineer
System Analyst Chief Programmer
Project Manager
Programmer
Data Analyst Data Scientist Database Administrator
Network Administrator System Security Manager
Server Administrator System Engineer Hardware Engineer
CT, BukaTalk - Bukalapak, 17 Mei 2018 5
The PISA is a worldwide
exam administered
every three years that
measures 15-year-olds
in 72 countries.
About 540,000 students
took the exam in 2015.

https://www.oecd.org/pisa/
https://www.oecd.org/pisa/pisa-2015-
results-in-focus.pdf
https://www.oecd.org/pisa/PISA-2015-
Indonesia.pdf

http://www.cgdev.org/blog/need-
pivot-learning-new-data-adult-
skills-indonesia

CT, BukaTalk - Bukalapak, 17 Mei 2018 6


Capaian Indonesia pada
tes pisa
https://www.oecd.org/pisa/

Dibandingkan dengan
test 2013 ini, ranking
Indonesia pada pisa
2015 sudah membaik

Tahun 2013

CT, BukaTalk - Bukalapak, 17 Mei 2018 7


21-st century Learner
Universitas akan menghilang ?

Indian Boy just 13 Year Old. Hired by Google at a package of 1.25 million per annum…

CT, BukaTalk - Bukalapak, 17 Mei 2018 8


Kurikulum Informatika tingkat SMA
UNESCO
ACM
Basic Concepts of ICT
Computer Organization
Managing Files
Information systems
Software Applications
Networks
Social and ethical issues
Digital Representation of information
Spreadsheet design
Information organization
Database Design
Modeling and abstraction
Modeling and simulation
Algorithmic thinking and programming
Robots
Universality
Elements of programming
Limitation of information technology
Software development
Societal impact of IT
Top down program design

https://csta.acm.org/Curriculum/sub/CurrResources.html
https://csta.acm.org/Curriculum/sub/CurrFiles/K-12ModelCurr2ndEd.pdf
https://csta.acm.org/Curriculum/sub/CurrFiles/L1-Objectives-and-Outlines.pdf
https://csta.acm.org/Curriculum/sub/CurrFiles/L2-Objectives-and-Outlines.pdf
https://csta.acm.org/Curriculum/sub/CurrFiles/L3-Objectives-and-Outlines.pdf
https://csta.acm.org/Curriculum/sub/CurrFiles/CASUKComputingCurric.pdf
http://www.exploringcs.org/
http://scratched.media.mit.edu/resources/scratch-curriculum-guide-draft
http://www.bootstrapworld.org/
CT, BukaTalk - Bukalapak, 17 Mei 2018 9
National Curricula National Curricula National Curricula
Germany Austria Lithuania
Information and Data Problem and strategy Algorithms
Algorithms Hardware Program structure
Language and automata Software Variables, Data types and
Information system Outline of problem oriented structures, Assignment
Informatics and society programming language statement, Relational and
Introduction to Operating logical operators, if
system statement, loops,
Working with application compound statement,
software procedure and function
Application areas and parameters, recursion
computers Control data and
Change of life through ICT correctness of program
Mew trends and technology Programming style and
culture ommentary
Di Indonesia:
Algorithmic thinking
Materi tsb baru diajarkan di Top-down program design
Perguruan Tinggi Social impact of IT

CT, BukaTalk - Bukalapak, 17 Mei 2018 10


https://www.csteachers.org/page/standards
https://k12cs.org/

CT, BukaTalk - Bukalapak, 17 Mei 2018 11


http://k12cs.org

Last updated on October 19, 2016


CT, BukaTalk - Bukalapak, 17 Mei 2018 12
Learner Standards
• Empowered learner
• Digital citizen
• Knowledge constructor
• Innovative Designer
• Computational Thinker
• Creative Communicator
• Global Collaborator

http://www.iste.org/standards
CT, BukaTalk - Bukalapak, 17 Mei 2018 13
By 2020, one of every two jobs in the ‘‘STEM’’ fields will be in computing
(ACM pathways report 2013)
CT, BukaTalk - Bukalapak, 17 Mei 2018 14
21st century learning
http://www.p21.org/
Four Cs of 21st century
learning:
Collaboration.
Communication.
Critical thinking.
Creativity.

SCAN Fundamental Skills - 2001


[http://www.sjsu.edu/faculty/chang/sped/scanskills.html] CT,
Buk
Basic Skills: reading, writing, arithmetic/ mathematics, listening and speaking.
aTal
Thinking Skills: creative thinking, decision making, problem solving, seeing things
k- in
the mind’s eyes, learning how to learn, reasoning Buk
alap
Personal Qualities: responsibility, self-esteem, sociability, self-management, integrity
ak,
and honesty 17
15
Mei
Computational Thinking

CT, BukaTalk - Bukalapak, 17 Mei 2018 16


Informatics (CS) versus ICT
• Informatics (Computer Science) is concerned
with designing and creating informatics ‘products’
and ‘tools’, such as: algorithms, programs, application
software, systems, methods, theorems, computers, …

• ICT – applications of CS (computing) – concentrates


on how to use and apply informatics and other
information technology tools in working with
information;
can be also creative

CT, BukaTalk - Bukalapak,


17 Mei 2018 17
UK: harmful ICT replaced by CS – 2012
STEM >>> STEM-C

September2014:
Computing at School
On all stages of K-12

CT, BukaTalk - Bukalapak, 17 Mei 2018 18


Google support for Computational Thinking

https://www.google.com/edu/resources/programs/exploring-computational-thinking/
https://computationalthinkingcourse.withgoogle.com/course?use_last_location=true

CT, BukaTalk - Bukalapak, 17 Mei 2018 19


Computational Thinking

• Originally used by Seymour


Papert, MIT, in Mindstorms:
Children, computers, and
powerful ideas, Basic Books Inc.
1980.

• Popularized by Jeanette M.
Wing (2006) Computational
Thinking. Communications of
the ACM, 49(3), 33-35.

http://research-srv.microsoft.com/en-us/um/redmond/events/asiafacsum2012/day1/Jeannette_Wing.pdf

CT, BukaTalk - Bukalapak,


20
17 Mei 2018
Computational Thinking
"Computational Thinking is the thought
processes involved in formulating
problems and their solutions so that the
solutions are represented in a form that
can be effectively carried out by an
Jeanette M. Wing
information-processing agent.“ Carnegie Mellon
University

J. Cuny, L. Snyder, and J. M. Wing.


Demystifying Computational Thinking for
Non-Computer Scientists, 2010

CT, BukaTalk - Bukalapak,


21
17 Mei 2018
https://en.wikipedia.org/wiki/Computational_thinking

Generalization/Abstraction
Decomposition
Algorithm

CT, BukaTalk - Bukalapak, 17 Mei 2018 22


Computational Thinking
http://www.bbc.co.uk/education/topics/z7tp34j

Four key techniques


(cornerstones) to CT:
decomposition - breaking down a
complex problem or system into
smaller, more manageable parts
pattern recognition – looking for
similarities among and within
problems
abstraction – focusing on the
important information only,
ignoring irrelevant detail
algorithms - developing a step-by-
step solution to the problem, or
the rules to follow to solve the
problem

CT, BukaTalk - Bukalapak, 17 Mei 2018 23


CT in UK

CT, BukaTalk - Bukalapak, 17 Mei 2018 24


Computational Thinking:
Operational definition for K-12 education
Computational thinking (CT) is a problem-solving process
that includes (but is not limited to) the following characteristics:
• Formulating problems in a way that enables us to use a computer and
other tools to help solve them
• Logically organizing and analyzing data
• Representing data through abstractions such as models and
simulations
• Automating solutions through algorithmic thinking (a series of ordered
steps)
• Identifying, analyzing, and implementing possible solutions with
the goal of achieving the most efficient and effective combination of
steps and resources
• Generalizing and transferring this problem solving process to a wide
variety of problems

ISTE and CSTA, 2011 CT, BukaTalk - Bukalapak,


25
17 Mei 2018
CT Concept,
Informatics
Capability
Data collection Find a data source for a problem area
Data analysis Write a program to do basic statistical calculations on a set of
data
Data representation Use data structures such as array, linked list, stack, queue,
graph, hash table
Problem
Define objects and methods; define main and functions
decomposition
Abstraction Use procedures to encapsulate a set of often repeated
commands that perform a function; use conditionals, loops,
recursion,
Algorithms & Study classic algorithms; implement an algorithm for a problem
procedures area
Automation Run programs
Parallelization Threading, pipelining, dividing up data or task in such a way to
be processed in parallel
16/01/2019 Digital Literacy, CT, Informatics, ICT
Simulation
Bebras Computational Thinking Challenge

2017 Bebras Challenge : 2,4 juta siswa Indonesia


1,3 juta partisipan pada tahun 2015 Peserta :
1. Tahun 2016 – 1553 partisipan
2. Tahun 2017 – 3756 partisipan

Perguruan Tinggi Mitra :


1. Tahun 2016 : 16 PT
2. Tahun 2017 : 33 PT
CT, BukaTalk - Bukalapak, 17 Mei 2018 27
BEBRAS :: Participants
6 groups:
[SIAGA]
• Preprimary age 5-8 [K1-K2] SD
• Primary age 8-10
[K3-K4] [PENGGALANG]
• Benjamins age 10-12 [K5-K6]
• Cadets age 12-14 SMP
[K7-K8] [PENEGAK]
• Juniors age 14-16 [K9-K10]
• Seniors age 16-19 [K11-K12]
SMA

Preprimary Primary Benyamin Cadets Junior Senior

Grades
K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13

CT, BukaTalk - Bukalapak, 17 Mei 2018 28


SW Development

CT, BukaTalk - Bukalapak, 17 Mei 2018 29


Analogi “Programmer” vs “Software engineer”
• Architecture and Civil engineering
• Musics...

“A computer is like a violin. You can imagine a novice trying first a


phonograph and then a violin. The latter, he says, sounds terrible.
That is the argument we have heard from our humanists and most of
our computer scientists. Computer programs are good, they say, for
particular purposes, but they aren’t flexible. Neither is a violin, or a
typewriter, until you learn how to use it.”
― Marvin Minsky
IL, Programming 30
Programming Building Block
Problem Solving
Knowledge & skill

Algorithms (basic, advanced, combinatoric)

Programming language
Knowledge & skill

Discrete Logical Capability Analytical


Mathematics Capability

Computational Thinking

IL, Programming 31
Cakupan “Programming”
Bukan hanya “coding”
• Pemahaman persoalan, simulasi, utak-atik menuju solusi. Minat terhadap
persoalan (*****)
• Analisis & spesifikasi : berpikir analitis – kritis – optimasi, membuat
spesifika yang jelas dan precise dari persoalan tersamar dan lucu d
kontekstual
• Desain solusi – bagaimana merealisasisikan solusi menjadi program
komputer, teknik solusi. Misalnya dalam OOP harus kenal SOLID dan
Design Pattern
• Koding – bahasa pemrograman [code convention, source code analyser]
• Debugging – harusnya tidak boleh nge-bug dalam lomba
• Testing (***** test case *****)
• Program reading, code review, code refactoring – seseorang akan menulis
dengan baik kalau banyak membaca
• Program proof – correctness – formal method [untuk sehari-hari, semi
formal dan praktis]
• Bekerja dalam team, membagi-bagi pekerjaan

IL, Programming 32
Programming vs “Dev-ops”
• Istilah Dev-ops diperkenalkan sejalan dengan Agile
Methodology
• Dev-ops erat kaitannya dengan CI (Continous Integration)
• https://www.gartner.com/it-glossary/devops/ : DevOps
represents a change in IT culture, focusing on rapid IT
service delivery through the adoption of agile, lean
practices in the context of a system-oriented approach.
DevOps emphasizes people (and culture), and seeks to
improve collaboration between operations and
development teams. DevOps implementations utilize
technology — especially automation tools that can leverage
an increasingly programmable and dynamic infrastructure
from a life cycle perspective.

IL, Programming 33
DevOps [2]
• So, what is DevOps? DevOps is defined as follows:
– It is a set of principles and practices.
– It brings both the Developers and Operations teams together from the
start of the software system.
– It provides faster and more efficient end-to-end delivery of value to
end customer again and again in a consistent and predictable manner.
– It reduces time to market, thereby providing a competitive advantage.
• The core principles of DevOps are as follows:
– Collaboration and communication
– Agility towards change
– Software design
– Failing fast and early
– Innovation and continuous learning
– Automating Processes and tools

IL, Programming 34
DevOps [3]
• The core practices of DevOps are as follows:
– Continuous Integration
– Configuration Management
– Continuous Deployment
– Continuous Delivery
– Continuous Learning

IL, Programming 35
Bagaimana berlatih ?
• Jika masih studi, dengan rajin dan bersungguh-
sungguh mengerjakan tugas [sendiri, tidak
mencontek]
• Dengan memakai autograding system, yang
menilai program secara otomatis, yang saat ini
banyak tersedia [sebagian besar untuk kompetisi
dan interview]
• Rajin ikut latihan dan “lomba”/tantangan
(tunjukkan dirimu di hall of Fame sebuah situs on-line
karena prestasimu)
CT, BukaTalk - Bukalapak, 17 Mei 2018 36
https://olympia.id

CT, BukaTalk - Bukalapak, 17 Mei 2018 37


https://code.org/
CT, BukaTalk - Bukalapak, 17 Mei 2018 38
https://code.org/
CT, BukaTalk - Bukalapak, 17 Mei 2018 39
Autograder Karya Alumni TOKI
 TOKI learning center (TLX), untuk dipakai lomba
dan juga untuk belajar kompetisi programming:
 https//training.ia-toki.org
 Sistem baru: 7750 user, 1000 soal, 135.000 submision
 (Sistem lama sudah 18.000 user).
 Olympia: https://olympia.id
 sebuah LMS (Learning Management System) untuk
belajar programming, dengan kurikulum ITB
 Latihan dan tugas untuk kuliah programming di ITB
tersedia untuk dipakai latihan
 Beberapa Perguruan Tinggi lain sudah mulai memakai

CT, BukaTalk - Bukalapak,


40 17 Mei 2018
https://training-ia-toki.org

CT, BukaTalk - Bukalapak, 17 Mei 2018 41


CT, BukaTalk - Bukalapak, 17 Mei 2018 42
Terimakasih - Q/A

https://bebras.or.id http://bebras.org
Bebras Indonesia Bebras Internasional

https://olympia.id
on-line bebras challenge
CT, BukaTalk - Bukalapak, 17 Mei 2018 43

Anda mungkin juga menyukai