Description: Description: Description: http://www.cs.sonoma.edu/~ravi/ces512/image9Q6.JPG   Sonoma State University, Engineering Science Department

 

ES 314 Advanced Programming, Simulation and Modeling                                                                                                           Fall 2012

 

Instructor:  Bala Ravikumar, Department of Engg Science

                        116 I, Darwin Hall, Office Phone: 664 3335

                       E-mail:  ravi93@gmail.com

 

Lecture Hours:   M W 8 to 9:50 AM

 

Office Hours:    M 12:30 to 2, T 12 – 1 and by appointment

 

 

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 simple physical 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 systems of equations etc.

·         computational modeling  - deterministic as well as stochastic system will be modeled.

·         simulations of physical systems and models.

Text Books:

 

  Description: Description: Description: http://cs.wellesley.edu/~cs112/images/image003.jpg   Introduction to Scientific Computation and

                              Programming, Kaplan, Daniel T. , Brooks/Cole-Thomson Learning, 2004.

 

     

  Insight through Computing by van Loan and Daisy Fan. Society for Industrial and Applied Mathematics, 2010.

 

Additional materials (on modeling and simulation) will be provided. Specifically, some chapters from Sheldon B. Ross’ Simulation will be used.

 

Schedule: (tentative week by week coverage of topics)

 

Week

Topic

Reading

1

  course overview

 Ch 1 and 2 of [K]

2

   Matlab programming basics

  • simple data types
  • matrices, mixed data types

 Ch 3 and 4 of [K], Ch 1 – 4 of [LF]

3

   Files and scripts

 Ch 5 of [K]

4 - 5

   Functions

 Ch 6 of [K]

6

   Control flow

  • conditionals
  • loop

 Ch 7 and 8 of [K]

7 - 8

   Numerical algorithms and optimization

 Ch 15 of [LF]

9

   Search, Recursion and trees

 Ch 10 and 12 of [K], Ch 9 of [LF]

10

   Audio signal processing

 Ch 13 of [K], Ch 13 of [LF]

11

   Image processing

 Ch 14 of [K], Ch 12 of [LF].

12 - 13

   Probability, random variables, random number generation

 Ch 1 – 4 of [R], Ch 6 of [LF].

14

   Discrete event simulation

 Ch 6 of [R]

 

Grading:

 

  • short quizzes:   5 to 10 points

         The quizzes will be in-class and will be given during most lectures.

 

  • programming assignments and projects:    40 to 50 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. Some of the projects done in the past years include visual simulation of cellular automaton, printed character recognition, recognizing the genre of music by signal processing, create a user interface for opening, editing and saving images, an audio-player through which you can play, edit music etc.

 

  • mid-semester tests (2):    20 to 25 points

Usually one mid-term is in-class and the other one is take-home. The in-class mid-term will have two sections – an open-book section and a closed-book section.  For the open-book part, you can also use the computer to implement and test your Matlab program.

 

  • final examination:           20 to 25 points

This exam will be in-class and comprehensive. It will take place at the time scheduled by registrar’s office. The date and time can be found from the web page: http://www.sonoma.edu/university/classsched/finals_sched.pdf

 

Online resources:

 

There are numerous tutorials and notes on MATLAB. Many of them in the form of video lectures are especially recommended. A major web site is http://www.mathworks.com, the site of the company that authored the language.

 

Some other useful links are:

       http://www.math.utah.edu/lab/ms/matlab/matlab.html 

        http://amath.colorado.edu/computing/Matlab/Tutorial/

        http://www.math.utah.edu/lab/ms/matlab/matlab.html

 

Some books on Matlab that you can access from Mathworks web site: