Applied computing in civil and environmental engineering contexts, including physical systems modeling, graphics and visualization, and data management. Program development using contemporary tools and strategies. Computer architecture fundamentals, theoretical and practical issues affecting memory use and performance. Offered: W.
Student learning goals
Understanding of the concepts given in the class description and being able to use these tools and skill sets to improve the performance and efficiency of parametric studies for your own research.
We will be generating an object oriented tool set which can be used as the basis for your on-going research activities.
You will have a better understanding of differences and similarities between different hardware and operation systems. This knowledge will help you select the best platform/environment for your specific research problems.
General method of instruction
Two (2) hours out of the weekly three (3) hours will be lecture type introduction of new concepts. The third (3rd) hour will be supported hands-on, group oriented work in a computer lab. Homework will require various levels of scrip/software development.
The topics will be combined such that the entire class as a group (or groups) will create a prototype for a generic parametric study of engineering/science problems which require the use of random input variables (parametric studies; Monte Carlo simulations). The prototype will be developed first for a single machine environment and gradually adapted for a distributed computing environment to emulate real research conditions. Process control and data collection will be linked to an SQL database system. Data processing will ultimately be linked to a real time evaluation and web presentation interface for remote process control.
Basic computing skills and simple programming in matlab, python, or any other programming language are most helpful but not required. We will create groups such that the average background knowledge is about the same for all groups. You should be willing to read/browse through some programing manuals - this class cannot deliver ALL details of any programming/scripting language.
Class assignments and grading
No conventional final exam will be given. Instead, each group has to develop their prototype throughout the quarter and give an interim presentation (replacing the midterm) and a final presentation and documentation (replacing the final exam).
Functionality and reliability of the prototype package; Anonymous vote (all participants) on two in-class presentations.