Some concepts that helped my development (intellect and code):
- Lexing, Parsing, String matching, Regex
- Memoization
- encapsulation/scoping/closures
- caching
- Recursion
- Iterators/Generators
- Functional programming - John Hughes' amazing article had me at "why"
These are whole domains of discrete math, but a serious introduction is required for CS:
- Matrix/Linear Algebra
- Graph Theory
Although lectures and articles by Mark Jason-Dominus are often directed to Perl hackers, I think any programmer would benefit from his clear presentation and real code, especially in Higher Order Perl.