SlideShare a Scribd company logo
First Do It By Hand
If you can’t do it by hand, you
can’t tell a computer how to do it.
Before doing any work on the
computer, get some sheets of
paper and a pencil. Choose an
example of your problem—not
too hard, but not trivial either.
Solve it by hand. The minutes
spent on this step will save you
hours later.
1
5 Tips
to help
you tackle
programming
by Cay Horstmann
1
Solve a Simpler
Problem First
When you face a complex problem,
it is easy to get discouraged. A
great strategy is to solve a simpler
problem first. Ask yourself what
is the absolutely simplest part of
the task that is helpful for the end
result. Start from there. Then add
another feature, and another.
With some practice, you can
design a plan that builds
up a complete solution as
a manageable sequence of
intermediate steps. That way, you
will experience sweet success at
each step, and you will have the
energy to reach a final conclusion.
2
2
Use Physical Objects
Sometimes, you are given a problem
and have no idea how to solve it. You
may know that a loop is required, or
that you need to swap elements, but
that’s not enough to design a solution.
Try acting out your problem with
physical objects. Coins, playing cards,
scrabble tiles, or tin soldiers work great.
Suppose you need to arrange values in
a certain way. Try moving the objects
around until you discover a systematic
way that always achieves the correct
result. Then you are ready to write
pseudocode and code.
3
3
Try Some Code
Your textbook and the library
documentation can be confusing at times.
A quick way of making sense out of the
documentation is to try something out.
For example, suppose you suspect that
the “replace” function can be useful but
you don’t really know what it replaces
or how you can get the result. Make a
string, replace “i” with “x”, and watch what
happens. Many development environments
have a way of running quick experiments
without writing a full-fledged program.
4
4
Write More Code
Programming is not a spectator sport.
Understanding the concepts only gets
you so far. You need to have your hands
on the ball to gain experience. You can
start out with worked examples that
walk you through a solution, a step at
a time. Then set yourself a challenge
to push the example a bit further, and
implement your enhancement.
That way, you build upon something that
works, and you gain valuable experience
reading and writing code.
5
5

More Related Content

PPTX
Eisenhower.matrix.june.2014
PDF
19 productivity hacks at workplace for chronic procrastinators
PDF
Yes, You Can! No, You Can't! Yes, You Can!
PDF
Product Discovery Stories: when and how to use a discovery sprint to validate...
PDF
UX for E-learning: Designing the Learner Experience
PDF
Barcamp Conway: A Design Mindset
PDF
Product Design - Rui Barroca
PDF
Keynote: Can you teach a 150-year-old dog new tricks?
Eisenhower.matrix.june.2014
19 productivity hacks at workplace for chronic procrastinators
Yes, You Can! No, You Can't! Yes, You Can!
Product Discovery Stories: when and how to use a discovery sprint to validate...
UX for E-learning: Designing the Learner Experience
Barcamp Conway: A Design Mindset
Product Design - Rui Barroca
Keynote: Can you teach a 150-year-old dog new tricks?

What's hot (19)

PDF
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
PDF
Converting your Opportunities: Making your Biggest Opportunity for 2015 / 201...
PPTX
Set Yourself Up For Success in Meeting Deadlines
PDF
My Product Management Mistakes
PPTX
Missionizing Your Agile Team
PDF
Game Product Discovery: Validation & Iteration
PPTX
Agile + Lean Product Management
PDF
Deepayan som prayas 3 10 5-13
PDF
The Essentials of Great Product Design
PPT
Team Compensation
PDF
EIA playbook-2016
PPTX
Prototype and test
PDF
5 Essential Tips For Improving Your Website Mockups & Prototypes!
PDF
Using Discovery to create products people actually want (2017 UX Copenhagen W...
PPTX
Tamara stefanovic lightening talk june 6- red flags
PPT
Cheap'n'easy usability
KEY
PivotCamp preso
PDF
How To Validate Your Startup Idea
10 things I've learnt about lean startup: It's f*****g hard that's for sure!
Converting your Opportunities: Making your Biggest Opportunity for 2015 / 201...
Set Yourself Up For Success in Meeting Deadlines
My Product Management Mistakes
Missionizing Your Agile Team
Game Product Discovery: Validation & Iteration
Agile + Lean Product Management
Deepayan som prayas 3 10 5-13
The Essentials of Great Product Design
Team Compensation
EIA playbook-2016
Prototype and test
5 Essential Tips For Improving Your Website Mockups & Prototypes!
Using Discovery to create products people actually want (2017 UX Copenhagen W...
Tamara stefanovic lightening talk june 6- red flags
Cheap'n'easy usability
PivotCamp preso
How To Validate Your Startup Idea
Ad

Viewers also liked (20)

PDF
Wiley Student Voices
PDF
Startup Technology: Cheatsheet for Non-Techies
PDF
Writing Smarter Applications with Machine Learning
PDF
Build Features, Not Apps
PDF
“Writing code that lasts” … or writing code you won’t hate tomorrow.
PPT
Introduction to Go programming
PDF
Migration from Swing to JavaFX
PDF
[Infographic] How will Internet of Things (IoT) change the world as we know it?
PDF
QA in Agile World
PDF
Cloud History 101
PDF
Visualising Data with Code
PDF
Montreal Girl Geeks: Building the Modern Web
PDF
12 Values and Skills Gained Through Contemplative Practices in Higher Education
PDF
GDGSCL - Docker a jeho provoz v Heroku a AWS
PDF
Challenge Your Students, Don't Trick Them
PDF
Hype vs. Reality: The AI Explainer
PDF
Visual Design with Data
PDF
Five Tips for Increasing Organized Learning & Engagement
PDF
TEDx Manchester: AI & The Future of Work
PDF
5 Common Myths that Stop People from Using an Antivirus
Wiley Student Voices
Startup Technology: Cheatsheet for Non-Techies
Writing Smarter Applications with Machine Learning
Build Features, Not Apps
“Writing code that lasts” … or writing code you won’t hate tomorrow.
Introduction to Go programming
Migration from Swing to JavaFX
[Infographic] How will Internet of Things (IoT) change the world as we know it?
QA in Agile World
Cloud History 101
Visualising Data with Code
Montreal Girl Geeks: Building the Modern Web
12 Values and Skills Gained Through Contemplative Practices in Higher Education
GDGSCL - Docker a jeho provoz v Heroku a AWS
Challenge Your Students, Don't Trick Them
Hype vs. Reality: The AI Explainer
Visual Design with Data
Five Tips for Increasing Organized Learning & Engagement
TEDx Manchester: AI & The Future of Work
5 Common Myths that Stop People from Using an Antivirus
Ad

Similar to Five Tips To Help You Tackle Programming (20)

PDF
Write code and find a job
PPTX
Tips on how to break down a programming problem
PDF
10 tips to save you time and frustration while programming
PPTX
Intro Class.pptx
PPTX
20240618 How To Become a Self-Taught Programmer.pptx
PDF
James Langley presentation about Computer science & ICT curriculum
PDF
Approaches to teaching primary computing
PDF
Lecture 7 program development issues (supplementary)
PDF
Teacher toolkit Pycon UK Sept 2018
PDF
Comp thinking
PPT
computer programming introduction ppt.ppt
PDF
Learn Python The Hard Way, 3rd Edition .pdf
PPT
Problem Solving and Algorithm Design in Computer Science
PPTX
Power Point Introduction To Programming 1
PDF
Linux Commands, C, C++, Java and Python Exercises For Beginners
PDF
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
PPTX
intro ai,coding and robotics.pptx scratch
PPTX
intro ai,coding and robotics.pptx scratch
PDF
.....Kickstart Your Coding Journey Today
PPTX
Teaching of computer programming
Write code and find a job
Tips on how to break down a programming problem
10 tips to save you time and frustration while programming
Intro Class.pptx
20240618 How To Become a Self-Taught Programmer.pptx
James Langley presentation about Computer science & ICT curriculum
Approaches to teaching primary computing
Lecture 7 program development issues (supplementary)
Teacher toolkit Pycon UK Sept 2018
Comp thinking
computer programming introduction ppt.ppt
Learn Python The Hard Way, 3rd Edition .pdf
Problem Solving and Algorithm Design in Computer Science
Power Point Introduction To Programming 1
Linux Commands, C, C++, Java and Python Exercises For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
intro ai,coding and robotics.pptx scratch
intro ai,coding and robotics.pptx scratch
.....Kickstart Your Coding Journey Today
Teaching of computer programming

More from Wiley (20)

PPTX
Publisher as Strategic Partner for Societies October 2019
PDF
19 Inspiring Books by Jon Gordon
PDF
3 Big Myths That Hold Women Back
PDF
The 5 Types of Meetings Project Managers Need to Master-Slide Deck Number Thr...
PDF
The 5 Types of Meetings Project Managers Need to Master - Slide Deck Number T...
PDF
A Celebration of Women's History Month
PDF
Leadership Is for Everyone
PDF
The Five Leadership Practices that Improve Sales Success
PPTX
7 Steps to Develop Well-Designed Course Objectives
PPTX
Today's Students: 7 Powerful Facts
PDF
Should you get an MBA?
PDF
Valuing International Collaboration in Research
PDF
Leadership Makes a Difference
PDF
5 Reasons to Earn Your CPA License WEL
PDF
From DBA to EBA: A Five-year Story from a Consortium Shared E-Book Collection...
PDF
An Educator's Guide to Cheating
PDF
Mine the Gap: Using Handouts With Gaps
PDF
Get Your Students Motivated: Tips for the Classroom
PDF
Level I CFA Exam 2017 Curriculum Updates
PDF
6 Steps to Hire Someone with Soft Skills
Publisher as Strategic Partner for Societies October 2019
19 Inspiring Books by Jon Gordon
3 Big Myths That Hold Women Back
The 5 Types of Meetings Project Managers Need to Master-Slide Deck Number Thr...
The 5 Types of Meetings Project Managers Need to Master - Slide Deck Number T...
A Celebration of Women's History Month
Leadership Is for Everyone
The Five Leadership Practices that Improve Sales Success
7 Steps to Develop Well-Designed Course Objectives
Today's Students: 7 Powerful Facts
Should you get an MBA?
Valuing International Collaboration in Research
Leadership Makes a Difference
5 Reasons to Earn Your CPA License WEL
From DBA to EBA: A Five-year Story from a Consortium Shared E-Book Collection...
An Educator's Guide to Cheating
Mine the Gap: Using Handouts With Gaps
Get Your Students Motivated: Tips for the Classroom
Level I CFA Exam 2017 Curriculum Updates
6 Steps to Hire Someone with Soft Skills

Recently uploaded (20)

PDF
Digital Strategies for Manufacturing Companies
PPTX
Transform Your Business with a Software ERP System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
L1 - Introduction to python Backend.pptx
PPTX
ai tools demonstartion for schools and inter college
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
history of c programming in notes for students .pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Introduction to Artificial Intelligence
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Digital Strategies for Manufacturing Companies
Transform Your Business with a Software ERP System
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Operating system designcfffgfgggggggvggggggggg
Adobe Illustrator 28.6 Crack My Vision of Vector Design
L1 - Introduction to python Backend.pptx
ai tools demonstartion for schools and inter college
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Online Work Permit System for Fast Permit Processing
Design an Analysis of Algorithms II-SECS-1021-03
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
CHAPTER 2 - PM Management and IT Context
Odoo POS Development Services by CandidRoot Solutions
history of c programming in notes for students .pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction to Artificial Intelligence
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Navsoft: AI-Powered Business Solutions & Custom Software Development
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

Five Tips To Help You Tackle Programming

  • 1. First Do It By Hand If you can’t do it by hand, you can’t tell a computer how to do it. Before doing any work on the computer, get some sheets of paper and a pencil. Choose an example of your problem—not too hard, but not trivial either. Solve it by hand. The minutes spent on this step will save you hours later. 1 5 Tips to help you tackle programming by Cay Horstmann 1
  • 2. Solve a Simpler Problem First When you face a complex problem, it is easy to get discouraged. A great strategy is to solve a simpler problem first. Ask yourself what is the absolutely simplest part of the task that is helpful for the end result. Start from there. Then add another feature, and another. With some practice, you can design a plan that builds up a complete solution as a manageable sequence of intermediate steps. That way, you will experience sweet success at each step, and you will have the energy to reach a final conclusion. 2 2
  • 3. Use Physical Objects Sometimes, you are given a problem and have no idea how to solve it. You may know that a loop is required, or that you need to swap elements, but that’s not enough to design a solution. Try acting out your problem with physical objects. Coins, playing cards, scrabble tiles, or tin soldiers work great. Suppose you need to arrange values in a certain way. Try moving the objects around until you discover a systematic way that always achieves the correct result. Then you are ready to write pseudocode and code. 3 3
  • 4. Try Some Code Your textbook and the library documentation can be confusing at times. A quick way of making sense out of the documentation is to try something out. For example, suppose you suspect that the “replace” function can be useful but you don’t really know what it replaces or how you can get the result. Make a string, replace “i” with “x”, and watch what happens. Many development environments have a way of running quick experiments without writing a full-fledged program. 4 4
  • 5. Write More Code Programming is not a spectator sport. Understanding the concepts only gets you so far. You need to have your hands on the ball to gain experience. You can start out with worked examples that walk you through a solution, a step at a time. Then set yourself a challenge to push the example a bit further, and implement your enhancement. That way, you build upon something that works, and you gain valuable experience reading and writing code. 5 5