Last day of school

Today is the last day of school and unfortunately my last day of MACC(the Multi Age Cluster Class).I didn’t get a chance to join from the start because I missed the application deadline in grade 3 so there was no space for me in grade 4.Then when I took the test in grade 4 the district put me on the lottery list for the people who can’t go because of space.Then in the middle of grade 5 a girl named Yi had to leave so the spot was reloteried and I got selected.


In MACC all of the students are more engaged in the classroom and Ms. Geddes (our teacher) understands what gifted students need.In normal school teachers usually think you are a delinquent just because you are bored in class.

MACC is also a very fun program.We had many field trips for example the bowling trip,the Float your boat challenge and the sea to sky gondola trip.The bowling trip was a replacement for the skiing trip which costed a lot more and was much more tiring.The Float your boat challenge was a class wide version of the Burnaby float your boat challenge.

However this is my last day at MACC because I will be moving to Ottawa in September.



The MACC program was very fun overall and if I had a chance I would do it again!

Paper Mache Cat

This week my class made some Paper Mache items.Mine was a golden brown tabby cat.

The steps are :

1.get a plastic bag and fill it with crumpled newspaper

2.Tape around it and make it the shape of a cat’s body

3.Make a head out of the same process

4.make legs and a tail out of thin cardboard

5.tape them all together to look like a cat

6.wrap it in newspaper strips in around 3 layers

7.then wrap it in paper towel strips

8.make ears

9.tape them on

10.Paint your kitty!

Sea to Sky Gondola Trip

On Wednesday this week my class and I went on a trip to Squamish for the Sea to Sky Gondola.The ride there was on a big bus with enough seats for 2 people to share 1 seat or just going by yourself on a seat.It took around 1 hour to get from Capitol Hill Elementary to Squamish.

When we got there we had a bathroom break.Then my class went to a Ranger named Aaron for instructions and info.He told us about Deciduous and Carnitious trees which are trees with leaves that fall and Evergreens respectively.Then we got on the Gondola,the gondola’s highest point is 850 meters above sea level.The ride up was 10 minutes approximately.

Soon after that we walked across a 100 meter long and 68 meter high bridge secured by steel cables which are drilled 9 meters in granite.After we walked across we went on a 1 mile hiking loop.It was fun even though Brian kept on pushing his way to the front like it was some kind of race even beside a cliff.Then we learned about shelter building in the forest from the Ranger.There are 2 main kinds of survival structures:the Tepee and the A-frame.A tepee looks like a cone of wood surrounding a central tree.The A-frame is made from a partially fallen tree with sticks arranged like an x on top of it.

After we went back to the lodge we ate lunch,surprisingly lots of people brought sandwiches.Then we rode back down on the gondola and it was time to go on the bus.The experience was very fun overall and if I had a chance I would go back any day!


Book review #2—–CHOMP

The main characters in CHOMP are a boy named Wahoo Cray and his dad Mickey who is a professional animal wrangler.One day they get invited to join a TV show called “Expedition Survival” who’s host Derek Badger foolishly believes his own PR and insists to only use wild animals for his show.Then a girl from Wahoo’s class Tuna ran away from her dad and went with Wahoo for the TV show.She ran away because her dad gets drunk every night and gave her a black eye.

I like the book  because for one the plot is very interesting, for example “Derek Badger was chomped by 1 alligator ,1 snapping turtle ,2 snakes…”.Another reason why this book is interesting in my opinion is the connections to real life like the drinking and the craziness.My last reason why I like this book is because of the comedy.Derek Badger liked watching vampire movies so when he got chomped by a bat he thought he would want to drink everybody’s blood.

I would recommend this book to grade 4 and above because of the “bleeping” and alcohol.Unless you and your parents are okay with it,in that case you should read it if you are looking for a harder read.

Population dynamics of the Tribble

Many people know the Tribble(a hairy puffball) from STAR TREK, my teacher has a tribble on her desk and she warned me not to feed it. I didn’t know why so I searched it up on the internet. You shouldn’t feed a tribble because of its ridiculous rate of reproduction every 12 hours the tribble gives birth to 10 more for a total of 11 Tribbles every 12 hours. 



I calculated how many generations of Tribbles it would take to make a ball of Tribbles as big as the earth. First I used the volume of the earth:  and the volume of a tribble: . Then I divided them and got how many Tribbles it would need to fill up the earth, taking the log base 11 is how many tribble generations it would need for 1 Tribble to make a sphere of Tribbles as big as the earth.

The next day I talked to my calculus teacher Mrs.Morrison about it, she suggested for me to search up Exponential growth and Logistic growth which are both often used in modelling population size. Exponential growth is what you get if you have a population that has no constraints, Logistic growth is the result of a limited resource like food or space.


The tribble function is an example of exponential growth but if there was limited food it would be best modelled by logistic growth.

It would take 32 generations or 16 days for one tribble to produce a sphere of Tribbles as big as the Earth.

Links below are some of the resources I used to write this post:


MIT introductory biology

Exponential & logistic growth KHAN ACADEMY


The Most Important Algorithms

——Christoph koutschan

After a long discussion with some of my RISC colleagues about what the 5 most important algorithms on the world are, we couldn’t reach a consensus on this question. So I suggested to perform a little survey. The criterion for suggestions was that these algorithms should be widely used. Further we restrict ourselves to the fields of computer science and mathematics.
As I expected the number of different suggestions is close to

5 * (no. of participants)In the following you find the results (in alphabetical order) of this survey (which of course is highly non-representative since most of the participants are computer scientists).

  1. A* search algorithm
    Graph search algorithm that finds a path from a given initial node to a given goal node. It employs a heuristic estimate that ranks each node by an estimate of the best route that goes through that node. It visits the nodes in order of this heuristic estimate. The A* algorithm is therefore an example of best-first search.
  2. Beam Search
    Beam search is a search algorithm that is an optimization of best-first search. Like best-first search, it uses a heuristic function to evaluate the promise of each node it examines. Beam search, however, only unfolds the first m most promising nodes at each depth, where m is a fixed number, the beam width.
  3. Binary search
    Technique for finding a particular value in a linear array, by ruling out half of the data at each step.
  4. Branch and bound
    A general algorithmic method for finding optimal solutions of various optimization problems, especially in discrete and combinatorial optimization.
  5. Buchberger’s algorithm
    In computational algebraic geometry and computational commutative algebra, Buchberger’s algorithm is a method of transforming a given set of generators for a polynomial ideal into a Gröbner basis with respect to some monomial order. One can view it as a generalization of the Euclidean algorithm for univariate gcd computation and of Gaussian elimination for linear systems.
  6. Data compression
    Data compression or source coding is the process of encoding information using fewer bits (or other information-bearing units) than an unencoded representation would use through use of specific encoding schemes.
  7. Diffie-Hellman key exchange
    Cryptographic protocol which allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communications channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher.
  8. Dijkstra’s algorithm
    Algorithm that solves the single-source shortest path problem for a directed graph with nonnegative edge weights.
  9. Discrete differentiation
    I.e., the formula f'(x) = (f(x+h) – f(x-h)) / 2h.
  10. Dynamic programming
    Dynamic programming is a method for reducing the runtime of algorithms exhibiting the properties of overlapping subproblems and optimal substructure, described below.
  11. Euclidean algorithm
    Algorithm to determine the greatest common divisor (gcd) of two integers. It is one of the oldest algorithms known, since it appeared in Euclid’s Elements around 300 BC. The algorithm does not require factoring the two integers.
  12. Expectation-maximization algorithm (EM-Training)
    In statistical computing, an expectation-maximization (EM) algorithm is an algorithm for finding maximum likelihood estimates of parameters in probabilistic models, where the model depends on unobserved latent variables. EM alternates between performing an expectation step, which computes the expected value of the latent variables, and a maximization step, which computes the maximum likelihood estimates of the parameters given the data and setting the latent variables to their expectation.
  13. Fast Fourier transform (FFT)
    Efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse. FFTs are of great importance to a wide variety of applications, from digital signal processing to solving partial differential equations to algorithms for quickly multiplying large integers.
  14. Gradient descent
    Gradient descent is an optimization algorithm that approaches a local minimum of a function by taking steps proportional to the negative of the gradient (or the approximate gradient) of the function at the current point. If instead one takes steps proportional to the gradient, one approaches a local maximum of that function; the procedure is then known as gradient ascent.
  15. Hashing
    A function for summarizing or probabilistically identifying data. Typically this means one applies a mathematical formula to the data, producing a string which is probably more or less unique to that data. The string is much shorter than the original data, but can be used to uniquely identify it.
  16. Heaps (heap sort)
    In computer science a heap is a specialized tree-based data structure. Heaps are favourite data structures for many applications: Heap sort, selection algorithms (finding the min, max or both of them, median or even any kth element in sublinear time), graph algorithms.
  17. Karatsuba multiplication
    For systems that need to multiply numbers in the range of several thousand digits, such as computer algebra systems and bignum libraries, long multiplication is too slow. These systems employ Karatsuba multiplication, which was discovered in 1962.
  18. LLL algorithm
    The Lenstra-Lenstra-Lovasz lattice reduction (LLL) algorithm is an algorithm which, given a lattice basis as input, outputs a basis with short, nearly orthogonal vectors. The LLL algorithm has found numerous applications in cryptanalysis of public-key encryption schemes: knapsack cryptosystems, RSA with particular settings, and so forth.
  19. Maximum flow
    The maximum flow problem is finding a legal flow through a flow network that is maximal. Sometimes it is defined as finding the value of such a flow. The maximum flow problem can be seen as special case of more complex network flow problems. The maximal flow is related to the cuts in a network by the Max-flow min-cut theorem. The Ford-Fulkerson algorithm computes the maximum flow in a flow network.
  20. Merge sort
    A sorting algorithm for rearranging lists (or any other data structure that can only be accessed sequentially, e.g. file streams) into a specified order.
  21. Newton’s method
    Efficient algorithm for finding approximations to the zeros (or roots) of a real-valued function. Newton’s method is also a well-known algorithm for finding roots of equations in one or more dimensions. It can also be used to find local maxima and local minima of functions.
  22. Q-learning
    Q-learning is a reinforcement learning technique that works by learning an action-value function that gives the expected utility of taking a given action in a given state and following a fixed policy thereafter. A strength with Q-learning is that it is able to compare the expected utility of the available actions without requiring a model of the environment.
  23. Quadratic sieve
    The quadratic sieve algorithm (QS) is a modern integer factorization algorithm and, in practice, the second fastest method known (after the number field sieve, NFS). It is still the fastest for integers under 110 decimal digits or so, and is considerably simpler than the number field sieve.
  24. RANSAC
    RANSAC is an abbreviation for “RANdom SAmple Consensus”. It is an algorithm to estimate parameters of a mathematical model from a set of observed data which contains “outliers”. A basic assumption is that the data consists of “inliers”, i. e., data points which can be explained by some set of model parameters, and “outliers” which are data points that do not fit the model.
  25. RSA
    Algorithm for public-key encryption. It was the first algorithm known to be suitable for signing as well as encryption. RSA is still widely used in electronic commerce protocols, and is believed to be secure given sufficiently long keys.
  26. Schönhage-Strassen algorithm
    In mathematics, the Schönhage-Strassen algorithm is an asymptotically fast method for multiplication of large integer numbers. The run-time is O(N log(N) log(log(N))). The algorithm uses Fast Fourier Transforms in rings.
  27. Simplex algorithm
    In mathematical optimization theory, the simplex algorithm a popular technique for numerical solution of the linear programming problem. A linear programming problem consists of a collection of linear inequalities on a number of real variables and a fixed linear functional which is to be maximized (or minimized).
  28. Singular value decomposition (SVD)
    In linear algebra, SVD is an important factorization of a rectangular real or complex matrix, with several applications in signal processing and statistics, e.g., computing the pseudoinverse of a matrix (to solve the least squares problem), solving overdetermined linear systems, matrix approximation, numerical weather prediction.
  29. Solving a system of linear equations
    Systems of linear equations belong to the oldest problems in mathematics and they have many applications, such as in digital signal processing, estimation, forecasting and generally in linear programming and in the approximation of non-linear problems in numerical analysis. An efficient way to solve systems of linear equations is given by the Gauss-Jordan elimination or by the Cholesky decomposition.
  30. Strukturtensor
    In pattern recognition: Computes a measure for every pixel which tells you if this pixel is located in a homogenous region, if it belongs to an edge, or if it is a vertex.
  31. Union-find
    Given a set of elements, it is often useful to partition them into a number of separate, nonoverlapping groups. A disjoint-set data structure is a data structure that keeps track of such a partitioning. A union-find algorithm is an algorithm that performs two useful operations on such a data structure:
    Find: Determine which group a particular element is in.
    Union: Combine or merge two groups into a single group.
  32. Viterbi algorithm
    Dynamic programming algorithm for finding the most likely sequence of hidden states – known as the Viterbi path – that result in a sequence of observed events, especially in the context of hidden Markov models.

Christoph Koutschan