Point-Based Fractal Generation: An introduction to C++ Programming


Data Structures


Introduction to C++: basic syntax, constructs, and objects for Java programmers. Introduction to Subversion and Visual Studios.

This is intended as the introductory project in a sophomore-level course introducing students both basic data structures and to C++ (assuming two semesters of Java). This project focuses on the latter: giving students their first experience with the C++ language (as well as the Visual Studios IDE and the SVN-based submission method).

In this assignment the student: (1) learns to use SVN; (2) writes the obligatory C++ Hello World program within the Visual Studios editor; (3) implements functionality for generating BMP files; (4) implements the method of a BMP interface class using a row-major matrix representation; and (5) generates several simple fractal images using the C++ Complex class and operators.

Note: The provided library allows for easy generation of Windows-friendly .bmp files, but requires the Microsoft C++ compiler to work.

Duration: 2.5 weeks.

Background: Assume 2 semesters of Java programming. Students are not assumed to have seen C++, Visual Studios, or Subversion. Supplementary materials or lecture on Subversion may need to be provided.


John E. Karro


Based in labs and libraries developed by Dr. William Brinkman for CSE 274 (Introduction to Data Structures) at Miami University.


Code, short-answer prose

Assignment Duration

Several Weeks

Communication Skill

reading, writing

Technical Skill

Programming language basics, object oriented language features, tools

Workplace Scenario

You have been hired as programmer at a graphics company and have discovered you need to learn C++. Now. Coming down the publishing pipeline is a book on Fractals – mathematically generated images that are frequently used as art, screen savers, Hollywood CGIs, etc…, hopefully displacing the classic book on the subject. As a way to help you bootstrap yourself into the language quickly, they have assigned you to start generating Fractal figures for the book. In order to do this, you are also going to need to use Subversion (a tool for project management), Visual Studio (an Microsoft IDE), a C++ library for generating graphics file in .bmp format, and how to generate a Fractal.

Importance: In this assignment you are learning some fundamental skills needed to work as a programmer in Industry. Subversion is representative of repository tools used to store, exchange, and track versions of coding projects. Visual Studio is a useful alternative to Eclipse for writing and debugging code. And C++ is one of the more important languages, offering superior speed to Java in an objected oriented framework.

Team Size




John E. Karro, “Point-Based Fractal Generation: An introduction to C++ Programming,” Incorporating Communication Outcomes into the Computer Science Curriculum, accessed July 17, 2018, http://cs-comm.lib.muohio.edu/items/show/32.


Creative Commons License


Allowed tags: <p>, <a>, <em>, <strong>, <ul>, <ol>, <li>