Munster Programming Training

The Objectives

By providing the second cycle of this program, we hope to achieve the following :
To give more advanced elements on computer programming and algorithms.
To prepare the students for AISPC programming competitions.
To offer research support for the students who want to participate in the Young Scientist competition.

Training Materials

Week 1 - Lecture 1 - Refreshers

Lecture: Slides

Exercises:
1 - Find the max of list of numbers - Hint 1 - Hint 2 - Solution
2 - Reverse a string - Hint 1 - Hint 2 - Solution
3 - Anagrams - Hint 1 - Hint 2 - Solution

Lecture 1 Archive

Week 2 - Lecture 2 - Complexity & Recursivity

Lecture: Slides - Codes

Exercises:
1 - Sum of integers - Hint 1 - Hint 2 - Solution
2 - Count words - Hint 1 - Hint 2 - Solution
3 - Factorial - Hint 1 - Hint 2 - Solution
4 - Base conversion - Hint 1 - Hint 2 - Solution

Lecture 2 Archive

Week 3 - Lecture 3 - Binary Search & Queues & Stacks

Lecture: Slides

Exercises:
1 - Binary search - Solution
2 - The Price is Right - Solution
3 - Postfix - Solution
4 - Palindromes - Solution

Lecture 3 Archive

Week 4 - Lecture 4 - Consolidation

Lecture: Slides

Exercises:
1 - Boolean Postfix - Solution
2 - Corcaig-xit - Solution
3 - Binary Bingo - Solution
4 - Silly Sort - Solution

Lecture 4 Archive

Week 5 - Lecture 5 - Matrices & Linked Lists

Lecture: Slides

Exercises:
1 - Pascal's Triangle - Solution
2 - Corcaig-xit - Solution
3 - Linked Lists - File to complete - Solution

Lecture 5 Archive

Week 6 - Lecture 6 - Object-Oriented Programming & Linked Lists

Lecture: Slides

Exercises:
1 - Fraction - File to complete - Solution
2 - Linked Lists - File to complete - Solution

Lecture 6 Archive

Week 7 - Lecture 7 - Trees & Parse Trees

Lecture: Slides

Exercises:
1 - Tree Traversals - File to complete - Solution

Lecture 7 Archive

Week 8 - Lecture 8 - Consolidation v2.0

Lecture: Slides

Exercises:
1 - Ethel's Encryption - Solution
2 - Make Europe Great Again - Solution
3 - Margaret's Minute Minute Manipulation - Solution
4 - Delightful Downhill-skiing Dinner - Solution

Lecture 8 Archive

Week 9 - Lecture 9 - Practice with numbers

Lecture: Slides

Exercises:
1 - Hamming Distance - Solution
2 - Self-dividing Numbers - Solution
3 - Number Complement - Solution
4 - Counting Bits - Solution
5 - Ugly Numbers - Solution
6 - Bitwise AND of a range - Solution

Lecture 9 Archive

Week 10 - Lecture 10 - Practice with strings

Lecture: Slides

Exercises:
1 - Reversing a string - Solution
2 - Isomorphic strings - Solution
3 - Scrambling strings - Solution
4 - String compression - Solution
5 - First unique character - Solution
6 - No couples! - Solution

Lecture 10 Archive

Week 11 - Lecture 11 - Practice with matrices

Lecture: Slides

Exercises:
1 - Matrix rotation - Solution
2 - Matrix multiplication - Solution
3 - SortedMatrixSearch - Solution
4 - Look-and-say - Solution

Lecture 11 Archive

Week 12 - Lecture 12 - Consolidation v3.0

Lecture: Slides

Exercises:
1 - Decaying numbers - Solution
2 - Goat Latin - Solution
3 - Weird dictionary - Solution
4 - Image smoother - Solution
5 - Walking robot - Solution

Lecture 12 Archive

Week 13 - Lecture 13 - The Last Stand

Lecture: Slides

Exercises:
1 - Valid capitals - Solution
2 - Buy & sell stock - Solution
3 - Ransom note - Solution
4 - Rotting oranges - Solution
5 - Keys & rooms - Solution
6 - Perfect number - Solution

Lecture 13 Archive


Useful Learning Resources

Introduction to algorithms - Book's PDF
Problem Solving with Algorithms and Data Structures using Python - Website
Data Structures and Algorithmic - Thinking with Python - Available on Amazon
Building Skills in Object-Oriented Design - Book's PDF
Python documentation - Website

Links to Competitions

All Ireland Programming Olympiads - AIPO Webpage
British Informatics Olympiad BIO Webpage
International Olympiads of Informatics - IOI Webpage
Irish Collegiate Programming Contest - IrlCPC Webpage

Competition Training Resources

Programming Challenges - Book's PDF
Leet Code Problems - Website
IrlCPC 2018's problem set - PDF
IrlCPC 2017's problem set - PDF
IrlCPC 2016's problem set - PDF
IrlCPC 2015's problem set - PDF

Contact Details: Dr Bastien Pietropaoli - bastien.pietropaoli@insight-centre.org
Contact Details: Dr Sabin Tabirca - s.tabirca@cs.ucc.ie