CS 205 Intro. Computational Programming & Viz
Spring Semester 1998

Dr. Kris Stewart (stewart@cs.sdsu.edu)
San Diego State University
Education Center on Computational Science & Engineering,
Love Library Addition #73 ("Under the Info Dome")

return to Kris' Home Page

Module for STEP high school program 1993

This URL is http://www.stewart.cs.sdsu.edu/cs205/noframeaccess.html
which can be selected from www.stewart.cs.sdsu.edu/cs205/ as the No Frames Version.

Initial Description of Course
Goals: Introduce
  1. Programming (in C within MATLAB)
  2. Scientific Computing and Problem Solving
  3. Computational Science Tools
              * Internet (email & WWW info servers)
              * Xwindows environment
              * Computation using MATLAB
              * Graphics using MATLAB 
    
  4. How to validate computed results
  5. Communication Skills
Text: Introduction to MATLAB for Scientists and Engineers, D. Etter Prentice-Hall

The three-legged stool of computational science links theory (traditional classroom), experimentation (science laboratory) and computational analysis (computer laboratory). This course introduces and develops the skills for the computer laboratory.

MATLAB provides a programming platform in a language closely related to C, as well as a graphics platform for displaying the results of computations. Modular programming problems will allow students to focus on individual tasks in the software development cycle. The tools provided by MATLAB to aid with the user interface are used extensively to provide a way to develop programs that will run on several computing platforms, from the Macintosh and IBM/PC to the Sun Sparc Workstation.

Problem solving skills will be developed through computational experiments. Writing skills will be enhanced through the student's written lab reports.

Calendar for class Spr1998
Module 1 (Jan. 27)
This module provides an introduction to the Xterm Lab BA-113
First Programming Assignment
Discussed in lecture on Feb. 2, this assignment was due Feb. 9 and involves the use of the disp, input and fprintf MATLAB commands for Input and Output.
Module 2
This module provides an introduction to Programming
Module 3
This module provides an introduction to User Defined Functions
Module 4
This module introduces modular programming and presents the Second Programming Assignment (due March 2)
Module 5
This module introduces programming logic, loops, selectoin statements and explores the accuracy of floating point arithmetic in the Apply section.
Midterm March 4
Sample midterms were provided and examined in lecture to provide a background for student to student from.
Module 6 (March 9)
This module shows how to access MATLAB online documentation, from the Xterm Lab (using doc) and, more importantly, from anywhere through a Web Interface using your Rohan account and password.
Module 7 - Review Language Constructs and work with Strings (March 11)
This modules reviews the some of the language constructs we have look at this semester. It also builds on the materials available online, which we looked at Monday.
Module 8: MATLAB Strings March 16, 1998
Graphics are important, but you must be able to label the images in a descriptive manner so that their importance is quickly recognized by the audience. This with involved manipulating Character Strings.
Module 9: MATLAB Graphics March 18, 23, 25, 1998
Advanced graphics capabilities which we will explore through example scripts and viewing their output in the Xterm lab.
Third Programming Assignment March 25, 1998
This assignment asks you to model reforestation given a function which describes the regeneration rate. The results will be displayed by means of several graphics representations.
Module 10: Vectorization of Code April 1, 1998 (and April 13/15)
Vectorization of code refers to replaced do-loop constructs by a single reference to a vector and using the MATLAB operations that work on whole vectors (and 2D matrices) in a single operation.

Spring Break - April 6-10

Module 11: Symbolic Mathematics April 13, 1998 (updated April 20)
Another powerful capability of MATLAB is for symbolic manipulation of mathematical constructions using the built-in software package Maple. Taking the integral of sine(x), taking the derivative of a function are sampple operations that are possible.
Module 12: Low Level File I/O April 27, 29
We have focussed on high-level operations with vectors and graphics. It is now time to explore the organization of output data to a file and the manipulations that you can perform.
Advanced Programming Techniques and their Applications to scientific problem solving. May 1998.
Prep for Second Midterm (part of comprehensive Final Exam)
Midterm2 with answers
Final Exam - May 15, 4pm - 6pm
The final exam will be taken from the "Second Midterm" listed above.