Skip to main content


NBS8613 : Numerical Methods and Scientific Programming

  • Offered for Year: 2023/24
  • Module Leader(s): Dr Grega Smrkolj
  • Lecturer: Dr Pascal Stiefenhofer, Dr Yifan Chen
  • Owning School: Newcastle University Business School
  • Teaching Location: Newcastle City Campus

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


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
Scheduled Learning And Teaching ActivitiesLecture122:0024:00PiP
Guided Independent StudyAssessment preparation and completion140:0040:00N/A
Guided Independent StudyDirected research and reading461:0046:00Background reading (including online content)
Scheduled Learning And Teaching ActivitiesWorkshops121:0012:00Computer Lab (PiP)
Guided Independent StudyIndependent study781:0078:00Practicing and gaining understanding of the course material
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
Report2M502000 words - report on first part of module to be completed during semester 2
Report2M502000 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 exercises2MHomework 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