Week 1- Organizational matters
- Software requirements
- Introduction
- Scott, Chapter 1
Week 2Week 3Week 4Week 5Week 6- Test 1 discussion
- Presentations: ML, Haskell
Week 7- Brief presentation: Amentra/Red Hat
- Project 1d discussion: beta-substitution and lazy evaluation
- Presentations: Scala, Prolog
Week 8- Project 1d discussion: beta-substitution and lazy evaluation
- Algebraic view of list operations (further examples of making recursion more systematic)
- Presentation: JavaScript
Week 9- Tree iterators
- Infinite streams
- Presentation: Perl
- Test 2
Week 10- Project 1e discussion
- Type systems
- strong versus weak
- static versus dynamic
- type safety and type erasure
- Scripting languages
- Presentations: Ruby, Groovy
Week 11- Tree depth wrap-up
- Type systems wrap-up
- Concurrency
- Presentations: Ada, Erlang
Week 12- Concurrency
- Examples
- Test 3
Week 13- Test 3 brief discussion
- Project 2 discussion
- event-based notification (for progress reporting)
- threads and thread pools versus tasks or activities
- Concurrency
- Examples
- Presentation: XQuery
|
|