NBS8613 : Numerical Methods and Scientific Programming
- Offered for Year: 2024/25
- Module Leader(s): Dr Grega Smrkolj
- Lecturer: Dr Pascal Stiefenhofer, Dr Yifan Chen
- Owning School: Newcastle University Business School
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 2 Credit Value: | 20 |
ECTS Credits: | 10.0 |
European Credit Transfer System |
Aims
The first part of this module aims at introducing students to the foundations of scientific computing in Python. Students learn how to load data, manipulate them with relevant numerical methods, and then produce publication-quality visualisation of their results.
The second part of the module aims at providing students with in-depth knowledge of the theoretical foundations of algorithms and algorithm design theory that can be used to build and test machine learning models. Students learn to implement algorithms and compute them using the Python programming language.
Outline Of Syllabus
Part one:
1. Introduction to scientific computing with Python
- Understanding data types in Python
- Python’s numerical and scientific libraries: Numpy, Scipy, Numba
- Computations on arrays
- Numerical optimization
- Parallelization
2. Data manipulation with Pandas
- Series and Data Frames
- Reading in data, obtaining data from the web (APIs)
- Operating on data: indexing, cleaning, combining datasets, aggregation, and grouping
3. Data visualization
- Producing publication-quality visualisations with Matplotlib and Plotly
- Plots and annotations
- Interactive plots
4. Parametric methods
- Linear and nonlinear regression
- Maximum likelihood estimation
- Evaluating estimators: bias, variance, asymptotic properties
5. Nonparametric density estimation
- Kernel density estimator
- Bandwidth selection
Part two:
6. Gradient methods
- Gradient descent method
- Subgradient method
- Projected gradient method
7. Optimization
- Convex sets
- Convex functions
- Convex optimization
8. Constraint qualification
9. Machine Learning Algorithms
- Sparse least squares regression
- Maximum likelihood
- Convex/non-convex optimization algorithms
- Stochastic gradient descent
- Logistic regression
- Principal component analysis
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 1 | 40:00 | 40:00 | N/A |
Scheduled Learning And Teaching Activities | Lecture | 12 | 2:00 | 24:00 | PiP |
Guided Independent Study | Directed research and reading | 46 | 1:00 | 46:00 | Background reading (including online content) |
Scheduled Learning And Teaching Activities | Workshops | 12 | 1:00 | 12:00 | Computer Lab (PiP) |
Guided Independent Study | Independent study | 78 | 1:00 | 78:00 | Practicing and gaining understanding of the course material |
Total | 200:00 |
Teaching Rationale And Relationship
Lectures are used to introduce theoretical concepts with illustrative examples and to provide students with general feedback on homework problem sets. Computer labs help students develop an ability to code and to apply theoretical concepts to solve practical problems.
Assessment Methods
The format of resits will be determined by the Board of Examiners
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Report | 2 | M | 50 | 2000 words - report on first part of module to be completed during semester 2 |
Report | 2 | M | 50 | 2000 words - report on second part of module to be completed at the end of semester 2 |
Formative Assessments
Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.
Description | Semester | When Set | Comment |
---|---|---|---|
Prob solv exercises | 2 | M | Homework exercises |
Assessment Rationale And Relationship
Two coursework reports allow the students to develop their problem-solving techniques, to practise the methods learnt in the first and second part of the module, to assess their progress and to receive feedback.
The problem-solving exercises have a formative purpose.
Reading Lists
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- NBS8613's Timetable