Teaching Computer Concepts to Undergraduate Chemists

Jun 6, 1998 - edited by. James P. Birk. Arizona State University. Tempe, AZ 85287. Despite the huge impact of computers in the chemical sciences, only...
2 downloads 5 Views 58KB Size
Information • Textbooks • Media • Resources edited by

Teaching with Technology

James P. Birk Arizona State University Tempe, AZ 85287

Teaching Computer Concepts to Undergraduate Chemists Ronald S. Haines School of Chemistry, The University of New South Wales, Sydney 2052, Australia

Despite the huge impact of computers in the chemical sciences, only a few papers have described undergraduate curricula for developing computer-related skills in chemistry majors (1, 2). Since 1987 the School of Chemistry at the University of New South Wales has offered a course called Computers in Chemistry. Since the course’s inception the computer hardware and software in common use by chemists has changed enormously—and the course has changed accordingly, with emphasis shifting from programming to computer networks and laboratory exercises moving from Apple II computers to Power Macintosh computers. Aim of the Course It is intended that, after completing the course, students should have sufficiently broad experience with computers that they are capable of making independent progress in solving chemical problems using computers. If the solution to a problem is not immediately obvious they should have confidence that, by reading manuals and experimenting with software, they can either solve the problem or decide on a course of action (for example, selecting a different software package) that will lead to a solution. In other words, they should be self-sufficient in dealing with computers in chemical applications. The scope of the course is broad while, unlike similar courses, its level of detail is limited. This reflects a philosophy that there are certain fundamental concepts which, if understood, give students confidence in their own ability to deal with computers. Consolidating most of the undergraduate computer-related material into a single course allows these underlying concepts to be emphasized, something that would be more difficult were the material spread over several courses. Organization and Structure of the Course The course is run with a one-hour lecture and a twohour laboratory each week throughout a 14-week teaching session. Feedback from students indicates they spend between 1 and 2 hours per week outside of class time reading and working on reports for this course. Typical enrollment is between 10 and 16 students. The laboratory sessions are conducted in a laboratory containing eight Macintosh computers, all of which have Internet access. Six have general-purpose 12-bit analog input/output and parallel digital input/output boards and one has an IEEE-488 interface. Software used in the laboratory sessions includes Microsoft Word (3) and Excel (4), FileMaker Pro (5), Symantec Think C (6 ), SuperScope II (7), LabView (8, 9), Netscape (10), Fetch (11), and Telnet (12). Devices such as multimeters, a plotter, oscilloscopes, spectrophotometers, and other chemical instruments are available in the laboratory and are used in the laboratory exer-

cises. Sufficient laboratory time slots are made available so that each student has individual use of a computer. The course assumes no prior experience with computers. A summary of the course lectures and practical sessions is given below. Introduction to computer hardware: 1 lecture, 1 practical Graphical user interfaces and word processing: 1 practical Programming in C: 4 lectures, 3 practicals Spreadsheets and databases: 2 lectures, 2 practicals Networks, the Internet, and file/data formats: 2 lectures, 1 practical Interfaces and data acquisition: 5 lectures and 5 practicals

Molecular modeling is treated in a separate undergraduate course. The proportion of time devoted to traditional programming has declined since the inception of the course, in contrast to the section about computer networks, which has grown over the last 3 years and will likely continue to expand. The spread of computer networks has also brought with it the increased “mobility” of data, which means that chemists are being exposed to an increasing number of data and file formats. Thus the most recent change to the curriculum has been to discuss data formats such as SMILES for chemical structures, JCAMP for instrumental data, and generalpurpose formats such as text files and JPEG images. Syllabus The introduction to computer hardware covers concepts such as the role of CPU, memory and internal buses, mass storage, and peripheral devices. Emphasis is placed on terms that students will meet when assessing specifications for computer systems, such as the type of CPU, clock speed, bus width, memory, and disk storage. In the practical session students are shown items of hardware (usually from discarded computers) and their operation is explained. They are encouraged to discuss the hardware features of their home computers, and this often leads to the discussion of modems and communications. The laboratory session covering graphical user interfaces establishes a level of confidence in dealing with menus, windows, and dialog boxes. Underlying concepts, such as the paradigm of selecting data and then applying a command chosen from a menu to those data, are emphasized. For students having some familiarity with graphical user interfaces, the practical session formalizes and unifies concepts they may have been vaguely aware of. While few chemists today program in Basic or Fortran, there are now programming environments within much of the routine software that a chemist uses. Spreadsheets and word processors usually incorporate some form of macro or

JChemEd.chem.wisc.edu • Vol. 75 No. 6 June 1998 • Journal of Chemical Education

785

Information • Textbooks • Media • Resources

scripting language, and system-level scripting languages such as AppleScript (13) make it possible for a computer user to link programs to perform complicated tasks automatically. These programming environments all build upon common concepts such as the use of memory to store data, the encoding of data into binary numbers and the limitations this brings to numerical data types, the ways of using and controlling iteration, and input and output operations. The programming section emphasizes these concepts and how chemical problems can be resolved into operations that can be described in a programming language. Examples are taken from chemical calculations including equations of state, stoichiometric and equilibrium calculations, and the aufbau principle. Providing students with templates into which they insert definitions of variables and their executable statements spares them the more arcane aspects of the C language. This minimizes the time needed to get a program running, and most students are able to complete 3 or 4 short programming exercises in each two-hour laboratory session. The database and spreadsheet sections similarly emphasize fundamental concepts, such as the use of absolute and relative references in spreadsheets and the distinction between database design, the design of layouts or forms, and the actual data in a database. The networking portion of the syllabus begins with an overview of network hardware and software. The layered structure of network software is explained and used to rationalize the many combinations of hardware and software that can be found in computer networks. Concepts treated include the need for unique addresses for networked computers (this concept appears again in the data acquisition section when the IEEE-488 and SCSI buses are discussed), the description of networks in terms of protocols, and the separation of tasks between clients and servers. Applications of these concepts are shown in the Internet, and in the laboratory students resolve domain names into IP addresses, transfer files using FTP, use Telnet to connect to remote computers, and use the World Wide Web to search for chemical information. The final section of the course deals with data acquisition, starting with the distinction between analog and digital interfaces. Serial and parallel digital interfaces are described in general terms; then standards for these interfaces are introduced. The laboratory exercises are often exploratory. For example, students view electrical signals from a serial interface on an oscilloscope and are asked to record waveforms and interpret them in terms of the characters they type on the keyboard using a terminal emulator. Parallel interfaces are demonstrated by asking students to measure the voltages on each conductor from a parallel port as they use a simple program to control the interface. Each exercise builds in sophistication until real instruments (such as a spectrophotometer, digital multimeter, and plotter) are controlled via the interface. Analog and digital conversion is demonstrated using voltage sources and oscillators, which the students control while displaying the digital values using simple C programs. The concepts of resolution, conversion speed, and sampling speed are emphasized. A laboratory exercise that involves generating a time-dependent waveform by controlling a digital to analog converter builds upon the C programming taught earlier in the course. Spreadsheets are used to illustrate data averaging and smoothing by having the students add 786

formulas to calculate smoothed and time-averaged values to a spreadsheet that already contains a simulated noisy signal. Assessment of Students’ Performance Assessment of the students’ performance is based on a weighted average of marks from written assignments related to the laboratory sessions (30%) and a written examination (70%). Each laboratory exercise has a list of between 4 and 13 questions, which must be answered in a written report. The questions are designed to test the student’s understanding of the fundamental concepts illustrated in the laboratory session. The final two-hour examination requires students to answer 4 questions chosen from 6. The material on programming is examined by asking questions about complete programs provided in the examination paper. For example, students might be asked to explain the action of a section of a program or write out what a program will print when it is executed. They are not expected to compose programs under examination conditions. Conclusion At the end of the semester, the course is evaluated using questionnaires that offer statements about the course and invite students to express their agreement or disagreement with the statements. Over the last two years more than 85% of the students have agreed with the statement “this subject is relevant to my future career”. They clearly feel that computer skills are essential to their progression in the chemical profession and that courses such as the one described here have a legitimate place in a chemistry curriculum. As students progress through the course it is not uncommon for them to use the laboratory computers out of class time to do calculations and prepare reports for other chemistry courses that they are studying concurrently with the computer course. In our present degree structure, the Computers in Chemistry course is taken in the third year (although there would be good reason to move it forward were time available earlier), and students either graduate or proceed to an honors year after taking the course. Discussions with employers indicate they are generally satisfied with the level of computing skills of our graduates and students who proceed to honors and higher degrees require less computing support than students coming from other backgrounds. Acknowledgment I would like to thank Mike Guilhaus for his contributions to the data acquisition section of the course. Literature Cited 1. Earl, B. L.; Emerson, D. W.; Johnson, B. J.; Titus, R. L. J. Chem. Educ. 1994, 71, 1065–1068. 2. Bowater, I. C.; McWilliam, I. G.; Wong, M.G. J. Chem. Educ. 1995, 72, 31–34. 3. Microsoft Word 5.1 (Macintosh series); Microsoft Corporation: Redmond, WA, 1992. 4. Microsoft Excel 4 (Macintosh series); Microsoft Corporation: Redmond, WA, 1992. 5. FileMaker Pro for Macintosh, version 2.0; Claris Corporation: Santa Clara, CA, 1992.

Journal of Chemical Education • Vol. 75 No. 6 June 1998 • JChemEd.chem.wisc.edu

Information • Textbooks • Media • Resources 6. Symantec Think C, version 7; Symantec Corporation: Cupertino, CA, 1994. 7. SuperScope II, version 1.0; GW Instruments: Somerville, MA, 1993. 8. LabView, version 4; National Instruments: Austin, TX, 1996. 9. Drew, S. M. J. Chem. Educ. 1996, 73, 1107–1111. 10. NetScape Navigator, version 3.01; Netscape Communications Corporation: Mountain View, CA, 1996. 11. Fetch, version 3.01; Dartmouth College: Hanover, NH, 1996. 12. Telnet, version 2.6; National Center for Supercomputing Applications: Champaign, IL, 1995. 13. AppleScript, version 1.1.2; Apple Computer Inc.: Cupertino, CA, 1993–1997.

JChemEd.chem.wisc.edu • Vol. 75 No. 6 June 1998 • Journal of Chemical Education

787