### CSC 113 - Introduction to Computing - MATLAB

Catalog Description:
Problem solving through writing MATLAB programs. Particular elements include: careful development of MATLAB programs from specifications; documentation and style; appropriate use of control structures, data types and subprograms; abstractions and verification; engineering applications. Most seats reserved for Aerospace, Mechanical, and Biomedical Engineering majors.
Contact Hours:
• Lecture: 2 hours
• Lab: 3 hours
Prerequisites: None
Co-requisites: E115 or COS100 and MA121 or MA131 or MA141
Restrictions: None
Coordinator: Dr. Lina Battestilli
Textbook: None

Course Outcomes:
Upon successful completion of this course, a student will be able to

1. Apply computational, critical and creative thinking skills in the process of solving problems and expressing their solutions
2. Analyze a wide variety of problems and design solution algorithms with applications to engineering.
3. Document and comment computer programs so that they are readable and well styled.
4. Implement computer programs based on pre-specified requirements and design (structure, algorithms and  specific functions)
5. Test and debug computer programs to verify and validate their correctness.
6. Identify the need and use control structures, different data types, strings, various data structures and various inputs/outputs in a computer program.
7. Create and customize various 2D/3D plots and animations based on given input data
8. Work with data from/to input/output files
9. Be able to write/test/execute user-defined functions with multiple and/or variable number of input/output arguments.
10. Be able to work with images, sound, Graphic Objects  and basic Matlab GUIs
11. Be able to solve basic symbolic, numeric and linear algebra problems.
12. Reflect on your own thinking and the thinking of others

Topics:
• Arrays and Array Operations
• Variables, Expressions, Data Types, Scripts
• Built-In Functions
• Input/Output to Command Window
• 2D Plots
• Boolean Math, Boolean Variables
• Conditional Logic (if/else, switch/case)
• Logical Built-In Functions
• Loops: for, while, nested
• Vectorization and Code Efficiency
• User-Defined Functions
• Program Design & Debugging & Testing
• Strings Manipulation, char Arrays, Strings
• Cell Arrays
• Structures, Structure Arrays
• File Input/Output
• Anonymous Functions, Functions with Variable inputs/outputs