pearcej / cppds Goto Github PK
View Code? Open in Web Editor NEWProblem Solving with Algorithms and Data Structures using C++
License: Other
Problem Solving with Algorithms and Data Structures using C++
License: Other
Sorts, specifically, could benefit from visualization as a tool to explain what is happening in individual steps.
Sorts, specifically, could benefit from visualization as a tool to explain what is happening in individual steps.
Folder needs to be created. Packaging visualization code allows for easier updates in the future.
This comes from having {{
right next to each other -- either insert a space or an invisible space between the two brackets. Otherwise it triggers the template engine to do an insertion.
On Activity 1.12.3.5, the Python code does not have the run button.
Right after Activity, the phrase " Whereas a different data set for the exact same algorithm might have extraordinarily good performance" is not a sentence.
(This is from Mario Nakazawa, I am unsure of the Activity)
using syntax from: https://github.com/walkerje/C-Turtle
Chapter 8 in 8.7 starts discussing binary heaps. Following the convention of other chapters, binary heaps need a practical introduction before discussing implementing it.
These definitions need to be added to the first chapter glossary. The definitions also need to be added with the terms, so that all the chapter terms can be referenced by students:
AND
HAS-A Relationship
NOT
OR
abstract data type/ADT
algorithm
array parameters
base class
compiler
computable
data abstraction
data structure
data types
derived classes
function overloading
implementation-independent
information hiding
inheritance hierarchy
int main()
interface
machine code
objects
operator overloading
pass by reference
pass by value
procedural abstraction
programming
strings
subclasses
superclass
truth table
unordered_set
word
line break needs to be added between subtitle and paragraph.
The last question that was rewritten after Jan recommended that the exponent part of the question be reformed has a wrong answer.
In the self check, you state " Write two C++ functions to find the minimum number in an array. The first function should compare each number to every other number on the array. O(n2)O(n2). The second function should be linear O(n)O(n)." Do they have to write the program? The questions Q-4 and Q-5 do not seem to have anything to do with O(n^2) and O(n).
Link to book: https://github.com/bnmnetp/pythonds. Additions should be tabbed, with the C++ on the first tab and Python on the second.
Activity 2.2.1.1 has the question with an extra summation: "Q-8: Compute the result of ..."
These definitions need to be added to the second chapter glossary. The definitions also need to be added with the terms, so that all the chapter terms can be referenced by students:
contains operation
get item
order of magnitude
set item
("vector" and "worst case" are also out of order, and need to be put in alphabetical order)
The following error appears in the activecode element desiredcircuit in Introduction/ObjectOrientedProgrammingDerivedClasses.rst production webpage (scroll all the way down...second to last element on the page)
System Message: ERROR/3 (/home/bmiller/Runestone/web2py/applications/runestone/books/cppds/_sources/Introduction/ObjectOrientedProgrammingDerivedClasses.rst, line 588)
Error in “activecode” directive: maximum 2 argument(s) allowed, 8 supplied.
Also see the virtualcode element near the top of the page:
System Message: ERROR/3 (/home/bmiller/Runestone/web2py/applications/runestone/books/cppds/_sources/Introduction/ObjectOrientedProgrammingDerivedClasses.rst, line 58)
Error in “activecode” directive: maximum 2 argument(s) allowed, 10 supplied.
The Priority Queues with Binary Heaps Example section looks good overall, but we think there could be more clarity on the line that says "Let us say you were assigned homework's in the following order and you are told the deadlines for those homework's: 3, 10, 5, 8, 7, 2 days respectively".
Another minor thing that can be fixed is that in the Priority Queues with Binary Heaps Example section there are two figures that are titled "figure 1".
In https://runestone.academy/runestone/books/published/cppds/AlgorithmAnalysis/BigONotation.html
Q-5 cannot easily be done as a fill in the blank question. To improve this question, use integers that give integer results with log base 2.
Rewrite this section using good OOD and the queue ADT instead of pointers.
Warning: This is an issue that requires better design.
Sorts, specifically, could benefit from visualization as a tool to explain what is happening in individual steps.
Roberto and I were looking through the book and the code block for 9.15 is having issues.
Sorts, specifically, could benefit from visualization as a tool to explain what is happening in individual steps.
there is uneven formatting for the questions in the edited version of big in pull request 92
Right after Activity 2.2.2.2, the paragraph has the line "Second, they are very consistent no matter what the value of n." but the value n is ONLY 10, so the sentence does not add information. If in the activity there was a call to sumOfN3(1), sumOfN3(10), sumOfN3(100), sumOfN3(1000) and so forth, it would be more evident.
Right above activity 2.3.1, you have "two terms become insignificant in the role that they play in determining the final result", but would it not be more accurate to have it as " two terms become insignificant in the role that they play in determining how many steps are needed"
This would likely be a copy-paste of Chapter 8 from cppds without glossary/matching/self-check, with Python-related content removed except for ActiveCode blocks.
Right after Activity 2.6.1, it may be informative to say not only is the push_back() function call duration is being measured, but that the time to allocate space is being measured.
In Recursion intro-VisualizingRecursion there is a problem with the parameter name (len vs length).
The Big O of a particular algorithm is O(n^2). Given that it takes 2 seconds to do 1 million operations
how long would it take with 2 million inputs? |blank|
10 million?
This should be...
Correction:
The Big O of a particular algorithm is O(n^2). Given that it takes 2 seconds to complete the algorithm with 1 million inputs:
how long would it take with 2 million inputs? |blank|
None of the multiple choice answers for this question are correct, and the answer is marked as B although that is incorrect as well. https://runestone.academy/runestone/books/published/cppds/SearchHash/TheBinarySearch.html#analysis-of-binary-search
Sorts, specifically, could benefit from visualization as a tool to explain what is happening in individual steps.
Recommend removal
Knights Tour is a particularly visual exercise, involving a chess board and a lot of movements and path tracing. I feel it would be useful to have a visual aid to go alongside this exercise.
Section 2.8… Why is the table here number 6? What happened to Tables 4 and 5?
In https://runestone.academy/runestone/books/published/cppds/LinearBasic/ImplementingaStackCpp.html stack_1ac_py is erroring out. # was forgotten in the comment on line 19
The code that was added to the palindrome checker is not able to run and all the question are showing the answers
Generally speaking, exitonclick would work fine in a typical setting. In this instance, not so much. C-Turtle in the book does not support this function.
In section 1.12. Override in Object-Oriented Programming in C++: Defining Classes, in both places where the word "override" appears, the correct word should actually be "overload."
Sorts, specifically, could benefit from visualization as a tool to explain what is happening in individual steps.
DFS is a particularly in-depth concept that I feel could benefit from an animated example. There are static figures that portray the progress of the search and how it functions, but being able to watch it happen should be helpful as well.
In https://runestone.academy/runestone/books/published/cppds/LinearBasic/InfixPrefixandPostfixExpressions.html Q-4 uses ** which are not symbols in C++. Change this question to use only symbols used in the C++ code.
At the moment, the Maze exercise is implemented only in Python. It needs to be translated to C++ and updated to use CTurtle when applicable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.