Syllabus
1. Introduction to MATLAB
a. Basic Data Types
• Numeric, Boolean, Characters
b. Data Structures
• Arrays (Vectors, Matrices and Multi-arrays)
• Strings
• Structures
c. Basic Operations
• Numerical Expressions
• Array Operations (in MATLAB)
• Scripts
2. Programming (Imperative)
a. Program Control
• Sequential Execution
• Conditional Execution (If)
• Cycles (For, While)
b. Functions
• Nested and Recursive Functions
c. Input-Output
• Operation Systems and File Types
• Text Files (Reading from / Writing to)
• Basic Text Processing
3. Algorithms
a. Search in Arrays
• Sequential (unsorted arrays)
• Bipartite (Sorted Arrays)
• Complexity Analysis
b. Sorting algorithms
• Bubble, Insertion, Quick and Merge Sort
• Correctness and Complexity
c. Simulation
• Random Variables and Processes
• Automata (State and Transitions)
d. Graph Algorithms
• Test for Connectedness
• Minimum Spanning Trees (Prim)
• Shortest Distances (Floyd-Wrashall)
• Correctness and Complexity
4. Introduction to Databases
a. Relational Databases
• History and Applications
b. Modelling and Design
• Entities, Attributes and Keys
• Entity-Relational Model
• Relational Algebra (Brief Introduction)
c. Normalisation
• Functional Dependencies
• Closures
• Normal Forms
d. Querying Relational Databases
• SQL - Structured Query Language (DDL and DML)
• Queries - Joins, Aggregation Functions, Views
• Consistency; Triggers