ECE 650K - Scientific Simulator Code Development
Note:
This course will provide one formal lecture per week supplemented with an informal recitation session. Students are encouraged to bring their own software project into the class and use the taught technologies in it. Alternatively the instructors will provide existing software projects. A few lectures such as debugging and optimization will utilize instructor provided sample codes. There will be no formal exam. Students will work alone, and will be graded on the skills demonstrated through the development, functionality, scalability, performance, documentation, usability, and robustness of their software project.
Course Details
Lecture Hours: 1 Credits: 1
Counts as:
Experimental Course Offered:
Catalog Description:
Students will learn how to develop, debug, optimize, test, maintain, and deploy scientific simulation codes. Assignments will involve writing, debugging, and optimizing both serial and parallel versions of algorithms in C and MATLAB and develop user interfaces for data handling.
Required Text(s):
None.
Recommended Text(s):
- MatLab: Student Version , The MathWorks, Inc.
- The C Programming Language , 2 Edition , D. Ritchie and B. Kernighan , Prentice-Hall , 1990 , ISBN No. 8120305965
Lab Outline:
Lecture | Topic(s) |
---|---|
1 | Using source code control (Subversion) and documentation systems (oxygen) |
1 | Review of MATLAB concepts and syntax |
1 | Review of C language concepts and syntax |
1 | Using the Rapture toolkit for Graphical User Interfaces (GUIs) |
1 | Debugging techniques |
2 | Code optimization in C and MATLAB |
1 | Integrating C code into MATLAB |
2 | Writing parallel codes with MPI |
2 | Introduction to PETS library for PDE solution |
1 | Using the HDF standard for data storage |
1 | Using XML for data storage |
1 | Regression testing |
Recitation sessions |
Assessment Method:
none