Niall Madden
Teaching 2021/2022
Semester I:
- MA284:
Discrete Mathematics
- MA313:
Linear Algebra I
|
Semester II:
- CS211:: Programming and Operating Systems
- CS319: Scientific Computing
|
Final
Year and Masters Project ideas, 2021/2022.
Teaching Archive
This is a list of all courses that I have taught since September
2000. There are links to some online content for the most recent
instance of the course. Some links might be broken -- please let me
know.
Important: These notes may not be relevant for courses that
are now taught by someone else. Lecturers tend to redevelop courses;
topics are continually updated.
Teaching 2020/2021
Semester I:
|
Semester II:
-
CS211
: Programming and Operating Systems
-
CS319
: Scientific Computing
|
Final Year Projects (2021/2022)
- Dillon McLoughlin
(Bachelor of Science):
"Mathematics of Music: Building an Interactive
Musical Interface in MATLAB".
Dillon studied the mathematical theory of sound and music,
and, from there, developed a graphical synthesizer in MATLAB.
Teaching 2019/2020
Semester I:
- MA284: Discrete Mathematics
- MA385: Numerical Analysis I
|
Semester II:
- CS211: Programming and Operating Systems
- CS319: Scientific Computing
|
Final Year Projects (2019/2020)
- Donal Heaney and Fergus O Boyle
(BSc. Financial Mathematics and
Economics):
"Accounting For Difficulty In Results"
Donal and Fergus studied methods in linear regression for
comparing results of students across different modules, with a
particular view on devising a fairer scheme for awarding
prizes. The also came up with a technique for comparing the
preformance of football teams across different seasons.
- Finian Dolan and Alan Davis
(BSc. Financial Mathematics and
Economics):
"A Network Analysis of Irish Companies and
their Directors
"
Finian and Alan used methods in graph theory and networks to
identify excessive interconnection of companies listed on the
Irish Stock Exchange in the period 2003--2013.
Teaching 2018/2019
Semester I:
- MA284: Discrete Mathematics
- MA385: Numerical Analysis I
|
Semester II:
-
CS211: Programming and Operating Systems
- CS319: Scientific Computing
|
Final Year and MSc Projects (2018/2019)
- Cian Mc Gonnell (B.Sc. Financial Mathematics and
Economics):
"
A mathematical and computational
study of tie-breakers in sport
"
Cian extended an analysis of the "fairness" of penalty
shoot-outs, and devised a proposal for improving them.
- Neringa Jurenaite (B.Sc. in Applied Mathematics):
"
Schwarz Domain Decomposition Methods:
theory and applications
"
Neringa developed in implementation of the classical
Schwarz algorithm in FEniCS, as well as an analysis for an 1D
problem. One highlight was an implementation of the method to
the problem from the original paper of Schwarz: a PDE posed on
a domain made from the union of a circle and a square.
- David Barry (M.Sc. Mathematics):
"
Algebraic Graph Theory
and its
Application to Grid Graphs
"
David studied a spectral analysis of certain graphs, with
an emphasis on those formed by the Cartesian product of simpler
graphs. He devised some algorithms for producing subgraphs
with certain extremal properties, including a novel approach
for determining communities within networks.
Teaching 2017/2018
Semester I:
-
MA284: Discrete Mathematics
-
MA385: Numerical Analysis I
- MA500-1:
Abstract and Numerical Linear Algebra
|
Semester II:
I was on sabbatical leave from 1 January to 30 June 2018.
|
Final Year Project (17/18)
- Padraic O'Dea (B.Sc. Financial Mathematics and
Economics):
"Mathematical Optimisation problem in kicking
conversions in Rugby Union and for a proposed
alternative '45' system in Gaelic Football"
In a classic recreational mathematics paper, Anthony
Hughes proposed a model for the optimal placement of the ball
when taking a conversion in rugby union (The Mathematical Gazette,
62(422):292-293, 1978). This work has inspired numerous
improvements and generalisations including, the recent work of
Pedro Freitas
(SIAM Rev., 56(4):673-690, 2014). Padraic read these and
related works and generated his own simulations based on
them. But the most substantial part of his thesis was on
applying these models (and, in partical that of Freitas
based on the idea of a "solid angle") to the taking of "45"s in
Gaelic
Football, including accounting for weather conditions
and different sized balls used in men's and women's
competitions.
Teaching 2016/2017
Semester I:
- MA204/MA28:
Discrete Mathematics
- MA385/MA530: Numerical Analysis I
|
Semester II:
-
CS319
: Scientific Computing
-
MA378
: Numerical Analysis II
|
Final Year Projects (16/17)
- Noeleen Rawle (BSc Mathematics): "
Sparse Grid Method for Efficient Quadrature in N dimensions".
Sparse grid methods can be applied to various types of
high-dimensional approximation problems, including numerical
integration, and solution of partial differential
equations. In the latter case, the most simple and elegant
approach is to use the two-scale method of Zhou and
co-authors. Noeleen investigated the application of this
approach to solving quadrature problems. In particular, she
derived formulae for the two-scale method applied to problems
in two, three and four dimensions. Remarkably, she showed that
the technique may be even more efficient that the "classical"
sparse grid methods based on hyperbolic cross points.
- Róisín Hill (B.Sc. Mathematical
Science): "Discontinuous Galerkin Methods and FEniCS".
Róisín objective was to learn about
discontinuous Galerkin finite element methods, and apply
them to solve some ordinary
and partial differential equations in
FEniCS.
Starting with Beatrice Riviere's book, she masters the
theory and practice of dG-FEM for a one-dimensional
problems, reproducing the results of the MATLAB code
provided in that text, but using FEniCS. She also
implemented the non-symmetric
interior penalty Galerkin (NIPG) method
of [Roos and Zarin, 2003] and investigated the convergence
of the solution. She then extended her code to
to solve various classes of PDEs, including two-dimensional
linear and nonlinear equations, steady state and time-dependent
equations, and vector valued problems.
Teaching 2015/2016
Semester I:
- MA204/MA284: Discrete Mathematics
- MA385/MA530: Numerical Analysis I
|
Semester II:
- CS319: Scientific Computing
- MA378/MA531: Numerical Analysis II
|
Final Year Projects (15/16)
- Kezia Burke (BSc in Financial Mathematics and
Economics): "Cluster Analysis and Irish
Demographics".
The purpose of Kezia's project was to
examine how clustering algorithms could be applied to census data
relating to the counties of Ireland. The main focus was
on K-means and Hierarchial cluster, which she
implemented in MATLAB. By applying these to real demographic trends
prevalent in Ireland, Kezia determined
which of these methods is best suited to analysing Irish census data.
- Bram Siebert (B.Sc. in Applied Mathematics): "Modelling
Diffusion on Networks".
Bram studied how the two-dimensional
heat partial differential equation can be solved numerically using
a finite difference method, using the standard discrete
Laplacian. Thinking of the finite difference grid as a graph,
he then investigated how the idea of diffusion on graphs can be
studied on arbitrary graphs, using the graph Lapacian. He
then used this to construct a concept of "diffusivity of graphs".
Teaching 2014/2015
Semester I:
- MA161-1: Calculus 1 (for science students)
- MA385/MA530: Numerical Analysis I
-
MA500-1: Numerical Differential Equations
|
Semester II:
- CS319: Scientific Computing
|
Masters Project (14/15)
- Aeshah Almalki (M.Sc. in Mathematics): "M-matrices and
positive definite matrices".
Aeshah studied the many links between M-matrices and positive definite
matrices. She constructed she own proofs of several classical theorems on
M-matrices, and investigated how these relate to more recent
results on positive definite matrices.
Teaching 2013/2014
Semester I:
- MA161-1: Calculus 1 (for science students)
- CS304/CS310:
Mathematical and Logical Aspects of Computing
- MA385/MA530: Numerical Analysis I
|
Semester II:
- CS319: Scientific Computing
-
MA519: Numerical Linear Algebra.
|
Final Year Projects (13/14)
- Lukas Spies (B.Sc. in Mathematical Science): "Automatic Differentiation
with applications to Initial Value Problems"
Lukas studied numerical differentiation, first by classical finite difference methods,
and the little-known classical technique of Complex Step differentiation.
However, the main body of his project was on the technique
of Automatic/Algorithmic Differentiation (AD)". He wrote his
own C++ implementation of AD, and the applied it to several
problems. The most interesting application was the creation of a new
solver of initial-value problems based on AD.
Teaching 2012/2013
Semester I:
- MA160/MA161-1: Calculus 1 (for science students)
- CS304/CS310: Mathematical and Logical Aspects of Computing
- MA385/MA530: Numerical Analysis I
|
Semester II:
-
MA180/186/190: Mathematics (Honours) -- Calculus
- CS319/CT343: Scientific Computing
|
Final Year Project (12/13)
- Conor McGinty (B.A. in Mathematics and Education) "Simulating
Large Random Graphs and Social Networks". Conor investigated
the application and implementation of several forms of
graph centrailities: schemes which seek to establish the
most important node in a graph, according to reasonable criteria.
The highlight of the project - not least because it involved the use
of real data - was the computation of the stress
centrality of nodes on Conor's own Facebook graph.
2011/2012
Semester I:
- MA101: Calculus 1 (for science students)
- CS304/CS310/MA325:
Mathematical and Logical Aspects of Computing
- MA385/MA530: Numerical Analysis I
|
Semester II:
- CS427: Elements of Software Engineering
- CS304/CS310/MA326:
Mathematical and Logical Aspects of Computing (Sem 2)
- MATBC: Graduate
course - Mathematics of the Finite Element Method
|
Final Year Project (11/12)
- Brian Burns (Financial Mathematics and Economics) "Random
Graphs". Brian studied links between linear algebra and graph
theory, with an emphasis on the mathematics that can be used to
study properties of very large graphs -- such as how the average
path length of the graph depends on the number of vertices and
edges. He also wrote some Octave/Matlab programmes the simulate and
visualise large graphs.
2010/2011
Sabbatical!!
2009/2010
Semester I:
- CS204/CS209: Algorithms
- CS211: Operating
Systems and Programming
- MA385/MA530: Numerical Analysis I
|
Semester II:
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
- MA519: Numerical Linear Algebra
|
Final Year Projects (09/10)
- Jason Orr (Computer Science) "Crawling Through College". Jason designed and implemented an
impressive web crawler in C, learning a lot about sockets and
network programming in the process. He tested it on the NUI Galway
site.
- Philip Mulryan (Computer Science) "Signal processing and Robotics
Programming". The main output from Phil's project was a Lego
NXT-based robot that could play tic-tac-toe. The language used was
the C-lick NXC. The main challenges included mastering
real-time programming, processing input from the robot's sensors,
and designing an algorithm for the game.
- Jason Gill (Financial Mathematics) "Image compression and the
Singular Value Decomposition". Jason studied the computation of the
SVD, primarily using Householder reflectors, and the Golub-Kahan
algorithm. He then used the SDV to implement some image processing
algorithms, and analyse them in various norms.
2008/2009
Semester I:
- CS204/CS209: Algorithms
- MA211: Calculus
- MA385/MA530: Numerical Analysis I
|
Semester II:
- CS209 Algorithms (and programming)
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
|
Final Year Project (08/09)
- Daniel Finn (Financial Mathematics) "Numerical Solutions to
Stochastic Differential Equations". Through careful study of Ito
calculus, and stochastic Taylor series, Danny was able to analyse
the popular Euler-Maruyama and Milstein methods, and apply them to
some interesting SDEs.
2007/2008
Semester I:
- CS204/CS209: Algorithms
- MA211: Calculus
- MA385/MA530: Numerical Analysis I
|
Semester II:
- CS209 Algorithms (and programming)
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
|
Final Year Project (07/08)
- Sean Corcoran (Computer Science) "Webcrawling and Pagerank". A
careful study of the fundamentals underpinning the famous Google
PageRank Algorithm. Using data generated by a web-crawler that we
wrote himself, Sean was able to "rank" pages on local server.
- Grainne Kenny (Financial Mathematics) "Ranking sports teams". In
what was (as far as we knew at the time) a novel application of a
PageRank algorithm, Grainne devise a variant to rank sports teams in
knock-out competitions. The two main data sets were the results of
the 2007 Rugby World Cup, and the 2007 National Hurling
League (in spite of the name, the finals are played as a
knock-out).
During the project we found similar work by Langville and
Meyer. Still, we had a lot of fun. We concluded that Ireland were
ranked 12th of the 20 years in the 2007 RWC, and that Clare were
ranked 2nd in the Hurling league.
2006/2007
Semester I:
- MA385/MA530: Numerical Analysis I
- CS457 Image processing
|
Semester II:
- MA154:
Algebra (for IT students)
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
- CS454 Signal processing
|
Project (06/07)
- Aoife Hennessy (MSc in Communications and Information Systems) "A
study of large scale eigenvalue problems in information search and
retrieval". Aoife studied the analysis and application of Krylov
subspace methods eigenvalue problems.
2005/2006
Semester I:
- MA385/MA530: Numerical Analysis I
- CS457 Image processing
|
Semester II:
- MA154: Algebra (for IT students)
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
- CS454 Signal processing
|
Project (05/06)
- Michael Meehan (BSc in Financial Mathematics and Economics)
"Digital Image Processing and the mathematics involved".
- Oisin Kelly (BSc in Financial Mathematics and Economics)
"Financial Option Valuation".
2004/2005
Semester I:
- CS208: Operating systems and C++
- MA385/MA530: Numerical Analysis I
- CS457 Image processing
|
Semester II:
- MA154: Algebra (for IT students)
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
- CS454 Signal processing
|
Projects (04/05)
- Aaron Hurley (MSc in Communications and Information Systems)
"Audio Filtering with respect to Spectral Analysis, Synthetic Methods and Well Known Functions"
- Bebhinn O'Brien (BSc Computer Science)
"The Numerical Simulation of Stochastic Differential Equations".
- Thomas O'Flaherty (BSc Computer Science) "Numerical Methods in Distributed Environments".
2003/2004
Semester I:
- CS208: Operating systems and C++
- MA385/MA530: Numerical Analysis I
- CS457 Image processing
|
Semester II:
- MA378/MA531: Numerical Analysis II
- CS427: Elements of Software Engineering
- CS454 Signal processing
|
Projects (04/05)
- Anthony Coyne (BSc in Financial Mathematics and Economics)
"Numerical option pricing and the Black-Scholes model
using Matlab"
- Joseph Garvin (Higher Diploma in Mathematics) "Simulating
Small World Networks".
- Lisa McGarrigle (BSc in Financial Mathematics and Economics).
"Metrics for Matrices".
2002/2003
Semester I:
- CS208: Operating systems and C++
- CS304: Mathematical and Logical Aspects of Computing (I)
- MA321: Computer packages for mathematics (Maple)
|
Semester II:
- CS304: Mathematical and Logical Aspects of Computing (I)
- MA378: Numerical Analysis II
- CS427: Elements of Software Engineering
|
Projects (02/03)
- Marcella Doherty (Higher Diploma in Mathematics) "Numerical
methods for stochastic differential equations".
- Brian Caffrey (BSc in Computing Studies and Mathematical
Science). "Distributed Systems".
2001/2002
Semester I:
- CS208: Operating systems and C++
- CS304: Mathematical and Logical Aspects of Computing (I)
- MA321: Computer packages for mathematics (Maple)
|
Semester II:
- MM246: Numerical Analysis
- CS304: Mathematical and Logical Aspects of Computing (I)
- MA378: Numerical Analysis II
|
Projects (01/02)
- Karen Durkin (BSc in Financial Mathematics and Economics)
"Numerical Analysis of the Black-Scholes Model".
- Neil Burke (BSc in Computer Studies and Mathematical Science)
"Cubic Spline Interpolation: rational splines and convexity".
- Lorcan Connaughton (BSc in Financial Mathematics and Economics)
"The Black-Scholes Model: a numerical approach".
2000/2001
Semester I:
- CS208: Operating systems and C++
- CS304: Mathematical and Logical Aspects of Computing (I)
- MA321: Computer packages for mathematics (Maple)
|
Semester II:
- MM246: Numerical Analysis
- CS304: Mathematical and Logical Aspects of Computing (I)
|