University of Edinburgh Programming Club

Theme by mattgraham

Time: Wednesdays 15:00 - 17:00

Room: Hybrid

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)

Programming Projects

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.

Date Session Details/Resources
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

Competitive Programming

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.

Box of Toys

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.

Further Resources

The internet is full of resources to satisfy your programming needs on every level. Here are some useful links.

Gamified Coding
  • Code Combat - If you are a beginner programmer or simply love gamified programming. We have licenses!
  • Codin Game - More gamified coding with some quite challenging problems even involving deep learning tasks. Supports a whole range of languages.
  • CheckiO - Even more gamified coding practice in Python and JavaScript.
Competitive Coding
  • Kattis - Competitive programming problems.
  • CodeForces - More competitive programming.
  • Project Euler - Competitive programming with a maths twist.
  • TopCoder - Competitive programming that can earn you money.
Data science and data analysis
  • Harard's CS109 - Comprehensive introductory data science course in Python.
  • CS231n - Python NumPy tutorial - Useful supplement to the course above.
  • Kaggle datasets - Beginner-friendly datasets for practicing your skills.
  • Python Data Science Handbook - Introduction to data science in Python - covers Jupyter notebooks, NumPy, Pandas, Matplotlib, and Scikit-learn (through the University library).
And More
  • Statistics Coding Club - Coding club from the ecology and environmental science people. They focus on statistical analysis using R and have lots of useful online resources.
  • Embedded and Robotics Society - Society aimed at helping students get into the fields of embedded development and robotics. Have an eye on their webpage for workshops and events!
  • CompSoc - Scotland's largest tech society run by students of Edinburgh University. Check their webpage for workshops and events!

If you have any other links you think are missing here, please let us know!

PGClub on Slack Join us on Slack with your UoE email address.

PGClub on GitHub Find more resources in our GitHub repo.

Please give us feedback and help us to make the course better for you:

Feedback Form

Meet the Team

A special thanks to Garry Ellard for his massive help and support with running the club!