Computer programming

23
Computer programming AN ART, A CRAFT, AN ENGINEERING DISCIPLINE. SUJAY RAJ 4 TH YEAR , M&C MICROSOFT CERTIFIED SOFTWARE DEVELOPER

Transcript of Computer programming

Page 1: Computer programming

Computer programmingAN ART, A CRAFT, AN ENGINEERING DISCIPLINE.

SUJAY RAJ4TH YEAR , M&CMICROSOFT CERTIFIED SOFTWARE DEVELOPER

Page 2: Computer programming

Expected Layout of the Presentation

• What is it ?

• Why is it so talked about ?

• Why Non-Software-Based companies want people to know programming?

• How should someone with no experience start it?

Page 3: Computer programming

“I think everybody in this country should learn how to program a computer because it teaches you how to think.”

Steve Jobs

Page 4: Computer programming

What is it?

Page 5: Computer programming

• Computer programming is a process that leads from an original formulation of a computing problem to executable computer programs

• A Computer program is a sequence of instructions, written to perform a specified task with a computer.

• Instructions, are part of a language, a Programming Language, that is like a script, or dialect ( English, Hindi, Marathi ) that a Computer can understand

• A computer understands at-least one programming language.

• Every programming language has its own grammar

Page 6: Computer programming

Why is it so talked about ?

Page 7: Computer programming

We all interact with computers in such a way that they’re no longer this extra thing you do on the side

Computing is a vital part of what everybody does nowadays.

Not everyone wants to go out and create Web programs and write the next Twitter

Having a base understanding of what happens behind the curtain can be huge

Page 8: Computer programming

Why Non-Software-Based companies want people to know programming?

Page 9: Computer programming

1. Modelling

• Modelling various phenomena is the trend today

• From modelling petroleum wells to modelling bacteria growth – a vast spectrum

• Someone who knows core can model better

• Proficiency expected in Matlab/Mathematica similar languages

Page 10: Computer programming

2. Professional Communication

• If you are not the one doing the modelling, You would be the one telling people what to model

• Most industries deal with software at some level – hire software developers

• Engineers are required to convey requirements/ applications/ demands to the programming lead in the most feasible way

• Companies also use C, C++, C# and Python for their custom made softwares

Page 11: Computer programming

3. Aesthetics – Programming is beautiful

• Programming is the art of simplifying a problem in a (mostly) sequential way

• Common belief, that it sharpens the ability to troubleshot and solve problems.

• It is , indeed an under-rated hobby

Page 12: Computer programming

How should someone with no experience start it?

Page 13: Computer programming

Logic

Code

World

Page 14: Computer programming

Quantify the Problem

Understand the Requirements

Design the Architechture

Page 15: Computer programming
Page 16: Computer programming
Page 17: Computer programming

STEP 1:Choose your favourite editor

EDITOR IDE

Notepad++ CodeBlocks

Emacs Eclipse

Vim Visual Studio

Page 18: Computer programming

STEP 2:Roam Around, Explore the Language

• Start with “Hello World”

• Learn If, While and Functions

• Read articles, wiki

• Download the Compiler yourself and learn how to run programs

Page 19: Computer programming

STEP 3:Think

• Programming is like speaking

• Translate what you want to do to a language the computer understands

• Just like “Ram Sita Love” is a grammatically wrong sentence

• “num int = 1o“ is grammatically wrong sentence in C language

Page 20: Computer programming

STEP 4:Design

• Draw whatever comes on your mind on paper

• Feel free to make rough designs

• Repeat.

Page 21: Computer programming

STEP 5:Code

• Once you are familiar with the grammar, use it to speak what you wish to do

Page 22: Computer programming

The Road ahead : Choosing a path

• Web Development

• Systems Programming

• Networking

• Scientific Computing

Page 23: Computer programming

Questions?