Sonoma State University, Engineering Science Department


ES 314 Advanced Programming, modeling and simulation                                                                  Fall 2009


Instructor:  Bala Ravikumar, Department of Comp Science and Engineering Science

                    116 I, Darwin Hall, Office Phone: 664 3335


                    Office Hours:   Tue 1 – 2, Wed 11 – 12



Catalog Description of the course:


Lecture: 4 hours; laboratory: 0 hours. Pointers and dynamic allocation of storage; linked lists; an introduction to the object oriented programming (OOP) paradigm; classes and objects; encapsulation; member variables and member functions. Static arrays, dynamic arrays, stacks and queues, linked lists, hashing. System modeling techniques and applications such as generation of noise (random numbers) and correlated signal with different pdfs, measurement of statistical parameters like moments, queuing systems and system simulation.


Prerequisite: CS 115: Programming I. Co-requisites: MATH 345: Probability Theory and ES 220: Electric Circuits, or consent of instructor.


Goals of the course:  To introduce software design for engineering applications through MATLAB programming, computational modeling of physical systems and software simulation of such systems.


Specifically, the following topics will be covered:


·         MATLAB programming   iteration, library and user-defined functions, scripts,  structured data and objects, image and audio files, plotting and visualization, recursion, project design and development.

·         performing statistical analyses of data

·         fundamental algorithms for sorting, searching, solving system of equations etc.

·         recursion

·         computational modeling

·         simulations of physical systems and models

Text Book:

       INCLUDEPICTURE "" \* MERGEFORMATINET      Kaplan, Daniel T. Introduction to Scientific Computation and

                              Programming, Brooks/Cole-Thomson Learning, 2004.


      Additional materials (on modeling and simulation) may be provided as needed.


Topics covered:


  • course overview    
  • Matlab programming basics
  • simple data types   
  • matrices, mixed data types
  • files and scripts 
  • functions, basic numerical algorithms  
  • control flow (loops and conditionals)  
  • searching  and databases
  • Introduction to probability theory
  • Modeling stochastic systems
  • Random variables, discrete event simulation
  •   Audio signals and basic signal processing algorithms
  •  Case studies in modeling and simulation




  • short quizzes:  ~10 points

         There will be a quiz almost every class. Duration: 10 to 15 minutes.


  • programming assignments and projects:    ~40 points

          Most of the assignments will involve problem solving and implementing the solution using MATLAB. There may be a final project chosen by each student individually.


  • mid-semester tests (2):   ~25 points In-class, may or may not be open book depending on your choice.


  • final examination:  ~25 points

This exam will be in-class and comprehensive. It will take place at the time scheduled by registrar’s office. Please see the web link:  HYPERLINK ""


Online resources:


There are numerous tutorials and notes on MATLAB. Many of them in the form of video lectures are especially recommended. contains videos for beginning mathlab programmers. The website contains links to several tutorials.