diff --git a/assignments/data/1-ListIMDB/c++.zip b/assignments/data/1-ListIMDB/c++.zip index 1c6aae8a7..3eed02a1a 100644 Binary files a/assignments/data/1-ListIMDB/c++.zip and b/assignments/data/1-ListIMDB/c++.zip differ diff --git a/assignments/data/1-ListIMDB/java.zip b/assignments/data/1-ListIMDB/java.zip index b0921cf74..874d3983a 100644 Binary files a/assignments/data/1-ListIMDB/java.zip and b/assignments/data/1-ListIMDB/java.zip differ diff --git a/assignments/data/1-ListIMDB/python.zip b/assignments/data/1-ListIMDB/python.zip index c9c771ea0..43baab044 100644 Binary files a/assignments/data/1-ListIMDB/python.zip and b/assignments/data/1-ListIMDB/python.zip differ diff --git a/assignments/data/10-HurricaneTracker/c++.zip b/assignments/data/10-HurricaneTracker/c++.zip index fb7921e8e..48c86d750 100644 Binary files a/assignments/data/10-HurricaneTracker/c++.zip and b/assignments/data/10-HurricaneTracker/c++.zip differ diff --git a/assignments/data/10-HurricaneTracker/java.zip b/assignments/data/10-HurricaneTracker/java.zip index b91aa4de8..e953d832e 100644 Binary files a/assignments/data/10-HurricaneTracker/java.zip and b/assignments/data/10-HurricaneTracker/java.zip differ diff --git a/assignments/data/10-HurricaneTracker/python.zip b/assignments/data/10-HurricaneTracker/python.zip index 1ad69f0ac..fd7cf634f 100644 Binary files a/assignments/data/10-HurricaneTracker/python.zip and b/assignments/data/10-HurricaneTracker/python.zip differ diff --git a/assignments/data/11-2048Game/c++.zip b/assignments/data/11-2048Game/c++.zip index 384200bcb..981cd213c 100644 Binary files a/assignments/data/11-2048Game/c++.zip and b/assignments/data/11-2048Game/c++.zip differ diff --git a/assignments/data/11-2048Game/java.zip b/assignments/data/11-2048Game/java.zip index 2bced1670..fa9fcb2ed 100644 Binary files a/assignments/data/11-2048Game/java.zip and b/assignments/data/11-2048Game/java.zip differ diff --git a/assignments/data/11-2048Game/python.zip b/assignments/data/11-2048Game/python.zip index 2886ae4d4..ec2594ae8 100644 Binary files a/assignments/data/11-2048Game/python.zip and b/assignments/data/11-2048Game/python.zip differ diff --git a/assignments/data/12-AStarMaze/c++.zip b/assignments/data/12-AStarMaze/c++.zip index 0cdc538a0..e4c680ce3 100644 Binary files a/assignments/data/12-AStarMaze/c++.zip and b/assignments/data/12-AStarMaze/c++.zip differ diff --git a/assignments/data/12-AStarMaze/java.zip b/assignments/data/12-AStarMaze/java.zip index c41db2610..7d9e66f1f 100644 Binary files a/assignments/data/12-AStarMaze/java.zip and b/assignments/data/12-AStarMaze/java.zip differ diff --git a/assignments/data/12-AStarMaze/python.zip b/assignments/data/12-AStarMaze/python.zip index c4b61c3c6..fe6f66e58 100644 Binary files a/assignments/data/12-AStarMaze/python.zip and b/assignments/data/12-AStarMaze/python.zip differ diff --git a/assignments/data/13-InfiniteRunner/c++.zip b/assignments/data/13-InfiniteRunner/c++.zip index 3102af0d5..7b6fa94f8 100644 Binary files a/assignments/data/13-InfiniteRunner/c++.zip and b/assignments/data/13-InfiniteRunner/c++.zip differ diff --git a/assignments/data/13-InfiniteRunner/java.zip b/assignments/data/13-InfiniteRunner/java.zip index a877d7db4..c2921f7eb 100644 Binary files a/assignments/data/13-InfiniteRunner/java.zip and b/assignments/data/13-InfiniteRunner/java.zip differ diff --git a/assignments/data/13-InfiniteRunner/python.zip b/assignments/data/13-InfiniteRunner/python.zip index 961b346ba..37f12f1f7 100644 Binary files a/assignments/data/13-InfiniteRunner/python.zip and b/assignments/data/13-InfiniteRunner/python.zip differ diff --git a/assignments/data/14-SpreadingFire/c++.zip b/assignments/data/14-SpreadingFire/c++.zip index 2a0b46282..e0e55b40f 100644 Binary files a/assignments/data/14-SpreadingFire/c++.zip and b/assignments/data/14-SpreadingFire/c++.zip differ diff --git a/assignments/data/14-SpreadingFire/java.zip b/assignments/data/14-SpreadingFire/java.zip index 16806e5cf..64b438d56 100644 Binary files a/assignments/data/14-SpreadingFire/java.zip and b/assignments/data/14-SpreadingFire/java.zip differ diff --git a/assignments/data/14-SpreadingFire/python.zip b/assignments/data/14-SpreadingFire/python.zip index 1a52aba2e..8d179b79a 100644 Binary files a/assignments/data/14-SpreadingFire/python.zip and b/assignments/data/14-SpreadingFire/python.zip differ diff --git a/assignments/data/15-FallingSand/c++.zip b/assignments/data/15-FallingSand/c++.zip index 88d8808a4..1783625d2 100644 Binary files a/assignments/data/15-FallingSand/c++.zip and b/assignments/data/15-FallingSand/c++.zip differ diff --git a/assignments/data/15-FallingSand/java.zip b/assignments/data/15-FallingSand/java.zip index b42f23753..349dc99ab 100644 Binary files a/assignments/data/15-FallingSand/java.zip and b/assignments/data/15-FallingSand/java.zip differ diff --git a/assignments/data/15-FallingSand/python.zip b/assignments/data/15-FallingSand/python.zip index 47096f27e..e6d219a40 100644 Binary files a/assignments/data/15-FallingSand/python.zip and b/assignments/data/15-FallingSand/python.zip differ diff --git a/assignments/data/16-ImagePuzzle/c++.zip b/assignments/data/16-ImagePuzzle/c++.zip index d8a4019c0..20c93ea26 100644 Binary files a/assignments/data/16-ImagePuzzle/c++.zip and b/assignments/data/16-ImagePuzzle/c++.zip differ diff --git a/assignments/data/16-ImagePuzzle/java.zip b/assignments/data/16-ImagePuzzle/java.zip index cfeaceb75..27f4afde7 100644 Binary files a/assignments/data/16-ImagePuzzle/java.zip and b/assignments/data/16-ImagePuzzle/java.zip differ diff --git a/assignments/data/16-ImagePuzzle/python.zip b/assignments/data/16-ImagePuzzle/python.zip index b57bbd49e..58ad0a7bc 100644 Binary files a/assignments/data/16-ImagePuzzle/python.zip and b/assignments/data/16-ImagePuzzle/python.zip differ diff --git a/assignments/data/17-ControlsTutorial/c++.zip b/assignments/data/17-ControlsTutorial/c++.zip index 0c271e799..52f5c8fce 100644 Binary files a/assignments/data/17-ControlsTutorial/c++.zip and b/assignments/data/17-ControlsTutorial/c++.zip differ diff --git a/assignments/data/17-ControlsTutorial/python.zip b/assignments/data/17-ControlsTutorial/python.zip index 1077e59b5..40a82d5bf 100644 Binary files a/assignments/data/17-ControlsTutorial/python.zip and b/assignments/data/17-ControlsTutorial/python.zip differ diff --git a/assignments/data/18-ControlsTutorialTwo/c++.zip b/assignments/data/18-ControlsTutorialTwo/c++.zip index 21e344e97..b012e86fb 100644 Binary files a/assignments/data/18-ControlsTutorialTwo/c++.zip and b/assignments/data/18-ControlsTutorialTwo/c++.zip differ diff --git a/assignments/data/18-ControlsTutorialTwo/java.zip b/assignments/data/18-ControlsTutorialTwo/java.zip index d284dc12a..687c66192 100644 Binary files a/assignments/data/18-ControlsTutorialTwo/java.zip and b/assignments/data/18-ControlsTutorialTwo/java.zip differ diff --git a/assignments/data/18-ControlsTutorialTwo/python.zip b/assignments/data/18-ControlsTutorialTwo/python.zip index edb7afc79..b8ac27a87 100644 Binary files a/assignments/data/18-ControlsTutorialTwo/python.zip and b/assignments/data/18-ControlsTutorialTwo/python.zip differ diff --git a/assignments/data/19-Bugstomp/c++.zip b/assignments/data/19-Bugstomp/c++.zip index c4d9c613b..0e0c34458 100644 Binary files a/assignments/data/19-Bugstomp/c++.zip and b/assignments/data/19-Bugstomp/c++.zip differ diff --git a/assignments/data/19-Bugstomp/java.zip b/assignments/data/19-Bugstomp/java.zip index 260d689e2..d0cbbe471 100644 Binary files a/assignments/data/19-Bugstomp/java.zip and b/assignments/data/19-Bugstomp/java.zip differ diff --git a/assignments/data/19-Bugstomp/python.zip b/assignments/data/19-Bugstomp/python.zip index d23a9b95f..a00f00f1c 100644 Binary files a/assignments/data/19-Bugstomp/python.zip and b/assignments/data/19-Bugstomp/python.zip differ diff --git a/assignments/data/2-ListEQ/c++.zip b/assignments/data/2-ListEQ/c++.zip index 0e0dbd010..da868f266 100644 Binary files a/assignments/data/2-ListEQ/c++.zip and b/assignments/data/2-ListEQ/c++.zip differ diff --git a/assignments/data/2-ListEQ/java.zip b/assignments/data/2-ListEQ/java.zip index 76b1ba3c8..4acd1612e 100644 Binary files a/assignments/data/2-ListEQ/java.zip and b/assignments/data/2-ListEQ/java.zip differ diff --git a/assignments/data/2-ListEQ/python.zip b/assignments/data/2-ListEQ/python.zip index ccab59e56..a1722f6af 100644 Binary files a/assignments/data/2-ListEQ/python.zip and b/assignments/data/2-ListEQ/python.zip differ diff --git a/assignments/data/20-Minesweeper/c++.zip b/assignments/data/20-Minesweeper/c++.zip index d1b5ca5df..b8dbf88c7 100644 Binary files a/assignments/data/20-Minesweeper/c++.zip and b/assignments/data/20-Minesweeper/c++.zip differ diff --git a/assignments/data/20-Minesweeper/java.zip b/assignments/data/20-Minesweeper/java.zip index 93293c1e2..f3d64ba75 100644 Binary files a/assignments/data/20-Minesweeper/java.zip and b/assignments/data/20-Minesweeper/java.zip differ diff --git a/assignments/data/20-Minesweeper/python.zip b/assignments/data/20-Minesweeper/python.zip index d9b5d909f..ba779d28f 100644 Binary files a/assignments/data/20-Minesweeper/python.zip and b/assignments/data/20-Minesweeper/python.zip differ diff --git a/assignments/data/21-RaceCar/README.html b/assignments/data/21-RaceCar/README.html index b9ea3ff98..b41a83e56 100644 --- a/assignments/data/21-RaceCar/README.html +++ b/assignments/data/21-RaceCar/README.html @@ -1,10 +1,19 @@ -
The purpose of this assignment is to learn to
###Key Press Events - NonBlocking Games
+###Key Press Events - Blocking Games
+###Variables, Colors, and Sprite Symbols
+###Important Functions
+The purpose of this assignment is to learn to
###Key Press Events - NonBlocking Games
+###Key Press Events - Blocking Games
+###Variables, Colors, and Sprite Symbols
+###Important Functions
+This assignment is adapted from a **Nifty assignment +from 2016 proposed by Baker Franke. See **Source
+This assignment is adapted from a **Nifty assignment -from 2016 proposed by Baker Franke. See **Source
You are given elevation data of a mountainous region in the form of a 2D array of integers (see example image below of one of the datasets). Your goal is to find a path that takes @@ -29,7 +38,7 @@
get dataset, visualize as an image You will use BRIDGES to define a lat/long range (rectangular bounding box of your choice) to access the elevation data (returned in an object @@ -64,7 +73,7 @@
One can make variants of this assignment. Indeed, the greedy algorithm presented above is a heuristic; it does not return the path that sees the lowest change of elevation across the entire mountain. It only makes a @@ -86,24 +95,24 @@
BRIDGES Team: Contact the BRIDGES team for any issues with the BRIDGES API. This is an active project.
-ElevationData Documentation +DataSource +ColorGrid documentation +Color documentation +Bridges class documentation
+ElevationData Documentation +DataSource +ColorGrid documentation +Color documentation +Bridges Class documentation
+Elevation Data Documentation +ColorGrid documentation +Color documentation +Bridges documentation +DataSource
diff --git a/assignments/data/23-MountainPaths/README.md b/assignments/data/23-MountainPaths/README.md index 87bd6dbeb..031b52fac 100644 --- a/assignments/data/23-MountainPaths/README.md +++ b/assignments/data/23-MountainPaths/README.md @@ -1,5 +1,22 @@ -Mountain Paths - Determining a path of low elevation through a mountain -======================================================================= +# Assignment 23 - Mountain Paths - Determining a path of low elevation through a mountain + +## Example Output + + + + +## Source +This assignment is adapted from a **[Nifty](http://nifty.stanford.edu/) assignment +from 2016 proposed by Baker Franke. See **[Source](http://nifty.stanford.edu/2016/franke-mountain-paths/) + + +## Learning Outcomes + +1. Greedy Algorithm +2. 2D Arrays +3. Data Visulization +4. Modifying Datastructures + ## Goals @@ -7,24 +24,21 @@ Mountain Paths - Determining a path of low elevation through a mountain 2. Understanding Greedy algorithms and its application to a real-world application 3. CS concepts: 2D array addressing, greedy algorithms -## Source -This assignment is adapted from a **[Nifty](http://nifty.stanford.edu/) assignment -from 2016 proposed by Baker Franke. See **[Source](http://nifty.stanford.edu/2016/franke-mountain-paths/) ## Description + You are given elevation data of a mountainous region in the form of a 2D array of integers (see example image below of one of the datasets). Your goal is to find a path that takes you through the points with the lowest elevation changes, in an effort to minimize the overall effort in walking through the path. For this you will use a `greedy' approach and make local decisions in determining the successive points in the path. - + Input gray scale image of a terrain with gray shades mapped to elevation. Elevation ranges from low (dark shades) to high (lighter shades) The image above shows a mountainous region; lighter regions are higher elevation, and the red line shows the path taken by a walker. - ### Algorithm To Determine the Path: @@ -41,9 +55,7 @@ of the image (say the leftmost column), then make moves based on the pixels to t each time choosing the pixel that results in the smallest change. Your goal is to reach the right edge of the image. - - -## Tasks +### Tasks 1. *get dataset, visualize as an image* You will use BRIDGES to define a lat/long range (rectangular bounding box of your choice) to access the elevation data (returned in an object containing the elevation values). You will need to calculate maximum elevation value, as you @@ -73,9 +85,7 @@ of the grid, your choices will be reduced. path (see example above). You can have a simple User Interface to specify the starting point and rerun your program to display different paths. - - -## Variants +## Extensions One can make variants of this assignment. Indeed, the greedy algorithm presented above is a heuristic; it does not return the path @@ -94,44 +104,29 @@ local choice. Here are some possibilities: 3. Graduate students can consider the problem of optimizing simultaneously the distance traversed and the total change of elevation as a bi objective optimization problem. -## Additional Help: + +## Help: [BRIDGES Team:](http://bridgesuncc.github.io/) Contact the BRIDGES team for any issues with the BRIDGES API. This is an active project. - -#### for Java - +#### For Java [ElevationData Documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1data__src__dependent_1_1_elevation_data.html) - [DataSource](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1connect_1_1_data_source.html) - [ColorGrid documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_color.html) - [Bridges class documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1connect_1_1_bridges.html) -#### for C++ +#### For C++ [ElevationData Documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1dataset_1_1_elevation_data.html) - [DataSource](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_data_source.html) - [ColorGrid documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color.html) - [Bridges Class documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) - -#### for Python - +#### For Python [Elevation Data Documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1data__src__dependent_1_1elevation_1_1_elevation_data.html) - [ColorGrid documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1color__grid_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1color_1_1_color.html) - [Bridges documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1bridges_1_1_bridges.html) - [DataSource](http://bridgesuncc.github.io/doc/python-api/current/html/data__source_8py.html) diff --git a/assignments/data/23-MountainPaths/c++.zip b/assignments/data/23-MountainPaths/c++.zip index 448333ed0..f96f46fb9 100644 Binary files a/assignments/data/23-MountainPaths/c++.zip and b/assignments/data/23-MountainPaths/c++.zip differ diff --git a/assignments/data/23-MountainPaths/java.zip b/assignments/data/23-MountainPaths/java.zip index 6cc71fbf7..62e0f8ab0 100644 Binary files a/assignments/data/23-MountainPaths/java.zip and b/assignments/data/23-MountainPaths/java.zip differ diff --git a/assignments/data/23-MountainPaths/python.zip b/assignments/data/23-MountainPaths/python.zip index 500b1b9c6..b4dd089f5 100644 Binary files a/assignments/data/23-MountainPaths/python.zip and b/assignments/data/23-MountainPaths/python.zip differ diff --git a/assignments/data/24-ImageCompressionKdTree/README.html b/assignments/data/24-ImageCompressionKdTree/README.html index ee17ddff4..0de8b8969 100644 --- a/assignments/data/24-ImageCompressionKdTree/README.html +++ b/assignments/data/24-ImageCompressionKdTree/README.html @@ -1,13 +1,20 @@ -+
+K-D trees (K stands for the number of dimensions) are a spatial equivalent of the more familiar binary search trees, that usually have integer keys to facililtate efficient (log n) search). K-D trees belong to the class of spatial search tree structures, that include quadtrees, @@ -22,7 +29,7 @@
Illustrates a 2D region's partitioning with horizontal (X) and vertically (Y) oriented partitioners
In the figures above, a 2D region is being partitioned. The first partitioner is the white line that goes across the region, dividing it into two subregions (these become children of the root node of the tree. At the next level, the yellow lines partition the two subregions creating two of their own children each. Finally the blue lines subdivide at the third level. Each region can contain data (di s) that can be points or other information that can then be searched for efficiently knowing the location of the partitioning lines.
-
Application of K-D Trees to representing a shape. Here the green square (left image) is a
@@ -38,7 +45,6 @@ Example
The entire image is now represented by the tree with enough information (leaf nodes will have
the region geometry and its color) to generate the image.
Applications: Refer to the Wikipedia page on K-D trees for additional information and applications.
-You will use the K-D TreeElement class structure as a subclass of the BinTreeElement defined in BRIDGES. You will use this structure along with the ColorGrid type to represent images using K-D Trees.
@@ -132,7 +138,7 @@We need to be able to compute how homogeneous a region is before deciding to partition that region. You will write two versions of this function
IsRegionHomogeneous ()
@@ -169,11 +175,11 @@Note that we are using the ColorGrid type to fill the image with the region colors (r, g and b), so that we can visualize it with BRIDGES. Follow the Colorgrid tutorials for filling in regions with the computed colors (as required by the ColorRegion() function above).
-The project can be extended in a number of ways to reinforce tree structures and explore applications:
BRIDGES Team: Contact the BRIDGES team for any issues with -the BRIDGES API. This is an active project.
-K-D Tree Element documentation
- - - -K-D Tree Element documentation
- - - -K-D Tree Element documentation
- - - +BRIDGES Team: Contact the BRIDGES team for any issues with the BRIDGES API. This is an active project.
+K-D Tree Element documentation +ColorGrid documentation +Color documentation +Bridges documentation
+K-D Tree Element documentation +ColorGrid documentation +Color documentation +Bridges class documentation
+K-D Tree Element documentation +ColorGrid documentation +Color documentation +Bridges documentation
diff --git a/assignments/data/24-ImageCompressionKdTree/README.md b/assignments/data/24-ImageCompressionKdTree/README.md index cc4522213..07ae9cfcf 100644 --- a/assignments/data/24-ImageCompressionKdTree/README.md +++ b/assignments/data/24-ImageCompressionKdTree/README.md @@ -1,16 +1,25 @@ +# Assignment 24 - Representing and Compressing Images Using K-D Trees + +## Example Output + +![Square Image!](./figures/square.png) +![Kd tree of Image!](./figures/square_tree.png) + + +## Learning Outcomes + +1. Recursion +2. Data Visualization +3. K-D Tree -Representing and Compressing Images Using K-D Trees -=================================================== ## Goals -1. Work with and manipulate binary search trees; here we use a spatial search tree, which is - similar to quadtree or octree. -2. Introduce students to images, their representation and compression using approximate - representations. -3. Introduce students to BRIDGES Tree hierarchy, use of inheritance and polymorphism +1. Work with and manipulate binary search trees; here we use a spatial search tree, which is similar to quadtree or octree. +2. Introduce students to images, their representation and compression using approximate representations. +3. Introduce students to BRIDGES Tree hierarchy, use of inheritance and polymorphism -## Background +## Description K-D trees (K stands for the number of dimensions) are a spatial equivalent of the more familiar binary search trees, that usually have integer keys to facililtate efficient (log n) search). @@ -33,7 +42,7 @@ a 3 level partitioning: In the figures above, a 2D region is being partitioned. The first partitioner is the white line that goes across the region, dividing it into two subregions (these become children of the root node of the tree. At the next level, the yellow lines partition the two subregions creating two of their own children each. Finally the blue lines subdivide at the third level. Each region can contain data (di s) that can be points or other information that can then be searched for efficiently knowing the location of the partitioning lines. -## Example +### Example ![Square Image!](./figures/square.png) ![Kd tree of Image!](./figures/square_tree.png) @@ -55,15 +64,11 @@ the region geometry and its color) to generate the image. Applications: Refer to the Wikipedia page on **[K-D trees](https://en.wikipedia.org/wiki/K-d_tree)** for additional information and applications. -## Project - You will use the K-D TreeElement class structure as a subclass of the BinTreeElement defined in BRIDGES. You will use this structure along with the ColorGrid type to represent images using K-D Trees. - ### Tasks: - 1. *Preparation:* 1. Go through the BRIDGES API for both the **[K-D Tree Element](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_kd_tree_element.html)** and the **[ColorGrid](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color_grid.html)** types and look at the tutorial examples to understand its usage. In particular, understand @@ -143,7 +148,7 @@ the class hierarchy for tree structures (Java and Python users: check the Java o return nullptr; } -### Region Homogeneity: +#### Region Homogeneity: We need to be able to compute how homogeneous a region is before deciding to partition that region. You will write two versions of this function @@ -176,13 +181,14 @@ and return false, else return true. pick a value between first and the second third (between (10+40/3, 50-40/3). If the region width (max-min) is less than 3, then return true (homogeneous) to avoid degenerate cases). -### Visualization: +#### Visualization: Note that we are using the ColorGrid type to fill the image with the region colors (r, g and b), so that we can visualize it with BRIDGES. Follow the Colorgrid tutorials for filling in regions with the computed colors (as required by the ColorRegion() function above). -### Extensions + +## Extensions The project can be extended in a number of ways to reinforce tree structures and explore applications: @@ -196,35 +202,24 @@ applications: 3. Consider using other methods for homogeneity that might be more optimal from a compression perspective. -## Help -[BRIDGES Team:](http://bridgesuncc.github.io/) Contact the BRIDGES team for any issues with -the BRIDGES API. This is an active project. -#### for C++ +## Help +[BRIDGES Team:](http://bridgesuncc.github.io/) Contact the BRIDGES team for any issues with the BRIDGES API. This is an active project. +#### For C++ [K-D Tree Element documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_kd_tree_element.html) - [ColorGrid documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color.html) - [Bridges documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) -#### for Java +#### For Java [K-D Tree Element documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_kd_tree_element.html) - [ColorGrid documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_color.html) - [Bridges class documentation](http://bridgesuncc.github.io/doc/java-api/current/html/namespacebridges_1_1base.html) -#### for Python - +#### For Python [K-D Tree Element documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1kd__tree__element_1_1_k_d_tree_element.html) - [ColorGrid documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1color__grid_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1color_1_1_color.html) - [Bridges documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1bridges_1_1_bridges.html) diff --git a/assignments/data/24-ImageCompressionKdTree/c++.zip b/assignments/data/24-ImageCompressionKdTree/c++.zip index 3b8720853..ad57980de 100644 Binary files a/assignments/data/24-ImageCompressionKdTree/c++.zip and b/assignments/data/24-ImageCompressionKdTree/c++.zip differ diff --git a/assignments/data/24-ImageCompressionKdTree/java.zip b/assignments/data/24-ImageCompressionKdTree/java.zip index 23acd946a..fa227fcfb 100644 Binary files a/assignments/data/24-ImageCompressionKdTree/java.zip and b/assignments/data/24-ImageCompressionKdTree/java.zip differ diff --git a/assignments/data/24-ImageCompressionKdTree/python.zip b/assignments/data/24-ImageCompressionKdTree/python.zip index 917d28857..c4285cb27 100644 Binary files a/assignments/data/24-ImageCompressionKdTree/python.zip and b/assignments/data/24-ImageCompressionKdTree/python.zip differ diff --git a/assignments/data/25-Patterns/README.html b/assignments/data/25-Patterns/README.html index 083f1deed..f6fcdad88 100644 --- a/assignments/data/25-Patterns/README.html +++ b/assignments/data/25-Patterns/README.html @@ -1,12 +1,21 @@ -The BRIDGES ColorGrid class is an abstraction for representing 2D images. It serves as a convenient way to display operations on images or other two dimensional structures. A similar structure is used in the BRIDGES Game @@ -27,16 +36,17 @@
ColorGrid documentation +Color documentation +Bridges class documentation
ColorGrid documentation +Color documentation +Bridges class documentation
ColorGrid documentation +Color documentation +Bridges class documentation
diff --git a/assignments/data/25-Patterns/README.md b/assignments/data/25-Patterns/README.md index 975cfb89e..1d1f40654 100644 --- a/assignments/data/25-Patterns/README.md +++ b/assignments/data/25-Patterns/README.md @@ -1,15 +1,29 @@ -Patterns -======== - -Goals ------ -1) Learn how to modify and display a ColorGrid using Bridges -2) Learn how to set/change colors for each pixel in the grid -2) Practice using simple loops to display patterns using the BRIDGES - ColorGrid data structure - -ColorGrid ---------- +# Assignment 25 - Patterns + +## Example Output + + + + +## Learning Outcomes + +1. 2D Arrays +2. Loops +3. Conditions +4. Visualization + + +## Goals + +1. Learn how to modify and display a ColorGrid using Bridges +2. Learn how to set/change colors for each pixel in the grid +3. Practice using simple loops to display patterns using the BRIDGES ColorGrid data structure + + +## Description + +### ColorGrid + The BRIDGES ColorGrid class is an abstraction for representing 2D images. It serves as a convenient way to display operations on images or other two dimensional structures. A similar structure is used in the BRIDGES Game @@ -29,27 +43,22 @@ mascot, team. - Quadrants, Cut the image in four quadrants of different colors - Or make a customized pattern of your own -### Help -#### for C++ +## Extensions -[ColorGrid documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color_grid.html) -[Color documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color.html) +## Help +#### for C++ +[ColorGrid documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color_grid.html) +[Color documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_color.html) [Bridges class documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) #### for Java - [ColorGrid documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_color.html) - [Bridges class documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1connect_1_1_bridges.html) #### for Python - [ColorGrid documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1color__grid_1_1_color_grid.html) - [Color documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1color_1_1_color.html) - [Bridges class documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1bridges_1_1_bridges.html) diff --git a/assignments/data/25-Patterns/c++.zip b/assignments/data/25-Patterns/c++.zip index 4b99dc634..ac9744624 100644 Binary files a/assignments/data/25-Patterns/c++.zip and b/assignments/data/25-Patterns/c++.zip differ diff --git a/assignments/data/25-Patterns/java.zip b/assignments/data/25-Patterns/java.zip index 01b1b9da2..52601eaf5 100644 Binary files a/assignments/data/25-Patterns/java.zip and b/assignments/data/25-Patterns/java.zip differ diff --git a/assignments/data/25-Patterns/python.zip b/assignments/data/25-Patterns/python.zip index 1caba88d7..bfd2a512f 100644 Binary files a/assignments/data/25-Patterns/python.zip and b/assignments/data/25-Patterns/python.zip differ diff --git a/assignments/data/26-TowersOfHanoi/README.html b/assignments/data/26-TowersOfHanoi/README.html index 4b2fe1a80..fd5f9bf88 100644 --- a/assignments/data/26-TowersOfHanoi/README.html +++ b/assignments/data/26-TowersOfHanoi/README.html @@ -1,4 +1,11 @@The purpose of the assignment is to learn to
Bridges
.SymbolCollection documentation
-SymbolCollection documentation
-SymbolCollection documentation
+Bridges documentation +SymbolCollection documentation
+Bridges documentation +SymbolCollection documentation
+Bridges documentation +SymbolCollection documentation
diff --git a/assignments/data/26-TowersOfHanoi/README.md b/assignments/data/26-TowersOfHanoi/README.md index d029cc5d3..48e002045 100644 --- a/assignments/data/26-TowersOfHanoi/README.md +++ b/assignments/data/26-TowersOfHanoi/README.md @@ -1,17 +1,25 @@ -Assignment 26 - Towers of Hanoi -=============================== +# Assignment 26 - Towers of Hanoi -Goals ------ +## Example Output -The purpose of the assignment is to learn to + + + +## Learning Outcomes + +1. Recursion +2. ArrayLists + +## Goals + +The purpose of the assignment is to learn to 1. Display Symbols using `SymbolCollection`. 2. Solve a problem using logical steps. 3. Display multiple visualizations to `Bridges`. -Programming part ----------------- + +## Description #### Tasks @@ -26,18 +34,20 @@ Programming part 2. A move consists of taking the top disk and moving it to another peg. 3. Disks that are larger may not be placed on smaller disks. -### Help -#### C++ -[Bridges documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) +## Extensions + + +## Help + +#### For C++ +[Bridges documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) [SymbolCollection documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_symbol_collection.html) -#### Java +#### For Java [Bridges documentation](http://bridgesuncc.github.io/doc/java-api/current/html/namespacebridges_1_1base.html) - [SymbolCollection documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_symbol_collection.html) -#### Python +#### For Python [Bridges documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1bridges_1_1_bridges.html) - [SymbolCollection documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1symbol__collection_1_1_symbol_collection.html) diff --git a/assignments/data/26-TowersOfHanoi/c++.zip b/assignments/data/26-TowersOfHanoi/c++.zip index e6f0d06ba..1c0f1b19f 100644 Binary files a/assignments/data/26-TowersOfHanoi/c++.zip and b/assignments/data/26-TowersOfHanoi/c++.zip differ diff --git a/assignments/data/26-TowersOfHanoi/java.zip b/assignments/data/26-TowersOfHanoi/java.zip index 22d75e8d5..7136ff7ed 100644 Binary files a/assignments/data/26-TowersOfHanoi/java.zip and b/assignments/data/26-TowersOfHanoi/java.zip differ diff --git a/assignments/data/26-TowersOfHanoi/python.zip b/assignments/data/26-TowersOfHanoi/python.zip index d00623610..dc022833e 100644 Binary files a/assignments/data/26-TowersOfHanoi/python.zip and b/assignments/data/26-TowersOfHanoi/python.zip differ diff --git a/assignments/data/27-GameGridBasic/README.html b/assignments/data/27-GameGridBasic/README.html index 9fce34093..f72377dad 100644 --- a/assignments/data/27-GameGridBasic/README.html +++ b/assignments/data/27-GameGridBasic/README.html @@ -1,10 +1,17 @@ -###Tasks
The purpose of this assignment is to understand why algorithms are judged by their Big-Oh notations rather than a more precise model, or runtime measurement
-Using Bridges LineChart object, plot the runtime of an algorithm for problem size ranging from 1 to 105. (Don't use all values of n, take some values in the middle.)
@@ -14,7 +20,7 @@Using Bridges LineChart object, plot the runtime of an algorithm for problem size ranging from 1 to 104. (Don't use all values of n, take some values in the middle.)
@@ -23,7 +29,7 @@Using Bridges LineChart object, plot the runtime of an algorithm for problem size ranging from 1 to 102. (Don't use all values of n, take some values in the middle.)
@@ -33,18 +39,17 @@Does it really matter that you can get a slightly faster machine if you can get a lower BigOh complexity?
-Does it really matter that you can gain a factor of 100 if you can get a lower BigOh complexity?
-Does it really matter that you can get a slightly faster machine if you can get a lower BigOh complexity? +Does it really matter that you can gain a factor of 100 if you can get a lower BigOh complexity?
+Bridges documentation +LineChart documentation
Bridges documentation +LineChart documentation
Bridges documentation +LineChart documentation
diff --git a/assignments/data/28-BigOhMatters/README.md b/assignments/data/28-BigOhMatters/README.md index 1e617fd23..c267be968 100644 --- a/assignments/data/28-BigOhMatters/README.md +++ b/assignments/data/28-BigOhMatters/README.md @@ -1,18 +1,24 @@ -Complexity Matters -================== +# Assignment 28 - Complexity Matters -Goal ----- +## Example Output + +![Sample Output](figures/SampleOutput.png) + + +## Learning Outcomes +1. Big O Notation +2. Data Visualization + + +## Goals The purpose of this assignment is to understand why algorithms are judged by their Big-Oh notations rather than a more precise model, or runtime measurement -Programming Part ----------------- +## Description -### Tasks -#### Task 1 +### Task 1 Using Bridges LineChart object, plot the runtime of an algorithm for problem size ranging from 1 to 105. (Don't use all values @@ -22,7 +28,7 @@ of n, take some values in the middle.) 2. 5.104 n instructions on a machine at 1MHz 3. 102 n2 instruction on a machine at 100MHz -#### Task 2 +### Task 2 Using Bridges LineChart object, plot the runtime of an algorithm for problem size ranging from 1 to 104. (Don't use all values @@ -32,7 +38,7 @@ of n, take some values in the middle.) 2. 102 n2 instructions on a machine at 100MHz 3. n4 instructions on a machine at 10GHz -#### Task 3 +### Task 3 Using Bridges LineChart object, plot the runtime of an algorithm for problem size ranging from 1 to 102. (Don't use all values @@ -43,29 +49,25 @@ of n, take some values in the middle.) 3. n4 instructions on a machine at 10GHz 4. 2n instruction on a machine at 1PHz -#### Conclude +### Conclude Does it really matter that you can get a slightly faster machine if you can get a lower BigOh complexity? - Does it really matter that you can gain a factor of 100 if you can get a lower BigOh complexity? -##### Sample Output -![Sample Output](figures/SampleOutput.png) +## Extensions + -### Help +## Help #### For C++ [Bridges documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) - [LineChart documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_line_chart.html) #### For Java [Bridges documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1connect_1_1_bridges.html) - [LineChart documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_line_chart.html) #### For Python [Bridges documentation](http://bridgesuncc.github.io/doc/python-api/current/html/namespacebridges_1_1bst__element.html) - -[LineChart documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1line__chart_1_1_line_chart.html) \ No newline at end of file +[LineChart documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1line__chart_1_1_line_chart.html) diff --git a/assignments/data/28-BigOhMatters/c++.zip b/assignments/data/28-BigOhMatters/c++.zip index 5a3272339..9992eed3e 100644 Binary files a/assignments/data/28-BigOhMatters/c++.zip and b/assignments/data/28-BigOhMatters/c++.zip differ diff --git a/assignments/data/28-BigOhMatters/java.zip b/assignments/data/28-BigOhMatters/java.zip index 74f5962ad..cbe0a59a1 100644 Binary files a/assignments/data/28-BigOhMatters/java.zip and b/assignments/data/28-BigOhMatters/java.zip differ diff --git a/assignments/data/28-BigOhMatters/python.zip b/assignments/data/28-BigOhMatters/python.zip index 527bcce30..8e9e3b963 100644 Binary files a/assignments/data/28-BigOhMatters/python.zip and b/assignments/data/28-BigOhMatters/python.zip differ diff --git a/assignments/data/29-SortingBenchmark/README.html b/assignments/data/29-SortingBenchmark/README.html index cca09b4d3..4c6a6d04f 100644 --- a/assignments/data/29-SortingBenchmark/README.html +++ b/assignments/data/29-SortingBenchmark/README.html @@ -1,6 +1,15 @@ -Understand the performance of sorting algorithms by implementing and benchmarking them.
+We will be sorting arrays of integers
Bridges documentation +BFSBenchmark documentation
Bridges documentation +BFSBenchmark documentation
SortingBenchmark documentation
+Bridges documentation +SortingBenchmark documentation
diff --git a/assignments/data/29-SortingBenchmark/README.md b/assignments/data/29-SortingBenchmark/README.md index f112757c5..99810e205 100644 --- a/assignments/data/29-SortingBenchmark/README.md +++ b/assignments/data/29-SortingBenchmark/README.md @@ -1,40 +1,43 @@ -Sorting Benchmark -================= +# Assignment 29 - Sorting Benchmark -#### Goal +## Example Output + +![Sample Output](figures/SampleOutput.png) + + +## Learning Outcomes +1. Sorting Algorithm +2. Optimization +3. Data Visualization + +## Goals Understand the performance of sorting algorithms by implementing and benchmarking them. + +## Description ### Tasks We will be sorting arrays of integers - 1. Implement two quadratic sorting algorithms. 2. Implement two efficient sorting algorithms. 3. Benchmark the four algorithms against the standard sorting algorithm provided in the standard library, at small scale and at medium scale. -Sample Output -------------- - -![Sample Output](figures/SampleOutput.png) - +## Extensions -### Help -### Help +## Help #### For C++ [Bridges documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1_bridges.html) - [BFSBenchmark documentation](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1benchmark_1_1_b_f_s_benchmark.html) #### For Java [Bridges documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1connect_1_1_bridges.html) - [BFSBenchmark documentation](http://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1benchmark_1_1_b_f_s_benchmark.html) #### For Python [Bridges documentation](http://bridgesuncc.github.io/doc/python-api/current/html/namespacebridges_1_1bst__element.html) +[SortingBenchmark documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1sorting__benchmark_1_1_sorting_benchmark.html) -[SortingBenchmark documentation](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1sorting__benchmark_1_1_sorting_benchmark.html) \ No newline at end of file diff --git a/assignments/data/29-SortingBenchmark/c++.zip b/assignments/data/29-SortingBenchmark/c++.zip index 7fe5bcb04..c8a7884cf 100644 Binary files a/assignments/data/29-SortingBenchmark/c++.zip and b/assignments/data/29-SortingBenchmark/c++.zip differ diff --git a/assignments/data/29-SortingBenchmark/java.zip b/assignments/data/29-SortingBenchmark/java.zip index 87dd301d2..a8dd1566f 100644 Binary files a/assignments/data/29-SortingBenchmark/java.zip and b/assignments/data/29-SortingBenchmark/java.zip differ diff --git a/assignments/data/29-SortingBenchmark/python.zip b/assignments/data/29-SortingBenchmark/python.zip index 56cef39ef..739c936e8 100644 Binary files a/assignments/data/29-SortingBenchmark/python.zip and b/assignments/data/29-SortingBenchmark/python.zip differ diff --git a/assignments/data/3-GraphBaconNumber/c++.zip b/assignments/data/3-GraphBaconNumber/c++.zip index 7dba9c606..17ccb9967 100644 Binary files a/assignments/data/3-GraphBaconNumber/c++.zip and b/assignments/data/3-GraphBaconNumber/c++.zip differ diff --git a/assignments/data/3-GraphBaconNumber/java.zip b/assignments/data/3-GraphBaconNumber/java.zip index 7bd62fccc..87164ce5e 100644 Binary files a/assignments/data/3-GraphBaconNumber/java.zip and b/assignments/data/3-GraphBaconNumber/java.zip differ diff --git a/assignments/data/3-GraphBaconNumber/python.zip b/assignments/data/3-GraphBaconNumber/python.zip index cebb13528..28bc0576d 100644 Binary files a/assignments/data/3-GraphBaconNumber/python.zip and b/assignments/data/3-GraphBaconNumber/python.zip differ diff --git a/assignments/data/32-TicTacToe/c++.zip b/assignments/data/32-TicTacToe/c++.zip index 2c95210c3..a7de7f076 100644 Binary files a/assignments/data/32-TicTacToe/c++.zip and b/assignments/data/32-TicTacToe/c++.zip differ diff --git a/assignments/data/32-TicTacToe/java.zip b/assignments/data/32-TicTacToe/java.zip index 5cbb05978..43f437b17 100644 Binary files a/assignments/data/32-TicTacToe/java.zip and b/assignments/data/32-TicTacToe/java.zip differ diff --git a/assignments/data/32-TicTacToe/python.zip b/assignments/data/32-TicTacToe/python.zip index 3ade9e7ec..6e42d8b3a 100644 Binary files a/assignments/data/32-TicTacToe/python.zip and b/assignments/data/32-TicTacToe/python.zip differ diff --git a/assignments/data/33-AudioMixing/README.md b/assignments/data/33-AudioMixing/README.md index 093709bb0..d0fbbe3b9 100644 --- a/assignments/data/33-AudioMixing/README.md +++ b/assignments/data/33-AudioMixing/README.md @@ -52,4 +52,3 @@ The goal of this part is to fade one audio source out while another audio source #### For Python [AudioClip Documentation](https://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1audio__clip_1_1_audio_clip.html) - diff --git a/assignments/data/33-AudioMixing/c++.zip b/assignments/data/33-AudioMixing/c++.zip index dc9fa172a..d42c77915 100644 Binary files a/assignments/data/33-AudioMixing/c++.zip and b/assignments/data/33-AudioMixing/c++.zip differ diff --git a/assignments/data/33-AudioMixing/java.zip b/assignments/data/33-AudioMixing/java.zip index 89e1c8786..873e00254 100644 Binary files a/assignments/data/33-AudioMixing/java.zip and b/assignments/data/33-AudioMixing/java.zip differ diff --git a/assignments/data/33-AudioMixing/python.zip b/assignments/data/33-AudioMixing/python.zip index 0c73de917..e46c33546 100644 Binary files a/assignments/data/33-AudioMixing/python.zip and b/assignments/data/33-AudioMixing/python.zip differ diff --git a/assignments/data/34-GameTutorials/c++.zip b/assignments/data/34-GameTutorials/c++.zip index 2e791a38f..d417e8022 100644 Binary files a/assignments/data/34-GameTutorials/c++.zip and b/assignments/data/34-GameTutorials/c++.zip differ diff --git a/assignments/data/34-GameTutorials/java.zip b/assignments/data/34-GameTutorials/java.zip index 4db12ba38..c553a40e8 100644 Binary files a/assignments/data/34-GameTutorials/java.zip and b/assignments/data/34-GameTutorials/java.zip differ diff --git a/assignments/data/34-GameTutorials/python.zip b/assignments/data/34-GameTutorials/python.zip index 31e1a042b..ecb85e7a4 100644 Binary files a/assignments/data/34-GameTutorials/python.zip and b/assignments/data/34-GameTutorials/python.zip differ diff --git a/assignments/data/35-ConnectFour/c++.zip b/assignments/data/35-ConnectFour/c++.zip index ff515bd8c..4127b5462 100644 Binary files a/assignments/data/35-ConnectFour/c++.zip and b/assignments/data/35-ConnectFour/c++.zip differ diff --git a/assignments/data/35-ConnectFour/java.zip b/assignments/data/35-ConnectFour/java.zip index 30511ebc0..249f2c82b 100644 Binary files a/assignments/data/35-ConnectFour/java.zip and b/assignments/data/35-ConnectFour/java.zip differ diff --git a/assignments/data/35-ConnectFour/python.zip b/assignments/data/35-ConnectFour/python.zip index f18150dfd..03498c102 100644 Binary files a/assignments/data/35-ConnectFour/python.zip and b/assignments/data/35-ConnectFour/python.zip differ diff --git a/assignments/data/36-Pong/c++.zip b/assignments/data/36-Pong/c++.zip index 6c6e518ef..8563963a2 100644 Binary files a/assignments/data/36-Pong/c++.zip and b/assignments/data/36-Pong/c++.zip differ diff --git a/assignments/data/36-Pong/java.zip b/assignments/data/36-Pong/java.zip index 7dd9069a6..e01665e56 100644 Binary files a/assignments/data/36-Pong/java.zip and b/assignments/data/36-Pong/java.zip differ diff --git a/assignments/data/36-Pong/python.zip b/assignments/data/36-Pong/python.zip index d1d64b1fa..297e1f41a 100644 Binary files a/assignments/data/36-Pong/python.zip and b/assignments/data/36-Pong/python.zip differ diff --git a/assignments/data/37-SubsamplingBitdepth/README.html b/assignments/data/37-SubsamplingBitdepth/README.html new file mode 100644 index 000000000..d0fd61f7b --- /dev/null +++ b/assignments/data/37-SubsamplingBitdepth/README.html @@ -0,0 +1,35 @@ +Audio is made up of values telling speakers that play the audio how far to move in one of two directions. Bit depth tells you how many different possible values the audio can have at any specific point, ie -2.147B to 2.147B for 32 bit audio. Thats a ton of values! Even in 8 bit audio, the values range from -32k to 32k.
+When converting audio using code, converting those 2B values to 32k values can be done in a couple ways. For this assignment, we convert the numbers to binary (2^x instead of 10^x). If you want to read up on how binary works, please check the help section. Once in binary, we lose the numbers to the left until we have only x possible values.
+For an example in our base, we have 10,247,654. We want to transform this so it can fit within a 10k number range while. We lose the 1024 in the front so the value is 7,654. What this does is basically combine 1024 possible values into 1, closest together.
+How we convert bitdepth is rudimentary at best, but for audio it works just fine. You can hardely tell the difference between audioclips once transformed. Most audio you listen to is actually 24 or 16 bit audio, Youtube even uses this! Quality is not much of an issue, but the most noticable problem can come from white noise. Values close to 0 can be given more of an impact when converted to 8 bit, creating some noise when it wasn't supposed to appear. You'll notice this when you visualize the assignment!
+In this assignment, students will process audio by changing the sampling rate and bit depths for subsampling the audio file. Students will declare variables for sampling count (How many samples are taken per second) and bit depth. They will pass them to methods that visualizes the result.
+The purpose of this assignment is to learn to
generateSineSample()
method. It should return a sample value according to the mathematical formula for a sine wave,
@@ -26,10 +28,10 @@ The purpose of this assignment is to learn to
+Music Theory Converting Notes to HZ
Bridges Audio Clip -Java Queue
+ +ToDo
+ToDo
+ diff --git a/assignments/data/68-MusicNotes-CS2/README.md b/assignments/data/68-MusicNotes-CS2/README.md index 09b3369fd..a96ac2d4d 100644 --- a/assignments/data/68-MusicNotes-CS2/README.md +++ b/assignments/data/68-MusicNotes-CS2/README.md @@ -36,13 +36,14 @@ Build a queue of notes from a file #### Java [Bridges Audio Clip](https://bridgesuncc.github.io/doc/java-api/current/html/classbridges_1_1base_1_1_audio_clip.html) + [Java Queue](https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html) #### C++ -ToDo - +[Bridges Audio Clip](http://bridgesuncc.github.io/doc/cxx-api/current/html/classbridges_1_1datastructure_1_1_audio_clip.html) #### Python -ToDo +[Bridges Audio Clip](http://bridgesuncc.github.io/doc/python-api/current/html/classbridges_1_1audio__clip_1_1_audio_clip.html) + diff --git a/assignments/data/68-MusicNotes-CS2/c++.zip b/assignments/data/68-MusicNotes-CS2/c++.zip index bb020f194..6c6ec1ff9 100644 Binary files a/assignments/data/68-MusicNotes-CS2/c++.zip and b/assignments/data/68-MusicNotes-CS2/c++.zip differ diff --git a/assignments/data/68-MusicNotes-CS2/java.zip b/assignments/data/68-MusicNotes-CS2/java.zip index d6f081c0b..49a4db658 100644 Binary files a/assignments/data/68-MusicNotes-CS2/java.zip and b/assignments/data/68-MusicNotes-CS2/java.zip differ diff --git a/assignments/data/68-MusicNotes-CS2/python.zip b/assignments/data/68-MusicNotes-CS2/python.zip index e6ba172c6..cb4cf8439 100644 Binary files a/assignments/data/68-MusicNotes-CS2/python.zip and b/assignments/data/68-MusicNotes-CS2/python.zip differ diff --git a/assignments/data/69-SnakeQueue/c++.zip b/assignments/data/69-SnakeQueue/c++.zip index 4795e02b5..a9f131356 100644 Binary files a/assignments/data/69-SnakeQueue/c++.zip and b/assignments/data/69-SnakeQueue/c++.zip differ diff --git a/assignments/data/69-SnakeQueue/java.zip b/assignments/data/69-SnakeQueue/java.zip index dbb8daa92..78744574e 100644 Binary files a/assignments/data/69-SnakeQueue/java.zip and b/assignments/data/69-SnakeQueue/java.zip differ diff --git a/assignments/data/69-SnakeQueue/python.zip b/assignments/data/69-SnakeQueue/python.zip index e37a7f9f3..794515bda 100644 Binary files a/assignments/data/69-SnakeQueue/python.zip and b/assignments/data/69-SnakeQueue/python.zip differ diff --git a/assignments/data/7-GridLyrics/c++.zip b/assignments/data/7-GridLyrics/c++.zip index 974db4dc8..7c7f9f056 100644 Binary files a/assignments/data/7-GridLyrics/c++.zip and b/assignments/data/7-GridLyrics/c++.zip differ diff --git a/assignments/data/7-GridLyrics/java.zip b/assignments/data/7-GridLyrics/java.zip index 2925f11fc..16a47077b 100644 Binary files a/assignments/data/7-GridLyrics/java.zip and b/assignments/data/7-GridLyrics/java.zip differ diff --git a/assignments/data/7-GridLyrics/python.zip b/assignments/data/7-GridLyrics/python.zip index 225ed19c9..5b08c993b 100644 Binary files a/assignments/data/7-GridLyrics/python.zip and b/assignments/data/7-GridLyrics/python.zip differ diff --git a/assignments/data/70-WordleBot/c++.zip b/assignments/data/70-WordleBot/c++.zip index fb823c809..8c3b7d57a 100644 Binary files a/assignments/data/70-WordleBot/c++.zip and b/assignments/data/70-WordleBot/c++.zip differ diff --git a/assignments/data/70-WordleBot/java.zip b/assignments/data/70-WordleBot/java.zip index c33e11a9e..e15de0ed2 100644 Binary files a/assignments/data/70-WordleBot/java.zip and b/assignments/data/70-WordleBot/java.zip differ diff --git a/assignments/data/70-WordleBot/python.zip b/assignments/data/70-WordleBot/python.zip index ea582e193..3c1bd7004 100644 Binary files a/assignments/data/70-WordleBot/python.zip and b/assignments/data/70-WordleBot/python.zip differ diff --git a/assignments/data/71-PiEstimation/c++.zip b/assignments/data/71-PiEstimation/c++.zip index 2f361ff5b..948215e59 100644 Binary files a/assignments/data/71-PiEstimation/c++.zip and b/assignments/data/71-PiEstimation/c++.zip differ diff --git a/assignments/data/71-PiEstimation/java.zip b/assignments/data/71-PiEstimation/java.zip index d678db4f9..14271510e 100644 Binary files a/assignments/data/71-PiEstimation/java.zip and b/assignments/data/71-PiEstimation/java.zip differ diff --git a/assignments/data/71-PiEstimation/python.zip b/assignments/data/71-PiEstimation/python.zip index 923c26abd..71730411d 100644 Binary files a/assignments/data/71-PiEstimation/python.zip and b/assignments/data/71-PiEstimation/python.zip differ diff --git a/assignments/data/72-PixelDrawing/c++.zip b/assignments/data/72-PixelDrawing/c++.zip index 269ac3ebd..bba61e8d3 100644 Binary files a/assignments/data/72-PixelDrawing/c++.zip and b/assignments/data/72-PixelDrawing/c++.zip differ diff --git a/assignments/data/72-PixelDrawing/java.zip b/assignments/data/72-PixelDrawing/java.zip index caba3c423..d5b4cdb88 100644 Binary files a/assignments/data/72-PixelDrawing/java.zip and b/assignments/data/72-PixelDrawing/java.zip differ diff --git a/assignments/data/72-PixelDrawing/python.zip b/assignments/data/72-PixelDrawing/python.zip index e5b4bc71d..c11ee70f9 100644 Binary files a/assignments/data/72-PixelDrawing/python.zip and b/assignments/data/72-PixelDrawing/python.zip differ diff --git a/assignments/data/75-KochCurve/c++.zip b/assignments/data/75-KochCurve/c++.zip index 3515b7df6..4fe648698 100644 Binary files a/assignments/data/75-KochCurve/c++.zip and b/assignments/data/75-KochCurve/c++.zip differ diff --git a/assignments/data/75-KochCurve/java.zip b/assignments/data/75-KochCurve/java.zip index 61a72bbb3..54e9a4148 100644 Binary files a/assignments/data/75-KochCurve/java.zip and b/assignments/data/75-KochCurve/java.zip differ diff --git a/assignments/data/75-KochCurve/python.zip b/assignments/data/75-KochCurve/python.zip index 6cfd7b075..be0f2cbd2 100644 Binary files a/assignments/data/75-KochCurve/python.zip and b/assignments/data/75-KochCurve/python.zip differ diff --git a/assignments/data/76-Zcurve/c++.zip b/assignments/data/76-Zcurve/c++.zip index 6cb8695f0..263571071 100644 Binary files a/assignments/data/76-Zcurve/c++.zip and b/assignments/data/76-Zcurve/c++.zip differ diff --git a/assignments/data/76-Zcurve/java.zip b/assignments/data/76-Zcurve/java.zip index 3aebe9854..1e5db5214 100644 Binary files a/assignments/data/76-Zcurve/java.zip and b/assignments/data/76-Zcurve/java.zip differ diff --git a/assignments/data/76-Zcurve/python.zip b/assignments/data/76-Zcurve/python.zip index 09666ca24..f09f0421d 100644 Binary files a/assignments/data/76-Zcurve/python.zip and b/assignments/data/76-Zcurve/python.zip differ diff --git a/assignments/data/8-PQBook/README.html b/assignments/data/8-PQBook/README.html index 67e906bbc..c387e7c8e 100644 --- a/assignments/data/8-PQBook/README.html +++ b/assignments/data/8-PQBook/README.html @@ -5,7 +5,7 @@Input/Output
+
+
1D Arrays
2D Arrays
Simulation
Algorithms
Big Oh