This course is intended to assist undergraduates with learning the basics of programming and using them to solve some basic numerical problems in general and programming MATLAB in particular.
Prerequisite(s)
Corequisite(s)
Special Requisite(s)
Instructor(s)
Course Assistant(s)
Schedule
Office Hour(s)
Teaching Methods and Techniques
Principle Sources
Other Sources
Course Schedules
Week
Contents
Learning Methods
1. Week
Course Introduction and Syllabus
oral presentation, laboratory
2. Week
Getting used to the environment, algorithms, pseudo-code
oral presentation, laboratory
3. Week
Tracing a program/algorithm step-by-step, debugging with breakpoints and print statements
oral presentation, laboratory
4. Week
Divide and conquer
oral presentation, laboratory
5. Week
MATLAB Variables, Data Types
oral presentation, laboratory
6. Week
Conditional program flow (if)
Iteration / Looping (while)
oral presentation, laboratory
7. Week
Solve a problem for one case, then iterate
(Take care of middle, then first and last)
oral presentation, laboratory
8. Week
Midterm
written examination
9. Week
Functions, Abstraction and Encapsulation
oral presentation, laboratory
10. Week
Planning a large program, working with stubs
oral presentation, laboratory
11. Week
Working with Sound and Images
oral presentation, laboratory
12. Week
Reading and Writing files
oral presentation, laboratory
13. Week
Recursion, Compression
oral presentation, laboratory
14. Week
Other topics from the text as time permits.
Selected articles from other sources.
oral presentation, laboratory
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
20
Quizzes
1
10
Homework / Term Projects / Presentations
4
20
Project(s)
1
20
Final Exam
1
30
Program Outcomes
PO-1
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4
Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5
Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7
Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9
Awareness of professional and ethical responsibility.
PO-10
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11
Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1
Understand basic foundations of computer programming
LO-2
Have a basic understanding of how engineers use computers to numerically solve
programs
LO-3
Have a basic understanding of how to test and debug computer programs
LO-4
Have the ability and an appreciation for good documentation of computer programs
LO-5
Understand basic algorithms for (1) numerical integration, (2) numerical differentiation,
(2) curve fitting, (3) solution of simultaneous linear equations and (4) numerical solution
of ordinary differential equations
LO-6
Have a reasonably good knowledge of the MATLAB programming environment