3
Dept. of Mechanical Engineering Module Code: School: Engineering Title: Modelling and Software Development (EAMS- 114) Weighting: 2 credits Coordinator: Luis Rojas- Solorzano Year of Study: 1 Other lecturers: Alex James Pass mark: 440% Teaching Assistants: Meruyert Muratbekkyzy Arailym Butabayeva Aims: The aim of this theroretical and hands-on module is to provide students with the basic skills, both in understanding the underlying domains and in understanding the fundamentals of software development in scientific and engineering applications. This understanding includes what constitutes a ¨good¨ program and algorithm. In particular, this module is concerned with developing critical knowledge on appropriate solution approach, managing program complexity and maintaining ¨healthy¨ software solutions for scientific and engineering problems. Learning Outcomes: On completion of the module, the student is expected to be able to: Develop flow diagrams to represent complex processes. Evaluate and explain the behavior of basic scientific and engineering programs involving the fundamental code elements. Apply function decomposition, modularization and object-oriented software development

EAMS-114 Course Program (1)

  • Upload
    brainkz

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EAMS-114 Course Program (1)

Dept. of Mechanical Engineering

Module Code: School: Engineering

Title: Modelling and Software Development (EAMS-114)

Weighting: 2 credits Coordinator: Luis Rojas-Solorzano

Year of Study: 1 Other lecturers: Alex James

Pass mark: 440% Teaching Assistants: Meruyert Muratbekkyzy

Arailym Butabayeva

Aims: The aim of this theroretical and hands-on module is to provide students with the basic skills, both in understanding the underlying domains and in understanding the fundamentals of software development in scientific and engineering applications. This understanding includes what constitutes a ¨good¨ program and algorithm. In particular, this module is concerned with developing critical knowledge on appropriate solution approach, managing program complexity and maintaining ¨healthy¨ software solutions for scientific and engineering problems.

Learning Outcomes:

On completion of the module, the student is expected to be able to:

Develop flow diagrams to represent complex processes.

Evaluate and explain the behavior of basic scientific and engineering programs involving the fundamental code elements.

Apply function decomposition, modularization and object-oriented software development techniques in order to create maintainable software.

Assess and compare the impact of algorithms on program performance and resource consumption.

Design, implement, evaluate and apply code programming an debugging using C++ and Matlab languages.

Write a good documentation to facilitate re-use of own code by others.

Synopsis: 1. Programming and problem-solving: algorithms, program design, object-oriented programming, the software life-cycle.

2. Introduction to C++: origins, sample program, programming a simple C++ program, compiling and running a C++ program.

3. Testing and debugging: types of program errors.

4. C++ basics:

4.1. variables and assignments.

4.2. Input and output.

4.3. Data types and expressions.

4.4. Simple flow of control (e.g., loops, counters, etc.)

4.5. Program style (indenting, comments and naming constants).

5. Advanced flow control:

Page 2: EAMS-114 Course Program (1)

5.1. Boolean expressions.

5.2. Complex branching (e.g., nested statements, nested loops and debugging)

6. Functions: predefined and user-defined.

7. Introduction to arrays.

8. Introduction to Matlab.

8.1. Matlab algorithms and operations. Matlab applications in engineering.

8.2. Introduction to linear and non-linear concepts

8.3. Modeling examples and techniques: chemical, civil, electrical and mechanical engineering systems.

9. Introduction to Software Engineering

10. Requirements Engineering

11. Software Testing

Textbooks: 1. Problem Solving with C++, 7th ed., W. Savitch, 2008. (main textbook)2. Programming Principles and Practice using C++, 1st ed., 2008.3. C++ Programming in Easy Steps, 3rd ed., 2008.4. Software Engineering - 9 by Ian Sommerville, Pearson, 2010.

Contact Time: 24 hours and 6 hours of C++/Matlab Lab tutorials.

Coursework: Lab assignments and quizzes, C++ project and Matlab project

Examination: 1 Final exam

Breakdown: Lab assignments and quizzes: 20%C++ project: 20%Matlab project: 20%Final exam: 40%