MECH2700
Engineering Analysis I
Important notices
Introduction
Topic guide for revision
Software & reading material
Resource CD (online copy)
Tutorial sheets

Topic Guide (for end-of-semester revision)

The following list provides an overview of the topics (not in chronological order) to be explored during the semester.

Modelling and Computation

  1. Computer-assisted problem solving; methodology.
  2. Algorithms and their representation: sequence, selection, iteration.
  3. Conceptual model of a computer.
  4. Graphical representation of data.
  5. Python as a calculator.
  6. Program tracing.

Numerical Methods

  1. Numerical methods and types of error: truncation and round-off error.
  2. Representation of numbers and floating-point arithmetic.
  3. Propagation of error, machine precision.
  4. Solution of a nonlinear equation: bisection, fixed-point iteration
    Newton-Raphson and secant methods.
    Rates of convergence.
  5. Modelling dynamic systems with ordinary differential equations.
    Solving first-order ODEs using Euler, Huen and Runge-Kutta methods.
    Taylor series and graphical descriptions.
    Local and global errors, stability and convergence.
  6. Solution of systems of linear equations.
    Direct methods (Gauss-Jordan elimination) and iterative methods (Jacobi and Gauss-Siedel).
    Sensitivity and condition number.
  7. Interpolation of data using the monomial basis and the Lagrange basis.
    Ill-conditioning and the selection of sample points.
  8. Numerical differentiation via interpolation and via Taylor series expansion.
  9. Quadrature using Newton-Cotes methods.
    Adaption of panel-size based on a recursive implementation.
  10. Data modelling via least-squares curve fitting.
    Formulation with monomial and more general basis functions.
  11. Optimisation: one-dimensional search using Golden section,
    mutlidimenesional search using the (nonlinear) simplex method.
    Application to function-solving, curve-fitting, design, etc.

Programming in Python

  1. Lexical structure of Python:
    • lines and indentation: physical lines, logical lines,
    • comments,
    • statements: simple and compound,
    • tokens, identifiers, keywords, operators, delimiters and literals.
  2. Simple data types: integer, floating-point and complex numbers.
  3. Sequence data types: strings, tuples, lists, dictionaries.
  4. Variables, assignments, namespaces, objects and object-space.
    (This topic is also part of discussion on functions and modules.)
  5. Expressions and operations on data:
    arithmetic, comparison, logical, indexing, slicing.
  6. Simple output: print statement.
  7. String interpolation: % operator and conversion specifiers.
  8. Simple input: raw_input function and conversion from strings to other types.
  9. Control structures for program flow: if, while, break, continue and pass statements.
    The for statement and the range function.
  10. Defining your own functions.
    • Passing information to and returning data from a function.
    • Multiple return values and default parameters for functions
    • Recursive functions.
    • Namespaces and scope.
  11. Program modules to help organise your program; import statement.
  12. Reading and writing of files.
  13. Documentation: doc strings in modules and functions.
  14. Debugging.
  15. The use of classes to organise your program (optional, advanced).
  16. Matrices and vectors in Python: lists-of-lists and the Numeric extension.

Page design and layout by Maria Huynh.
Content by Peter Jacobs, updated 2005.