Today we met for the Extreme Programming Club for the first time and enjoyed discussing problem solving.
We discussed the importance of programming practice, data structures, and algorithms. Plenty of exercises are available at https://open.kattis.com/
There you can even find a University of Reading Ranklist (so far two students *ever* participated).
Introducing and interactive solving of an easy problem
Firstly, Julian introduced the simple problem here: https://open.kattis.com/problems/modulo
Then we discussed a test harness to automatize the execution of the provided input/output tests to check the correctness of our results using a Bash script.
Then students worked in small groups to discuss the problem and sketch a solution. We then discussed the solution in a bigger group. We discussed the difference of using the data structures array vs. a dictionary to preserve the intermediate results of the computation and also about some performance issues.
Finally, we solved the problem using the programming language C.
Introducing problems for the home challenge
Julian introduced three problems of different complexity challenging students with different experience level. These problems were:
Note that the hard problem is really hard to be resolved with a performing algorithm. We briefly discussed the problem descriptions and organized small learning groups to support individual learning.
We discussed during the meeting the organization of subsequent meetings, which will take place Wed. 28th in G43 (likely to move to a different place from there).
About the club:
This is an extracurricular activity that fosters your programming skills and algorithmic thinking, and communication skills regarding programming. These capabilities are often key to yield high-profile jobs from, e.g., Silicon Valley companies like Google.
The club to which everyone – both, little or significant programming skills – is welcome, aims to:
boost your programming confidence
prepare you better for potential future jobs and programming competitions
show that the algorithmic problem solving is fun!