Time: Wednesdays 15:00 - 17:00
The club is set to start with its first session in week 2 (29.09.21) online; meeting link was announced by email on 22 September. We plan at least partially on-site activity from the second meeting and onwards.
This completely voluntary, no credits club is for undergraduate students to get more practical programming experience. It is held once a week during term time. For a couple of hours in a relaxed lab students have the chance to work on different challenges, play with some cool toys and engage with fun programming projects. (Introductory slides)
We continue to follow the tradition of the club, where we focus on different topics with group members (see the next sections for resources).
If we see some demands, we also offer a system programming mini-course, where we code near or even inside the Linux operating system in C and learn how your computer works with rough schedule in the following.
|Week 3||Introductory CS Tooling||Tutorial for basic tooling, such as git, vim, ssh etc.|
|Week 4||String Manipulation||C basics|
|Week 5||File I/O (1)||System call interfaces|
|Week 6||File I/O (2)||Kernel space programming|
|Week 7||Network Programming (1)||Networking protocols and APIs|
|Week 8||Network Programming (2)||Asynchronous I/O and multi-threading|
|Week 9||Modern System Programming (1)||Kernel bypass|
|Week 10||Modern System Programming (2)||User code in the kernel|
We run competitive programming sessions where you can practice your coding skills on problems of varying difficulty. This is not only fun but most helpful for job interviews which all of you will face eventually when applying for a job in industry or academia that involves programming. We aim to publish the latest programming problems here.
We are also sending teams to the International Collegiate Programming Contest (ICPC) and host our own competitions. In 2020 (which actually happened in 2021 spring), three teams from Edinburgh participated.
The School of Informatics generously bought us a whole bunch of fun toys to play with. All of them are programmable in various languages and difficulty ranging from Scratch over Python to C and assembler. Here is a noncomprehensive list to give you a taster.
The internet is full of resources to satisfy your programming needs on every level. Here are some useful links.
If you have any other links you think are missing here, please let us know!
Join us on Slack with your UoE email address.
Find more resources in our GitHub repo.
A special thanks to Garry Ellard for his massive help and support with running the club!