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