|
||
I EEL 3370 - C++ Programming for Embedded Computing Object-oriented programming in C++ with emphasis on evaluation of alternative program design strategies applicable to Embedded Computing. Data Abstraction, Encapsulation, Inheritance, Polymorphism, Class design with data structures, Template Library, and wxWidgets applications library. These concepts work on big or small systems (3 Credits) |
Homework HW1: Bjarne Review following movie: Going Native -Stroustrup answer the questions listed in the document HW1 HW2 : wxHello See Software Packages above: Follow 10 Steps for Installing Software listed above Be sure to add time and date to the Status Bar Turn in a screen copy of running application from Slide 38 (including Time and Date) HW3: Operators Note: HW and PW are two separate submissions HW3 Program of the week PW3 wxEdit HW4: Functions HW4 Program of the week PW4 FO HW5: Classes HW5 Program of the week PW5 FS HW6: Containers HW6 Program of the week PW6 Samples HW7: List HW7 Program of the week PW7 Timer RenderTimer.cpp HW 8: Template HW8 Program of the week PW8 Mathplot mathplot.cpp mathplot.h main.cpp HW9: wxPong Download, install and run Pong game Instructions - HW9-wxPong wxPong Project zip file HW10: Tetris Download, install and run Tetris game wxTetrisSource Create new project file and add all source files Build, run, and screen capture to turn in HW11: Replaced by DFS Project Instructions coming below Reference List Applications for wxWidgets wxWidgets Applications wxWidgets - Who uses Software Using wxWidgets |
DFS - Random Maze Generator and Solution Project |
Everyone
in EEL 3370 is required to complete the DFS Project 4
Modules for 10% of your course grade. Submission details are
included in the instructions for each module, linked
below. Due dates are listed on the Syllabus, Lesson 1
is due with Week 8 Assignments. All of the lessons include wxWidgets code implementations. There are a series of four Coding Challenge videos which instruct about the Graph Theory using P5.js to create the algorithm. Your work will be to view the video explanation and then get the wxWidgets version running with algorithm implemented for submission. Lesson 1 explains creating a Maze on a Pane with a two dimensional array of Cells. Click the image for Basic Maze instructions: Lesson 2 uses wxSmith to automatically write framework code in wxWidgets where the algorithm can be implemented. The second Coding Challenge video explains the algorithm to check for available neighbors of a cell. An origin cell is specified and then each neighbor (top, right, bottom, left) is checked to see if it is an available edge. The maze is explored while neighbor edges are available. Cells being explored are marked pink color. The algorithm stops when "No Neighbors" are available. Click image for instructions: Lesson 3 uses the previous wxWidgets framework with simple modifications. The third Coding Challenge video shows how to erase walls between cells that have connecting edges. In this Lesson, we will be clearing the Walls for the Current Cell and also the 'from' Cell. A link for the 'from' cell is saved in the current cell for tracing the solution. Click Image for "No Walls" instructions: Lesson 4 Coding Challenge video explains the concept of using stack backtracking to find all the unexplored cells in the whole Matrix. All cells in the Matrix are explored using a stack of available cells. Once all the backtracking is complete, all cells have been explored and the Maze is complete. The a path from any target cell in the Maze can be found to the the graph origin. Click Image for the Backtracking wxWidgets solution: Take some time, watch the videos and the exercises. Make the submission for each Lesson. Each Lesson is a single item in the submission drop down list. Now you have created and used a wxSmith generated solution plus the implementation of the DFS algorithm to create and solve a Maze. Enjoy. |