Course Outline

Lecturer

:

Ir. Dr. Michael Tan Loong Peng

Room No.

:

P19a-05-02-12

Telephone No.

:

07-5557171

E-mail

:

michael@fke.utm.my

Synopsis

:

This course introduces the fundamentals of scientific programming languages and techniques used by engineers to solve engineering problems. Students will be introduced to common scientific programming languages and their comparative advantages and disadvantages. Emphasis is placed on fundamentals of programming, program design, verification and visualization. The goal is to provide the students with the skills in scientific computing, tools, techniques that can be used to solve their own engineering problems. Students will learn to implement algorithms using high level programming language (e.g. MATLAB, Mathematica, FORTRAN). The programming skills acquired in this course will allow students to go beyond what is available in pre-packaged analysis tools, and code their own custom data processing, analysis and visualization for any engineering problem.

 

Prerequisites: -none-

LEARNING OUTCOMES

 

By the end of the course, students should be able to:

No.

Course Learning Outcome

Programme

Outcome

Taxonomies

and

Soft-Skills

Assessment Methods

CLO1

Apply the knowledge of scientific programming to describe complex engineering problems in flowcharts, pseudocode and programs.

PO1

C3

T, F

CLO2

Apply concepts of scientific programming to solve complex engineering problems using software programs and perform program debugging.

PO1

C3

A, T, F

CLO3

Analyze and apply an advanced program using scientific programming language with data processing, analysis and visualization to solve an engineering problem.

PO3

C4

A, T, F

(T – Test ; PR – Project ; A – Assignment ; F – Final Exam, D - Demo)

 

 

 

 

STUDENT LEARNING TIME (SLT)

 

Teaching and Learning Activities

Student Learning Time (hours)

1.    Face-to-Face Learning

a.    Lecturer-Centered Learning

                                 i.    Lecture

 

14*

b.    Student-Centered Learning (SCL)

                                 i.    Laboratory/Tutorial

                                ii.    Student-centered learning activities – Active Learning, Project Based Learning

 

14*

3

 

Lecture and hands-on practice are conducted in computer lab.

2.    Self-Directed Learning

a.    Non-face-to-face learning or student-centered learning (SCL) such as manual, assignment, module, e-Learning, etc.

25

b.    Revision

14

c.     Assessment Preparations

8

3.    Formal Assessment

a.    Continuous Assessment

2

b.    Final Exam

2

Total (SLT)

80

 

 

TEACHING METHODOLOGY

 

-       Lecture and hands-on lab session.

-       Written tests, quizzes and final Examination.

-       Individual Assignments (programming).

-       Group Assignment - Programming. Consists of demo, report writing and short presentation.

 

 

 

 

 

 

 

 

WEEKLY SCHEDULE

 

Week 1

 

:

Overview of languages

i.          Program development

ii.         Aspects of computers and their operation

iii.         Comparisons of different languages for scientific programming; FORTRAN, C, C++, MATLAB, Mathematica and their advantages/disadvantages

iv.        Flowchart, pseudocode.

Week 2

 

:

Introduction to MATLAB

i.          MATLAB Workspace

ii.         Variables, Operators, basic data types

iii.         M-file script, Comments, Punctuation

iv.         Complex Numbers, Floating Point Arithmetic

v.         Mathematical Functions

Week 3

 

:

Complex Data type

i.          Arrays

ii.         Matrices

iii.         Multidimensional Arrays

iv.         Character strings

Week 4

 

:

Control Flow

i.          Loops

ii.         Conditionals

iii.         Switch, Pause, break, continue, return

Week 5

:

Functions

i.          M File function rules

ii.         Input output arguments

iii.         Encapsulation

iv.         Variable scope

v.         Anonymous functions

vi.         Creating your own toolbox

Week 6

 

:

Input & Output

i.          Plain text files

ii.         Binary files

iii.         Set functions, Bit functions, base conversion

 

Debugging and profiling

i.          Debugging

ii.         Profiling

Week 7

 

:

Graphics

i.          Plot function

ii.         Linestyles

iii.         Multiple plots, figures

iv.         Sub plots

v.         Specialized 2D plots

vi.         Introduction to 3D plots

Week 8

:

Mid- Semester Break

Week 9

 

:

Matrix Algebra

i.          Sets of linear equations

ii.         Matrix functions

iii.         Special matrices

iv.         Sparse matrices

Week 10

 

:

Data Analysis

i.          Basic statistical analysis

ii.         Basic data analysis

Week 11

 

:

Data interpolation

i.          One dimensional interpolation

ii.         Two dimensional interpolation

Week 12

 

 

Polynomials

i.          Roots

ii.         Multiplication, addition, division

iii.         Derivatives and integrals

iv.         Rational polynomials

v.         Curve fitting

Week 13

 

 

Integration and Differentiation

i.          Integration

ii.         Differentiation

Week 14

 

 

Differential Equations

i.          ODE Solver

Week 15

 

 

Object Oriented Programming

i.          Introduction to Object Oriented Programming

ii.         Cell arrays

iii.         Structures

iv.         Properties, Methods, Events

v.         Class with reference behaviour

Week 16-18

:

Revision Week and Final Examination

 

 

 

REFERENCES :

 

1.    Duane Hanselman and Bruce Littlefield, Mastering MATLAB 7, Pearson Education, 1st Edition, 2005.

2.    Holly Moore, MATLAB for Engineers, Pearson Education, 1st Edition, 2015.

3.    Quarteroni Alfio, Saleri Fausto and Gervasio Paola, Scientific Computing with MATLAB and Octave¸Springer, 2014.

 

GRADING:

 

Item

Mark (%)

No of test/quiz/assignment

Duration

Quizzes

5

1

15 min

Group Assignment

15

1

 

Tests

15

2

1 Hour

Final Exam

50

1

2 hours

Comments