Beginning Python for Non-Programmers
  • Cover
  • About the Author
  • Introduction to Programming
    • What is Programming?
    • What Programmers Do
    • The Mind of a Programmer
    • How Does a Programmer Think?
  • Programming Languages
    • Python
    • HTML / CSS
    • JavaScript / TypeScript
    • C, C++, C#
    • Java
    • SQL
  • Introduction to Python
    • What is Python?
    • Types of Python Programs
    • Core Tools for Python Programming
      • Python Interpreter
      • Jupyter Notebooks
      • Visual Studio Code
      • Python Playground
      • Pycharm Community Edition
  • Installing Python
    • Step-by-step guide for Windows Users
    • Step-by-step guide for Mac Users
  • Installing Visual Studio Code
    • Step-by-step guide for Windows Users
    • Step-by-step guide for Mac Users
  • Writing and Running Your First Python Program
  • Basic Concepts of Python Programming
  • Control Flow in Python
  • Functions and Reusability
  • Debugging and Problem Solving
  • Exploring More Python Concepts
  • Adding Python Packages with pip
  • Python Web Frameworks
  • Resources for Continued Learning
    • CodeAcademy.com
    • Python.org
    • SoloLearn.com
    • coursera.com
    • udemy.com
    • youtube.com
    • Code With Mosh
    • GameDev.tv
  • Staying Motivated and Practicing Regularly
  • Appendices
    • Beginner Project Ideas for Learning
    • Python Cheat Sheet
    • Frequently Asked Questions for Beginners
Powered by GitBook
On this page
  • Step 1 - Requirements Gathering
  • Step 2 - Mock-Ups
  • Step 3 - Construction
  • Step 4 - Testing / Debugging
  • Step 5 - Documentation
  • Step 6 - Deployment
  • Step 7 - Maintenance

Was this helpful?

Edit on GitHub
  1. Introduction to Programming

What Programmers Do

Every programmer enjoys writing the code for a new program. It's like a blank canvas to create on. A fresh start where anything is possible. But that's only a small portion of the job.

Step 1 - Requirements Gathering

Someone usually tells the programmer that a certain program needs to be created. That person is the customer, using the term loosely. The customer has a vision of what they want to accomplish. Sometimes they are very prepared and know precisely what they want. Frequently they don't have all the details and processes figured out and the programmer has to help with the design.

To do this, we ask hundreds of questions to get every single detail clarified. You want to input the birth date and calculate the age? Okay. Where is the birth date coming from? Are you typing it in? Is it in a database somewhere? What format(s) might the date be in? Is it MM/DD/YYYY or DD/MM/YYYY or DDMMMYY? An entire conversation over this one precise feature.

This is done painstakingly over every detail of the entire application. How do you want this screen to look? Do they need a retry button? Are there any security features required? Do we put the results into a database somewhere? Is there a limit to who can do this or how many times or how often?

The more time you spend planning the application, the easier it is to build it correctly. If you just start coding without knowing what you are building, you'll be changing things - a lot - and it will take a lot longer and the final code might get messy and hard to maintain.

Step 2 - Mock-Ups

Making a program work with fake screens to show how it will look is a great way to get general feedback from the customer. Does this look the way you want it to look? Are all the elements on the screen that belong there? It doesn't actually work yet. It's just a stage where the customer can see his vision and how it will look when finished.

Step 3 - Construction

Write the code necessary to implement all the features for the screens you designed. This is the actual programming part. Most programmers consider this the best part. This is why we learned to program.

Step 4 - Testing / Debugging

Testing means running the program and trying to make as many types of mistakes as possible to make sure the program catches the mistakes and handles the issue correctly. Nobody wants the program to crash so it has to handle every situation elegantly. Be sure all the calculations are accurate and all the outputs are correct.

This is where you will try to find ways to hack into the application or associated databases. Security review is critical as any hard-coded passwords might get discovered by someone who shouldn't know them.

Step 5 - Documentation

You may have to build web pages explaining how to use the new program or how to get support when things go wrong. For mobile apps, you need privacy documents and other details before you can deploy it.

Step 6 - Deployment

If it is a web page or a phone app or a Windows program, somehow it has to be installed somewhere so people can use it. Deployment can take as much effort

Step 7 - Maintenance

Every program has to be maintained. Sometimes new features are added. Sometimes they stop working because of an operating system has been upgraded. There's always something to do to keep your program running over time.

This is the least favorite part of programming. Changing existing programs to add new features can make the code more complicated. Adding one thing can break another thing. Over time, maintenance can be so difficult you are afraid to touch the code again. Because of this - it is important to write the code in a way to make it as easy to understand as possible.

Some content generated with AI

PreviousWhat is Programming?NextThe Mind of a Programmer

Last updated 9 months ago

Was this helpful?