12
Computational Thinking through Music Poorvi Vijay Tuhina Dargan Utkarsh Dwivedi Vishesh Kumar

Computational thinking through music

Embed Size (px)

DESCRIPTION

Presentation for Xerox India Research Center, 19 Feb, 2014

Citation preview

Page 1: Computational thinking through music

Computational Thinking through MusicPoorvi Vijay

Tuhina Dargan

Utkarsh Dwivedi

Vishesh Kumar

Page 2: Computational thinking through music

Research Objective and Definition of Problem

Research Objective : To develop cognitive excellence in students of age group 11-14 years preferably using computational thinking skills and techniques by using concepts of music as a medium of learning

Definition of Problem : It is important to understand by taking evidence from neuroscienceon how the brain actually works, and how we can enhance problem solving skills in students that can be applied to nearly any contextHence we are trying to emphasize the importance of creativity in the learning process by creating music through the application of computational thinking.

Our goal is to develop and disseminate ways to enhance students’ grasps of computational thinking by engaging them in fundamental concepts that unite computingand music.

Page 3: Computational thinking through music

What is Computational Thinking?

Wing suggested that “ Computational Thinking ” (CT) is a fundamental skill of analytical thinking for everyone, not just for computer scientists.

Computational Thinking involves solving problems, designing systems, and understandinghuman behavior by drawing on the concepts fundamental to computer science. Thinkinglike a computer scientist means more than being able to program a computer. It requiresthe ability to think at multiple levels of abstraction.

Creativity Ability toexplain

Team work Thinkng logically,algorhythmically,

recursively

Understandingpeople

Computational Thinkinginherently includes :

Page 4: Computational thinking through music

Techniques used in Computational Thinking

Decomposition

The ability to break down a task into minute details so that we can clearly explain a process to another person or to a computer, or even to just write notes for ourselves. Decomposing a problem frequently leads to pattern recognition and generalization, and thus the ability to design an algorithm.

Example : When we taste an unfamiliar dish and identify several ingredientsbased on the flavor, we are decomposing that dish into its individual ingredients.

Pattern Recognition

The ability to notice similarities or common differences that will help us make predictions or lead us to shortcuts. Pattern recognition is frequently the basis for solving problems and designing algorithms.

Example : Children identify patterns in the reaction of their parents and teachers to their behavior in order to determine what is right and what is wrong. They base their future behavior on these patterns.

Page 5: Computational thinking through music

Techniques used in Computational Thinking

Pattern generalization &

abstraction

The ability to filter out information that is not necessary to solve a certain type of problem and generalize the information that is necessary. Patterngeneralization and abstraction allows us to represent an idea or a processin general terms (e.g., variables) so that we can use it to solve otherproblems that are similar in nature.

Example : A world map is an abstraction of the earth in terms of longitudeand latitude, helping us describe the location and geography of a place.

AlgorhythmDesign

The ability to develop a step-by-step strategy for solving a problem. Algorithm design is often based on the decomposition of a problem and the identification of patterns that help to solve the problem. In computer science as well as in mathematics, algorithms are often written abstractly, utilizing variables in place of specific numbers.

Example : When a chef writes a recipe for a dish, she is creating an algorithm that others can follow to replicate the dish.

Page 6: Computational thinking through music

Background Study

We studied and analyzed lot of research papers based on theories and applications ofcomputational thinking, programming languages that use music as a medium of learning,integration of computational thinking in K-12 curriculum and other relevant projects inthe same domain.

Some important applications for learning computational thinking are listed below :

Scratch

Algo.RhythmAlgo.Rhythm is a set of drum robots with programmable behavior. Each drum robot records pattern of beats when knocked on, and replays the rhythm by hitting its neighbor.http://vimeo.com/38300442

Algorithmic Composition: Computational Thinking in MusicThe composer still composes but also gets to take a programming-enabled journey of musical discovery.http://cacm.acm.org/magazines/2011/7/109891-algorithmic-composition/fulltext

a programming environment that enables young people to create their own interactive stories, games, and simulations, and then share those creations in an online community with other young programmers from around the world.http://web.media.mit.edu/~kbrennan/files/Brennan_Resnick_AERA2012_CT.pdf

Page 7: Computational thinking through music

Background Study

https://teaching.cs.uml.edu/~heines/TUES/ProjectHome.jsp

PerformamaticsComputational thinking through computing and music.

We have made a wiki page for proper documentation of all the important and relevant literature with respect to our domain of interest. It contains all the research papers and texts that enabled us to progress further in this subject area.Here is the link to our wikip page containing all our reference links for study -

http://computunes.wikidot.com/

Page 8: Computational thinking through music

Why a screen-based solution and why music?

Greater flexibility in user functions

Scratch is a visual programming language which allows kids to make animations and music. Logo Turtle : Programming language which uses the graphical element Turtle and was mainly used for making drawings.

We aim to provide a new medium of learning(music) to kids which we believe is a mediumthat they might enjoy exploring with.

Able to implement directed task based learning in game format, not needing teacher intervention

Added possibility of tracking learner's progress and pitfalls

Why a screen based solution?

Why music as a medium of learning?

Page 9: Computational thinking through music

Initial framework

Our initial approach involves conceptualizing a game design which aims at building musical sounds taking analogy from a dj disc which has concentric circles as different notes. It has 8 sectors which represent beats i.e. a unit of time.We have to build musical sounds by linking one disc to one or more discs through a defined pattern by decomposing the given musical piece into understandable pattern.

Arc end pointwill be the place for

links to other functions/ discs.

NoteEvery concentric circle is a note.

time

NoteIf I click ‘d’ , the color changes to pink and the note is played for the 8th beat.

cde

time1 beat of music which is a unit of time.

function disc

8th

A rough representation ofthe function disc is to show how notes will be represented and linked onthe given beat.

Page 10: Computational thinking through music

Initial Framework

Our initial task for the user would comprise of a musical clip.

The clip will be played and the user will have to recreate the same using different discsand linking them in a way so as to match the beat pattern.

The choice of number of discs and number of links will depend on the choice of the user so as to how he wants to tackle the problem.

The computational skills of algorithm building by looping and decomposition will be taughtthrough such tasks in a very abstract and fun way.

The aim is to motivate the user to think computationally and solve these problems with a strategic approach.

One of the sample task could be -

Page 11: Computational thinking through music

Sample Task

A

B

ABCD ABED1

2

3

4

5

6

7

8 1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

f1

1

23

4

f2 f3

C

A D

B

E

(Main disc)

t=0

Pointer on f1 is at 1 and at t=0 f1 calls f2 => AB is played; pointer on f1 moves to 2f1 starts playing again => Note C is played.Then, f3 is called => Note D is played; pointer on f1 moves to 4f1 starts playing : f1 calls f2 again => AB is played; pointer on f1 moves to 5f1 starts playing => Note E is playedf1 calls f3 => Note D is played.

Page 12: Computational thinking through music

Further plan

We are discussing on building specific tasks to be given to the user to build musical patterns that uses computational thinking techniques at the back end.

We are also focusing on all possible representations and interactions for such a game design which is fun and intuitive to play with. But at the same time helps in enhancing computational thinking ability among the kids.

Our methodology would include repetetive prototyping of the game design and testing itwith real users through a set of exercises. These exercises will be designed based on theories of computational thinking. We would also be focusing on enhancing the user experience for the interface in addition to using the principles of gamification for our game design.

We would iterate, re-iterate and keep on testing till we satify our aim of building the game.