Skip to content

Proactive Programmers



"Ethical programming includes being honest about the extent to which you can be confident that your program is good, and adhering to quality control processes that ensure if a mistake has been made [...] it is found and rectified before it causes harm." Perdita Stevens in How to Write Good Programs

As they "act in anticipation of future problems, needs, or changes"1 proactive programmers ethically implement software in a fashion that is responsible to themselves, to the others in their team, and to the people who rely on their project. Always working to establish a confidence in their program's correctness, proactive programmers implement high-quality software that is designed, documented, tested, and maintained according to industry best practices.

Is this challenging? Yep! Will you make mistakes along the way to emerging as a proactive programmer? Of course! Are there many benefits to being a proactive programmer? Yes! If you want to learn more about proactive programming, you are invited study the proactive skills and complete the projects in data abstraction and discrete structures.

Are you nervous about getting started or afraid that becoming a proactive programmer will prove to be too overwhelming? Don't worry, you can rely on the team of programming experts who have crafted activities that will help you to hone your technical and professional skills. If you get stuck on this adventure you will find a welcoming community of like-minded learners who can answer your technical questions, make suggestions for improvement, and relate to your struggles.

Ready to put the PRO in your programming skills? Start your journey with one of these resources!

Proactive Skills

After installing cutting-edge Python development tools, learn the professional skills that support proactive programming.

Proactive Learning

After reviewing a strategy for how you can proactively learn to program, review the types of assignments that this site features.

Data Abstraction

After reviewing program building blocks, learn how to integrate, and study the performance of data structures and their functions.

Discrete Structures

Explore the fascinating connections between discrete mathematics and programming as you implement realistic Python programs.

Want to start a learning how to program? Launch your adventure with one of these projects!

Intersection Algorithms

After implementing a benchmarking program in Python, conduct an experiment to determine the fastest approach to finding the common items in a list.

Collatz Creation

After implementing a Python program that computes the numbers in the Collatz sequence, find which starting number yields the longest chain.

Containment Checks

Ever wondered how fast a Python program can determine if an item exists inside of a list? Build a benchmarking framework and conduct an experiment to out!

Text Analysis

After implementing a Python program reads in text files, use the set discrete structure to automatically analyze the text and visualize its structure use Venn diagrams.

Want to engage the proactive programming community? Check out these ways to get connected!

Issue Tracker

Have a valuable insight to share? Give feedback or report a bug in the site's writing or source code through the GitHub issue tracker.

Technical Discussions

Have a detailed question or need support with technical content on the site? Start a converation on the GitHub discussion forum.

Discord Server

Want to discuss the challenges you face as an emerging proactive programmer or have a brief question? Chat on our Discord server.

Topic Listing

Not sure where to begin? Find learning opportunities in areas ranging from object-oriented programming to software testing.

  1. See Merriam-Webster for the definition of "proactive". What do you think are the characteristics of a proactive programmer? 

Updated: 2022-08-19   Created: 2021-08-10
Create an issue with feedback about "Home"
Check out all the exciting topics covered on this site