Introduction to Perl for Biologists, PLPTH 750

Department of Plant Pathology, Kansas State University

Home page
Schedule


Schedule for 2009

Books, WWW tutorials, and code editors

Lec
Date
Topic
Problems
1
1.20
Course organization
Elements of a programming language
Scalars and arrays
Problem set 1
2
1.27
Perl terminology: blocks, statements, expressions
More scalars and arrays
Logical, arithmetic, and unary operators
Hashes (associative arrays)
Problem set 2
3
2.3
Control structures: conditional expressions and loops
Pseudocode
Problem set 3
4
2.10
Subroutines and parameter passing
Problem set 4
5
2.17
Writing readable code
Variable scope
Problem set 5
6
2.24
String and array operations
Problem set 6
7
3.3
File reading and writing (IO operations)
Problem set 7
8
3.10
Regular expressions
Problem set 8


BREAK

9
3.24 References
Problem set 9
10
3.31 More fun with references Problem set 10
11
4.07 Sorting and function references
Problem set 11
12
4.14 Using modules to collect reusable subroutines
Problem set 12
13
4.21 Algorithm development
Project design document due by 4.28
Sample projects may be found here
Problem set 13
14
4.28 Algorithm development
Problem set 14
15
5.05 Review and class exercises No problem set


Final project due Friday 5.15

Cholla in old lava flow

  • The readings listed below will all give you the same ideas in different words. I encourage you to use them frequently, even while working the problems -- but only when you get stuck, not as a replacement for thinking. Don't copy from them any solutions to the specific problems. You must learn Perl, not just copy it.
  • Never (during this course, anyway) use a Perl trick that is not based on material presented in lecture or a problem set.
  • All of these sources will present the features of the language in about the order in which we'll study them, so you'll have no trouble finding an appropriate section to study.

Books

No books are required, but these are good for reference.
Learning Perl, 5th ed. Schwartz et al., O'Reilly.
Programming Perl, 3rd Ed. Wall et al., O'Reilly.
Perl Programming for Biologists, Jamison, Wiley

WWW tutorials

Introduction to Perl Programming
Getting Started With Perl
Essential Perl
Weizmann Institute course taught by Jaime Prilusky

Text editors that are much nicer for writing programs than Notepad

These editors will do syntax highlighting, autoformatting, line numbering, sometimes syntax checking, and many other useful things that the basic text editor that comes with your operating system doesn't.

For Windows: Open Perl IDE
For Mac OS X: TextWrangler
For any OS: Eclipse with EPIC Perl plugin (I use Eclipse, but it takes some learning)