|
|
|
Fair enough, I suppose, if you used that. I can't recall ever using that back in the day (though I do remember things like completing the square, factoring, and quadratic formulas).
Still, my only point was that I highly doubted either of you had run into modular arithmetic and its applications yet.
| Wikipedia wrote: | | Modular arithmetic is referenced in number theory, group theory, ring theory, knot theory, abstract algebra, cryptography, computer science, chemistry and the visual and musical arts. |
Usually anything with "theory" after it isn't taught at the high school level
We're interested in the computer science applications, obviously. Though I'm edging our lessons here far more towards the "computer" than the "science".
But, just for fun, let's take a look at the "Introduction to Computer Science" course at MIT
Things in cyan we've already talked about to some degree, things in bold are things I intend to talk about before saying "alright, that's as far as I feel confident teaching - and it's enough for you to do a ton with this project."
| MIT wrote: | 1 Goals of the course; what is computation; introduction to data types, operators, and variables
2 Operators and operands; statements; branching, conditionals, and iteration
3 Common code patterns: iterative programs
4 Decomposition and abstraction through functions; introduction to recursion
5 Floating point numbers, successive refinement, finding roots
6 Bisection methods, Newton/Raphson, introduction to lists
7 Lists and mutability, dictionaries, pseudocode, introduction to efficiency
8 Complexity; log, linear, quadratic, exponential algorithms
9 Binary search, bubble and selection sorts
10 Divide and conquer methods, merge sort, exceptions
11 Testing and debugging
12 More about debugging, knapsack problem, introduction to dynamic programming
13 Dynamic programming: overlapping subproblems, optimal substructure
14 Analysis of knapsack problem, introduction to object-oriented programming
15 Abstract data types, classes and methods
16 Encapsulation, inheritance, shadowing |
So, if we keep at this, by the end of what I intend you should - hopefully - be able to walk into a Computer Science class and get a 40% or so on a test - without even hearing one lecture
"Recursion" might be the last topic we talk about. It's very, very useful - but it's also a hard concept to grasp for most people. Lots of things can go wrong  _________________
May The Force Be With Us, Always
|
|