14
Introduction to Programming Nalaka Gamage ( www.nalakainfo.com ) BIT@ESOFT

L 00 introduction to programming

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: L 00   introduction to programming

Introduction to Programming

© Nalaka Gamage ( www.nalakainfo.com )

BIT@ESOFT

Page 2: L 00   introduction to programming

What is programming?

• Programming is getting non trivial task done using a computer

• Programming is problem solving

• Programming is unleashing your creativity

• Programmer is an advanced computer user

2

Page 3: L 00   introduction to programming

What programming is NOT?

• Mere coding (without a purpose)

• A profession for faint hearts

• A profession for ill-disciplined

• A profession for lazy people– Programming is skilled white collar labor

profession

3

Page 4: L 00   introduction to programming

Programming Vs Mathematics

• Early day programming required good mathematical (numeric) background

• However modern day programming is less relevant to number related mathematics

• Both programming and mathematics have common features as well– Mean for problem solving– Embrace logic

4

Page 5: L 00   introduction to programming

Programming as problem solving

• Programmers are involved in problem solving

• Logical thinking plays key part

• World need more and more programmers– Because world is facing more and more problems– There are more problem creators than problem

solvers in the world !

5

Page 6: L 00   introduction to programming

Key attributes for being a good programmer

• Logical thinking

• Problem solving skills

• Braveness

• Honesty– You can not hide bugs

• Soft skills

• Willingness to learn new things

• Team player6

Page 7: L 00   introduction to programming

Programmer – Born to be brave

7

Page 8: L 00   introduction to programming

Why I want to be a great programmer?

• Programming is fun !!!– “Work and play are not mutually exclusive”

- A Google motto

• Logical thinking make you wise and honest

• Endless of opportunities for creativity in internet

• Opportunities for being a high tech entrepreneur

• Heavy demand for programming jobs with higher salaries

8

Page 9: L 00   introduction to programming

Few names of great contemporary programmers

• Mark Zuckerberg– Founder of FaceBook

• Larry Page• Co-founder of Google

• Jack Dorsey– Co-founder of Twitter

9

Page 10: L 00   introduction to programming

Mark Zuckerberg

• An American computer scientist and software developer

• Founder of the social networking site Facebook, of which he is chief executive and president

10http://en.wikipedia.org/wiki/Mark_Zuckerberg

Page 11: L 00   introduction to programming

Mark Zuckerberg (cont.)

• Studied psychology and computer science at Harvard

• Developed ‘CourseMatch’ software during his second year in Harvard college

• Later he developed ‘Facemash’ that let students select the best looking person from a choice of photos– According to Zuckerberg's roommate at the time,

Arie Hasit, "he built the site for fun.”11

Page 12: L 00   introduction to programming

Larry Page

• Lawrence "Larry“ Page is an American computer scientist and industrialist

• He developed the famous search algorithm for page ranking during his study for Phd

• Later he co founded Google

• Today, Google has become the most influential company on earth

12

Page 13: L 00   introduction to programming

Jack Dorsey

• Dorsey grew up in St. Louis, Missouri, and by age 14, he had become interested in dispatch routing

• He created an open source software in the area of dispatch logistics

• Dorsey, Stone and Williams co-founded Obvious which then spun off Twitter, Inc based on philosophy of simplicity, constraint and craftsmanship

13

Page 14: L 00   introduction to programming

Challenges for modern programmers

• Lack of awareness about endless opportunities

• Lack of professionalism by individuals

• Lack of soft/diversified skills

• Lack of vision as a country– BPO is not a long term solution

• Brain drain– hampering growth of local software industry

14