How to code creatively?
Welcome to the latest news from TalkIT. This issue will look at creativity and coding. Perhaps this may give you some ideas for New Year projects.
These are just some thoughts, based on many years experience coding. Also a landscape, artist I have always been fascinated with understanding creativity. Here is my art work.
As usual, I would really like to hear your ideas. Please add your comments at the bottom of the newsletter.
Contents
Your Creative Brain
Creative Coding
How to Be More Creative?
Can You Solve This Coding Problem?
Other Bits
Your creative brain
You’ll be glad to know you already have the raw materials to be creative; your fantastic brain. This may be a bit underused but the potential is there.
Different functions of the human brain are located in different areas. The outer left and right hemispheres, in particular, perform complimentary cognitive functions. Put simply we have a creative right brain and a logical left brain. Which side of your brain do you tend to use?
Try this test:
http://testyourself.psychtests.com/testid/3178
Left Brain functions: logical, linear, language, analysis, sequence, words of a song
Right Left functions: forms & patterns imagination, pictures day dreams music tune of a song
To find out more about the brain, learning and creativity take a look at the TalkIT Accelerated Learning course.
http://talk-it.biz/course/accelerate-learning/
Digital technology provides opportunities to use both your left & right brain. But in the early days computers were much more left brain. MSDOS, was the most common operating system for Personal Computers. This allowed only text based commands that were typed on a monochrome screen.
In the last 20 years digital technologies have integrated an explosion of diverse media, combining sound, image, video and more. Just look at how these media are creatively assembled on web pages.
Integrated Development Environments (IDEs), like Visual Studio, also embrace both the left and right brain approaches. The logical left brain in used to write the lines of code. And the creative right brain is engaged with diagrams, coloured text and symbols.
Creative Coding
Coding requires a special type of problem solving. This combines both logical and creative skills.
Contemporary coders work with complex overlapping technologies that evolve fast. So knowledge in any scenario is often only partial. There remain lots of unknowns.
In these scenarios, logic is not sufficient. Intuition and imagination are also required. These of course, may be based on past experiences. Even if these experiences are not consciously recalled, they can fuel insights
This is a similar process to a scientific breakthrough. Benzene was first identified by Michael Faraday in 1825. But its molecular formula remained a mystery. This was only discovered by Kekulé in 1865. He worked hard on the problem but could get no further. But then in a dream, Kekulé saw a snake coil up, and grab its own tail. It struck him that benzene might be a ‘ring’ of 6 carbon atoms. This proved to be the case. His logic and intuition worked together.
http://en.wikipedia.org/wiki/Benzene
How to Be More Creative?
There are many ways to foster creativity and to generate original ideas. These can be particularly helpful when stuck on a coding problem.
It is always a good idea take a break. Coding problems can be compulsive. There is often a drive to persist, keep trying and over-think problems. If you can, resist this urge. You could be making your project worse!
Insights come when you step away from the problem. Use what works for you; sleep, walking, music or talking … or alcohol. Or distract yourself with the internet or fiction. If you are under pressure with deadlines, this may require some skilful time management.
Taking your brain offline from a problem, giving it idle time, will allow solutions to appear.
Our minds seek to complete processes, once they are initiated. Let your unconscious resolve the problem then present a solution. Like that snake that appeared in Kekulé’s dream
Meditation is a great way of doing this. Of course, this takes a bit of self disciple to learn and practice. See if you focus your attention on your breathing, sitting with your eyes closed, say for 20 minutes. Avoid getting lost in long trains of thought, but allow new thoughts to drift up. You will be surprised at the insights and solutions that appear.
Here are instructions for a breathing meditation to calm the mind.
http://www.how-to-meditate.org/breathing-meditations.htm/
Can you solve this coding problem?
Here is a coding puzzle. The aim is to write a short and elegant program in a language of your choice. This time we are working with a roulette wheel.
The wheel has 37 slots numbered 0 to 36. Half the numbers a red and the other half black, with the exception of zero. Player’s place bet, then the wheel is spun. If the ball lands on zero, the house takes everything.
See http://www.wikihow.com/Play-Roulette
Write code to:
- Input the amount of a bet
- Simulate the spin of the wheel using a random number
- Calculate and output the return the bet
- Accumulate the player’s balance over repeated spins
Have a go! This could help you improve your income!
Other Bits
TalkIT has created its own e-learning platform to train software developers. This is aimed at anyone who wants to learn a new technology or language from novice to advanced level. You will learn step-by-step how to build business applications and databases.
Many of the shorter tutorials are free. We have a launch offer till end December only. A subscription to a full length courses cost £4.99. Or you can buy a Gold subscription to all courses for £9.99.
To find a tutorial just click:
http://talk-it.biz/training/tutorials
To find out more look at the FAQ page:
http://talk-it.biz/training/tutorials/tutorials-faq/
An online course courses in Java has just been added to the TalkIT site.
And online courses in C++, Python courses will be added to the TalkIT site in the next few months. Take a look at what is in the courses:
Java published December 2014
http://talk-it.biz/course/training-java-programming-oo-developers/
C++ published Spring 2015
http://talk-it.biz/course/training-c-programming-oo-developers/
Python published Spring 2015
http://talk-it.biz/course-products/python/
In addition, We would be happy to hear your opinion about creative coding. Do you use creative coding in your career?
Photos www.freedigitalphotos.net/
David Ringsell 2014 ©