How to be a good Programmer

Slides:



Advertisements
Similar presentations
SO YOU HAVE TO WRITE A REPORT 10 Steps to a Better Report Grade.
Advertisements

P5, M1, D1.
Strategies for solving scientific problems using computers.
Coding Practices. Why do we care? Good code is more than just functionality Other people will read your code You will forget what you code does Debugging.
1 Program Design Language (PDL) Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 4.
B-1 Lecture 2: Problems, Algorithms, and Programs © 2000 UW CSE University of Washington Computer Programming I.
Ways to solve problems Top down approach – Break problem up into smaller problems Bottom up approach – Solve smaller problem and then add features – Examples:
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
BPC.1 Basic Programming Concepts
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
CW-V1 SDD 0201 Principals of Software Design and Development Introduction to Programming Languages.
Introduction to Programming (in C++) Conclusions Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
Program Development Life Cycle (PDLC)
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 3 Simple.
Programming Concepts Chapter 3.
Chapter 3 Developing an algorithm. Objectives To introduce methods of analysing a problem and developing a solution To develop simple algorithms using.
1 Documenting with Javadoc. 2 Motivation  Why document programs? To make it easy to understand, e.g., for reuse and maintenance  What to document? Interface:
CS 1308 Computer Literacy and The Internet Software.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
1 CSC 222: Object-Oriented Programming Spring 2013 Course goals:  To know and use basic Java programming constructs for object- oriented problem solving.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
The Software Development Process
ITM © Port, Kazman 1 ITM 352 How to Think Like a Programmer.
CSE 190p wrapup Michael Ernst CSE 190p University of Washington.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
The Anatomy of a Computer Program Unit 3. Programs are Directions  A computer carries out the instructions in a program, line by line, exactly as they.
Control System Design Process Planning Documentation.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
The Last Lecture CS 5010 Program Design Paradigms "Bootcamp" Lesson © Mitchell Wand, This work is licensed under a Creative Commons Attribution-NonCommercial.
1/20 1 How to become a Guru Coder Michael Smith, TeraTech, Inc x110 Copyright.
Programming Objectives What is a programming language? Difference between source code and machine code What is python? – Where to get it from – How to.
Chapter 1 Software Development Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Lecture 6 Title: Project Cost Management MIS 434.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
 Programming methodology: ◦ is a process of developing programs that involves strategically dividing important tasks into functions to be utilized by.
CSC 222: Object-Oriented Programming
CSC 222: Object-Oriented Programming
ICS 3UI - Introduction to Computer Science
CSC 222: Object-Oriented Programming
Lecture 2 Introduction to Programming
Understand the Programming Process
An Introduction to Visual Basic .NET and Program Design
Chapter 3 Simple Functions
Problem Solving Techniques
VISUAL BASIC – CHAPTER ONE NOTES An Introduction to Visual Basic
Introduction to Computer Programming
PROGRAMMING What is it?.
GRUNTMASTER6000 A leading innovation for future programmers.
Unit 3: Lesson 6 & 7- Functions and Top-Down Design / APIs and Function Parameters Day 27.
micro:bit Global Challenge
The Programming Process
Understand the Programming Process
Program Design Language (PDL)
Intro to digital technology
Computational Thinking
micro:bit Global Challenge
micro:bit Global Challenge
micro:bit Global Challenge
micro:bit Global Challenge
Presentation transcript:

How to be a good Programmer By Elvis Lesha How to be a good Programmer

Bad Programmer Writing code without thinking Poor understanding of the programming language model Lack of Critical Thinking Not being able to write a program from scratch Messy code No comments Random indentation

Good Programmer

Problem Solving Analyze the problem Divide into sub-problems

Algorithms Have a good understanding of algorithms Know how to use them

Language Pick a Language Ensure you have a good understanding of it Once you’ve learnt one language you can apply the same concepts to another language

Practicing Constantly keep programming Help others with their code Set yourself small tasks Help others with their code StackOverflow

Debugging To be good at debugging, you also need to practice. When you have lots of experience, it’s easy to formulate hypothesis about what’s wrong

Quality Code Simple code Understandable code “I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” Bill Gates Understandable code Well structured (indentation etc..) Write Documentation (comments)

Coding contest International Collegiate Programming contest topcoder

Working on project Work on small piece of a large project Start your own project

Apis and libraries You don’t always have to reinvent the wheel Read documentation

Things to think about while coding Testing Bugs Don’t leave the testing until the end Design Interface User experience

SUMMARY To be a good programmer: Think logically Practice Help others Experiment