"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!
After installing cutting-edge Python development tools, learn the professional skills that support proactive programming.
After reviewing a strategy for how you can proactively learn to program, review the types of assignments that this site features.
After reviewing program building blocks, learn how to integrate, and study the performance of data structures and their functions.
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!
After implementing a benchmarking program in Python, conduct an experiment to determine the fastest approach to finding the common items in a list.
After implementing a Python program that computes the numbers in the Collatz sequence, find which starting number yields the longest chain.
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!
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!
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.
Have a detailed question or need support with technical content on the site? Start a converation on the GitHub discussion forum.
Want to discuss the challenges you face as an emerging proactive programmer or have a brief question? Chat on our Discord server.
Not sure where to begin? Find learning opportunities in areas ranging from object-oriented programming to software testing.