| BMI-280/BMI-219 – Scientific Software Development |
Spring Quarter – Mission Bay Campus – May 11-29, 2009 / 1-3pm / GH-S204 |
Course Description:
Many scientists and engineers spend much of their lives programming, but only a handful have ever been taught how to do this well. As a result, they spend their time wrestling with software instead of doing research, with little idea how reliable or efficient their programs really are. This course is an intensive introduction to basic software development practices for scientists and engineers. The goal is to provide scientists with the skills needed to create more reliable and maintainable programs while reducing the time spent on programming.Course Objectives:
Create more reliable and maintainable computer programs Demonstrate a reduction in the time spent on programming by 20-25% Demonstrate proficiency in use of software development tools and methodolgy Course Outline:
Note: This course is configured as an intensive 3-week offering in Block 3 of the UCSF spring quarter "mini-course" curriculum. If you are taking other mini-courses spring quarter, then you sould register for the entire quarter of courses as "BMI-219." If you are only taking this course and no other mini-courses during the quarter, then register for this course as "BMI-280."
Week 1: Mon – Lecture: Course introduction and data modeling Tue – Lecture+Lab: Shell basics and shell programming Wed – Lecture: Relational database technology Thu – Lab: Database programming and regular expressions Fri – Lecture: Web client data model (XML/XHTML/CSS/DOM) Week 2: Mon – Lecture: Web client programming (HTTP/Forms/JavaScript) Tue – Lab: Web client development Wed – Lecture: Web applications (CGI/JavaScript/AJAX) Thu – Lab: Web application development Fri – Lecture: Software development tools (version control, automated builds, defect tracking) Week 3: Mon – Memorial Day Holiday: no class today Tue – Lecture: Software development techniques (quality assurance, debugging, optimization) Wed – Lecture: Web security Thu – Lab: Team project development Fri – Lecture: Team project presentations**This course is offered Pass/Fail only. Grades are based on team projects developed throughout the quarter.
Other Important Details...
Instructors:Tom Ferrin (TEF - faculty coordinator)
Conrad Huang, Ph.D. (CCH)
Scooter Morris, Ph.D. (JHM)Office hours by appointment.