Six-Project Series

Six Small Algorithm Projects with C# you own this product

prerequisites
working knowledge of classes and constructors, arrays and lists, working with text files, and overriding `ToString` • basics of lambda expressions and extension methods • basic trigonometry and complex numbers
skills learned
manipulating images • drawing fractals • using recursion • using tree data structures and terminology • performing network traversal • drawing in WPF (Windows Presentation Foundation) • performing topological sorting • finding maximal flows
Rod Stephens
6 weeks · 4-8 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Algorithms make the world go round! In this series, you’ll wear six different hats in six diverse projects that spotlight algorithms in a wide range of applications. You’ll build task-scheduling tools, draw organizational charts, and dive into fractals. Throughout this series of liveProjects, you’ll go hands-on to discover a variety of algorithmic techniques, including recursive data structures, image processing, and finding shortest paths. When you’re finished, you’ll have practical experience that you can use to solve real-world problems.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

This is a really great liveProject for learning recursion and some applications of it.

Patrick Regan

Manning author Rod Stephens shares what he likes about the Manning liveProject platform.

here's what's included

Project 1 Trees

Exciting things are happening at Generigloop, and the senior vice executive’s undersecretary needs help keeping things organized. They’ve asked you, their junior assistant, to create a tool for drawing organizational charts. Seizing the opportunity to impress—and learn valuable skills while getting paid—you volunteer to research what it will take to create a chart-drawing tool using Python and C#. You’ll learn techniques for drawing family trees, hierarchical component diagrams, document hierarchies, and other tree structures.

Project 2 Shortest Paths

The shortest distance between two points…is the most cost-effective. You’re the fleet manager at APS (Acme Parcel Service), a company whose fleet of thousands of trucks drives more than 10 million miles per year. Your goal is to write a program that finds the shortest path between stops, shaving a few percent off the total mileage—and scoring points with your CEO. You’ll learn to store networks in files, draw networks in WPF, test your networks, select start and end nodes, and find the shortest path between them using shortest path algorithms.

Project 3 Scheduling

Enter the realm of project management: your job is to oversee the construction of a castle, ensuring that the project is completed on time. Many of the tasks in the schedule are dependent on other tasks, and some will inevitably fail to be done by their due dates, risking the delay of the entire project—and the wrath of the Evil Overlord. To prevent this catastrophe, you’ll perform topological sorting to determine which tasks can be scheduled, use the critical path method to find out which tasks will be delayed by the delay of another task, and build PERT and Gantt charts to see critical paths and task dependencies in a visual way.

Project 4 Image Processing

A picture says a thousand words, but make sure they’re the right ones. Today’s cell phones come with amazing digital cameras, but without a guarantee that you’ll never take another bad picture. Learn to use image processing algorithms, geometry, point operations, and filters to transform images by adjusting brightness, contrast, color, size, and shape. You’ll also create interesting effects such as highlighting edges, embossing, and blurring.

Project 5 Work Assignment

Maximize productivity with maximum flow algorithms and some basic C# programming. You play the role of a nuclear power plant operations manager. Your challenge is to assign jobs to your group of employees, and your goal is to achieve maximum productivity. You’ll build a program that generates networks for testing maximal flow algorithms, as well as a program that finds maximal flows through a network of capabilities. Then, you’ll put your maximal flow program to work to match employees with jobs while ensuring that as many jobs as possible are completed.

Project 6 Fractals

Take a trip into the fascinating world of fractals! Here, you’re an art director for a documentary on the 1960s psychedelic movement. Your goal is to wow your audience with a mind-bending title image—a perfect application for fractals. You’ll build programs that create fractals by drawing lines recursively, create ghostly multi-dimensional shapes, and draw escape-time fractals using the Mandelbrot set (the most popular fractal in the world).

book and video resources

When you start each of the projects in this series, you'll get full access to the following book and video for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Six Small Algorithm Projects with C# project for free

All the instructions for all projects are very clear and to the point. The fact that the author is a mathematician helps a lot with that.

Emmanouil Chardalas

I think that people who want to advance their algorithm knowledge will definitely buy this course.

Amrh Umaudlu

project author

Taurius Litvinavicius
Taurius Litvinavicius was one of the first experts to release a course on Blazor and write a book about it. Since then, he’s published lots of learning material as courses, articles, and YouTube tutorials. Having done all kinds of development projects—from Windows desktop applications to Xamarin mobile and web development—Taurius knows the C# world inside and out. These days, he works on cloud-based projects using the latest Blazor technology and transfer protocols including UDP, TCP, and WebSockets in C#.

Prerequisites

These liveProjects are for intermediate C# programmers who are familiar with WPF and Windows Forms programming. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Visual Studio version 2022
  • Windows operating system
TECHNIQUES
  • Basics of Windows Forms programming
  • Basics of WPF programming
  • Basics of classes and constructors
  • Arrays and lists

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.