I590 Programming for Chemical Informatics

The class is designed to give students a thorough understanding of all aspects of software development for chemical informatics, as well as a broader experience of working in a small scientific computing group. Topics include programming for the web, drawing and depiction of chemical structures in 2D and 3D, chemical informatics toolkits, software APIs, artificial intelligence and machine-learning algorithm development, high performance computing, database management, managing a small software development group, and design and usability of chemoinformatics software. Special lectures will also be given by invited guests from the chemical informatics software industry. The coursework will involve collaborative development of a chemical informatics software system..

The 2004/2005 course is now ending. Stay tuned for news of the class in 2005/2006.

COURSE DETAILS

When: Tuesdays and Thursdays, 11.15am-12.30pm
Where: Informatics I-232 (Bloomington), Walker Conference Room (IUPUI)
Registration: Course code 26392 (Bloomington), 26476 (IUPUI)
Tutor: Dr. David Wild , djwild@indiana.edu

REQUIREMENTS

Students should have completed the C571 Chemical Information Technology course, as well as having a basic understanding of chemistry and a experience in programming and software development. Students should be familiar with the C, C++, Perl and Java programming languages, with strong programming skills in at least one of them.

PROVISIONAL COURSE TOPICS

Chemistry interfaces and toolkits: Programming with the BCI Toolkit; Programming with the Daylight Toolkit; Spotfire API; Chemaxon Tools; Chemistry programming with Python

Client/Server & Web systems: PERL/CGI programming; HTML for chemical informatics; Microsoft .NET programming; Java applets and applications; Designing web-based software; Using plug-ins; XML and CML

High Performance Computing: Linux Clusters; Parallel programming with MPI; Parallel programming with Pthreads; Grid computing

Programming topics : Programming AI systems; Unix and chemical informatics; Chemical database design & implementation; 2D & 3D depiction; Running a small software development group

Return