
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