Scientific Programming Lab for Data Science - M2
dev
Scientific Programming for Data Science - Module 2
General Info
Timetable and lecture rooms
Equipment
Acknowledgements
Module 2, Practical 1
Object Oriented Programming
Classes, Methods and Objects
Self
Definition of a class
The life-cycle of classes and objects in a program:
Encapsulation
Special methods
Inheritance and overriding
Exercise
Lambda functions
Exercises
Module 2, Practical 2
Testing
Unit testing
Exercise
Measuring time
Exercise
Measuring memory
Exercise
Module 2, Practical 3
Complexity
Python built-in data structures and relative methods have different time complexity. A comprehensive list is available at this link
Exercises
Module 2, Practical 4
Regular expressions
Basic Patterns
Group extraction
Exercises
re.compile
Substitution
Exercise
Exercises
Module 2, Practical 5
Sorting algorithms
Selection sort
A base class for sorting algorithms
Exercise (implementation)
Insertion sort
Exercise (implementation)
Merge sort and Quick sort
Merge sort
Exercise (Implementation)
Quick sort
Exercise (Implementation)
Exercise (algorithm benchmark)
Exercise (Counting Sort)
Module 2, Practical 6
Data structures
Abstract Data Types (ADTs)
ADT: Sequence
ADT: Set
Iterators in Python
Exercise (set implementation)
ADT: dictionary
Linked lists
Example: bidirectional linked list
Exercise (complete bidirectional list)
Exercise (circular list)
Stacks
Exercise
Queues
Collections
Exercise
Module 2, Practical 7
Trees
ADT: Binary Tree
Exercise
Tree visit
Binary Tree visits: DFS
Binary Tree visits: BFS
Exercises
ADT: Generic Tree
Exercise (implementation)
Module 2, Practical 8
Graphs
Graph ADT
Implementation as adjacency matrix
Exercises
Implementation as (adjacency) linked list
Exercises
Module 2, Practical 9
Graphs recap
Visits
Depth First Search (DFS)
Exercises
Breadth First Search (BFS)
Exercise
Exercise
Module 2, Practical 10
Dynamic programming
Excercise
Module 2, Past Exams
Exercises 1
Examples
TIPS
Exercises 2
Exercises 3
Exercises 4
Module 2, Exam Simulation
Theoretical part
Exercise 1
Exercise 2
Practical part
Exercise 3
Exercise 4
Module 2, Exam Simulation Solution
Practical part
Excercise 3
Solution
Exercise 4
Solution
Scientific Programming Lab for Data Science - M2
Index