**ES 314
Advanced Programming Fall 2008**

** Outline of the course:**

This course will provide the background in
computer programming and software development skills needed for the remainder
of the BS-ES curriculum. The course will cover two broad areas – one that includes non-numerical
programming and basic data structures. The other includes simulation and
modeling. Each unit will be approximately five weeks long. In the last four
weeks, we will present some case studies that integrate the topics covered
during the first 10 weeks.

**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: *Co-requisites: *MATH 345: Probability
Theory and ES 220: Electric Circuits, or consent of instructor.

**module****
1: Data Structures**

**
Instructor: ** Bala Ravikumar

116 I, Darwin Hall

Office Phone: 664
3335

E-mail: ravi93@gmail.com

**
Goals of the module: **

- Cover some advanced features of
C++ such as recursion, classes and pointers.
- Introduce linear data structures
such as arrays, lists, stacks and queues
- Present applications of these data
structures
- Introduce efficient searching
based on hashing
- Present some basic sorting
algorithms

**
Text Book:**

** Algorithms, Data Structures and Problem
Solving Using C++**
by Mark Weiss

**
Chapters covered: **

Parts
of chapters 1, 2, 6,
7, 8, 11, 15 and 16

Week 1: arrays, pointers and structures (Chapter 1)

Week 2: image processing, recursion

Weeks 3 and
4: stacks, queues and lists (Chapters 6,
11, 15 and 16)

Week 5: hashing and sorting (Chapters 6 and 8)

** Evaluation of the module:**

- One mid-semester test at the end
of the unit
40 points

- Two programming projects 60 points