|
||
| 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) NOTE: This site is currently archived information. Links and references can be outdated. This course is now offered using Canvas LMS. It is accessed through https://canvas.fiu.edu/. |
| 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. |