Pharm Chem 204 is intended to introduce students not merely to the coding of computer programs but to the overall principles of good program design and software engineering, using the Python programming language for illustration. Students will have access to campus Interactive Learning Center (ILC) facilities for carrying out homework assignments and a final project.Lectures emphasize object-oriented programming concepts and the design of algorithms and related data structures. Much of the effort is devoted to problem decomposition and principles of program design. Numerical algorithms are a relatively small part of the instruction, and mathematical sophistication is not required. Rather we promote the use of fundamental principles from computer science such as designing effective data structures for representing data and writing efficient code modules that are extensible, maintainable, and reusable. Although the Python programming language is utilized for providing examples and doing homework assignments, the principles taught are readily applicable to other modern programming languages.
At the end of the course students should:
- Understand the principles of object-oriented programming and the interplay of algorithms and data structures in well-written modular code;
- Be able to write well-documented programs in the Python language, to make use of the logical constructs of that language, and to debug these programs;
- Have significant experience with the Python/Idle program development environment.
No explicit prerequisite course work is required, but students are expected to have a fundamental understanding of basic computer principles and previous experience using a personal computer.Although not a requirement, it is preferable for students to have access to a personal computer (Windows or Macintosh) with sufficient administrative privileges so that a current version of Python can be installed. If you have a personal computer, you can find out where to get Python by reading this section of the PC204 Frequently Asked Questions (FAQ) web page. Students who do not have a personal computer should read this section of the FAQ web page.
See course materials.