0% found this document useful (0 votes)
3 views

CS211 Course Outline

The document outlines the course structure for Applied Computing (CS211) at The Copperbelt University, focusing on algorithmic thinking and software development skills necessary for engineering problem-solving. It includes prerequisites, learning outcomes, course content, and recommended resources, emphasizing hands-on programming with MATLAB. Students will learn to develop algorithms, debug programs, and create graphical user interfaces among other skills.

Uploaded by

jaymwenya321
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

CS211 Course Outline

The document outlines the course structure for Applied Computing (CS211) at The Copperbelt University, focusing on algorithmic thinking and software development skills necessary for engineering problem-solving. It includes prerequisites, learning outcomes, course content, and recommended resources, emphasizing hands-on programming with MATLAB. Students will learn to develop algorithms, debug programs, and create graphical user interfaces among other skills.

Uploaded by

jaymwenya321
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

THE COPPERBELT UNIVERSITY

SCHOOL OF ENGINEERING

APPLIED COMPUTING (CS211) COURSE OUTLINE

BACKGROUND AND RATIONALE


To enable students develop skills in algorithmic thinking and software development to automate
solution of engineering problems programmatically in downstream courses and future industrial
work. Further, the course equips students with skills necessary for the analysis and visualisation
of experimental results.

PREREQUISITES
Students are expected to have background in CS110 and a good knowledge of mathematics and
physics at freshman-level. No prior programming knowledge and experience is assumed.

REQUIREMENTS
As lectures will involve hands-on programming exercises, each student is required to have a
laptop with access to MATLAB.

LEARNING OUTCOME

At the end of the course, students should be able to: -

1. Explain the software engineering lifecycle and models of software development.


2. Debug programs.
3. Perform basic variable and array operations.
4. Apply flow control and iteration constructs when solving engineering problems
programmatically.
5. Use functions to develop programs that are designed for reusability and easy
maintenance.
6. Use comments for program documentation
7. Represent engineering problems in computable forms and develop algorithms for their
solution.
8. Develop and analyse algorithms using pseudocode and flowcharts.
9. Translate pseudocode into executable MATLAB programs.
10. Generate plots to visualize technical data.
11. Build and run models of physical systems using Simulink.
12. Write functions to open, close, read and write data to files.
13. Develop graphical user interfaces to facilitate interactive data manipulation and
visualisation.
14. Apply software engineering lifecycle principles and models of software development to
implement programming projects (Capstone project).

COURSE CONTENT

1. Introduction to engineering computation


1.1 Principles of software engineering design
1.2 Models of software systems development
1.3 Components of software systems development
1.4 Modular program development
1.5 Debugging programs

2. Getting started with Matlab


2.1 Advantages and disadvantages of Matlab
2.2 Installation of Matlab
2.3 The Matlab Environment
2.4 Using Matlab as a Scratch pad

3. MATLAB Basics
3.1 Variables and arrays
3.2 Initialising variables in Matlab
3.3 Multidimensional arrays
3.4 Sub arrays
3.5 Displaying output data
3.6 Data files
3.7 Scalar and array operations
3.8 Hierarchy of operations
3.9 Evaluation of linear simultaneous equations
3.10 Introduction to plotting

4. Branching statements and program design


1.1 Introduction to top-down techniques
1.2 Use of pseudocode
1.3 Use of flow charts
1.4 The logical datatype
1.5 If- construct
1.6 Nested If-construct
1.7 Switch construct
5. Iterations
14.1 While loop
14.2 For loop
14.3 Nested loops

6. User defined functions


6.1 Introduction to Matlab functions
6.2 Variable passing
6.3 Optional arguments
6.4 Sharing data using global memory
6.5 Preserving data between calls to a function
6.6 Subfunctions and Nested functions

7. Introduction to Simulink
7.1 The Simulink environment
7.2 Basic mathematical operations using simulink
7.3 Building and running a simple Simulink model
7.4 Saving data to matlab workspace
7.5 Importing data to a Simulink model
7.6 Grouping blocks

8. Introduction to file input and output operations


8.1 Create or open a table
8.2 Add and delete table rows
8.3 Add and delete table variables
8.4 Modify units, descriptions, and table variable names
8.5 Access data in a table
8.6 Calculations on tables
9. Matlab data visualisation
9.1 Plot histograms and bar charts
9.2 Plot pie charts
9.3 Plot scatter plots
9.4 Three dimensional plots
9.5 Mesh and surface plotting
9.6 Contour plots
9.7 Three-dimensional quiver plots

10. Engineering Applications


10.1 Analysis of an electrical circuit
10.2 Structural analysis of a cantilever truss
10.3 Solution of single-variable equations by bisection method
10.4 Fitting a line to a set of noisy measurements
11. Introduction to Graphical User Interface development
11.1 How graphical user interfaces work
11.2 What is a UI?
11.3 What is GUIDE?
11.4 Layout a UI using GUIDE
11.5 Save and Run a GUIDE UI
11.6 Programming a GUIDE UI
11.7 Examples of GUIDE UI

RECOMMENDED TEXTBOOKS AND RESOURCES

1. Stephen J. Chapman, MATLAB programming for Engineers, 4th Edition, (2008),


Thomson.

2. Mark A. Austin, Engineering Programming in MATLAB: A Primer, (2000), Austin.


3. S.R. Otto and J.P. Denier, An Introduction to computing and numerical methods in
MATLAB, (2005), Springer.
4. Abdelwahab Kharan and Ronald B. Guenther, An Introduction to Numerical methods: A
MATLAB approach, 4th Edition, (2019), Taylor and Francis group.
5. Stormy Attaway, MATLAB: A practical introduction to programming and problem-solving,
(2017), Elsevier.
6. MathWorks, MATLAB: The Language of Technical computing (Computing, Visualisation
and programming), (2005), MathWorks.
7. MathWorks, MATLAB: Creating Graphical User Interfaces, (2015), Mathworks.
8. MathWorks, MATLAB, (2021), MathWorks,
https://www.mathworks.com/learn/tutorials/matlab-onramp.html.

You might also like