Algorithms are the foundations of computer science. In this series of liveProjects, you’ll learn how to use specific algorithms to solve some important programming problems. You’ll learn how to use recursion to draw complex shapes, search linked data structures, and layout and draw trees. You’ll learn how to use network algorithms to find shortest paths and assign employees to jobs. Tackle all the projects in this series, and you’ll get useful hands-on experience with a variety of algorithmic topics, data structures, and general programming techniques.
In this liveProject, you’ll use Python and algorithms that work on binary and N-ary trees to sort data and draw organizational charts. You’ll store, find, and remove data in sorted trees, and you’ll experiment with different layout approaches for organizational charts.
In this liveProject, you’ll use Python algorithms to help find the shortest path between stops for a fleet management company. With trucks driving over 10 million miles per year, even slight time saving can be a huge cost reduction. You’ll build network classes, save, restore, and draw networks, use network algorithms to find shortest paths between locations, and lay the groundwork for future network applications.
In this liveProject, you’ll take on the role of a project manager for a construction company and utilize Python to help schedule your construction’s tasks. You’ll utilize tried and tested methods like topological sorting, PERT charts, and Gantt charts to create a task scheduling tool that can both track deadlines and automatically update delivery dates for when deadlines are missed.
In this liveProject, you’ll use the Python Imaging Library (PIL) to tackle common image processing tasks. You’ll learn about some of the algorithms that let you apply filters to images, and you’ll use PIL to adjust image brightness, contrast, and color tone. You’ll crop, rotate, reflect, and perform other geometric operations on images.
In this liveProject, you’ll utilize Python and maximal flow algorithms to create an application that can match jobs with the correct workers. Running all the possible combinations of jobs and workers with the correct skills would be impossible to scale manually, but is easy to do with Python. You’ll start by finding the maximal flows in your network, then quickly move on to creating a program that assigns jobs based on your algorithm.
In this liveProject, you’ll use recursive and non-recursive algorithms to generate fractals for graphic design. Fractals are shapes that have fractional dimensions and can produce very beautiful and interesting visualizations. You’ll start by exploring recursive line-drawing fractals, move on to strange attractors, and finish up with escape-time fractals.
The liveProject series is for intermediate Python programmers who know Python and the tkinter package. To begin this liveProject series, you will need to be familiar with the following: