CS 313 - Spring 2017

Programming Languages

Announcements

CS Alumni Seminar Fri 3/24, 12:30pm; Career Q&A 1:30pm, MBH 104

Homework

  1. Homework 0, due Tuesday 2/14. Results.
  2. Homework 1, due Wednesday 2/22. Solutions. Grades. Stories.
  3. Homework 2, due Wednesday 3/1. Solutions.
  4. Homework 3, due Wednesday 3/8. Solutions.
  5. Homework 4, due Wednesday 3/15. Grades. March Madness.
  6. Homework 5, due Monday 3/20 and Friday 3/24. Solutions to part 1.

Lectures & Readings

  1. 2/13 - Course info, introduction   (Ch 1)
  2. 2/15 - Syntax vs. semantics, context-free grammars, expression trees, pre-/in-/postfix   (Ch 2, BNF, #YOCO)
  3. 2/20 - Expression grammars, history of programming languages   (Ch 2.5, Ch 1, Slides: pptx / pdf)
  4. 2/22 - Pascal: basics, types, arrays, examples   (3.1-4, 4.1-4, 15.1, Pascal tutorial, Pascal vs. C)
  5. 2/24 - Pascal: types, records, pointers, examples   (Ch 4.1-4, 4.7)
  6. 2/27 - Pascal pointers, parameter passing, examples   (Ch 4.7, 5.1-2)
  7. 3/1  - Parameter passing   (Ch 5.2-3, worksheet)
  8. 3/3  - Scope; C functions, pointers, arrays, examples   (Ch 5.3-4, 4.8, 15.2)
  9. 3/6  - C structs, strings; activation records, examples   (Ch 5.5-7, figs 5.25, 5.26)
  10. 3/8  - Intro to OO programming and Smalltalk   (Ch 7-7.3, 7.7, 15.4, Squeak, by Example)
  11. 3/10 - More Smalltalk, blocks   (Ch 7.7, 15.4; A Little Smalltalk Ch 1-3, Squeak terse guide)
  12. 3/13 - Defining Smalltalk methods; lab   (Ch 7.7, 15.4; SbE 1, 3, 4, 5)
  13. 3/15 - Defining Smalltalk classes; examples   (Ch 7.7-8)
  14. 3/17 - Smalltalk classes cont'd, IntList; OO programming in Python, examples   (Ch 7.7-8)
  15. 3/20 - OO programming in Python, examples; intro to Ruby, irb log   (Ruby tutorials)
  16. 3/22 - Exam review, more Ruby, examples   (Programming Ruby)
  17. 3/24 - Writing classes in Ruby, examples   (Programming Ruby)

Links