May 1: The final review sheet is posted. Note that this is a preliminary version! Please check back on Saturday to be sure it has not had any questions added. (The same link will work; I will just transfer a newer pdf if I update it.)
April 24: The final homework, covering prolog, is now posted on the homeworks page. It will be due on Friday, May 2, by midnight; please submit via git.
April 22: Apologies, but someone just reminded me that I never posted the links to the articles! The primary two are Why Functional Programming Matters and Can Programming Be Liberated from the von Neumann Style?. I also found a nice more recent analysis of the second which is a more modern (and possibly easier) read on his arguments, for those struggling with the context and style.
March 29: Given my upcoming travel, I went ahead and posted the next couple of homeworks a bit early on the homework page (although you don't need to start them immediately). Homework 9 will be due on Sunday April 14, and homework 10 (the essay on functional programming) will be due on April 24.
March 27: Homework 8 is now posted (on the homework page); it will be due by Sunday, April 7, at midnight.
March 22: Homework 7 is now posted (on the homework page); it will be due next Friday by midnight via git.
March 15: To get you warmed up for functional programming, here is a nice essay on how to dive into the FP mindset. See you all for Haskell fun after the break!
March 1: Homework 6 is now available on the homework page; it will be due on the Wednesday after spring break, March 20, by 11:59pm (via email) - you're also welcome to give me a physical copy sometime Wednesday if you prefer. Please plan your time accordingly - this is a more open ended essay, so while I certainly don't want you to spend your entire break on it, you may want to at least be doing some reading to familiarize yourself with your chosen language over the break!
Feb. 27: As promised, here is the midterm exam review guide. Practice midterms will be available by next Monday, and will be handed out in class.
Feb. 22: Just to formalize the announcement: your midterm exam will be on the Friday before break, March 8. We will have a review session in class on Wednesday, March 6, so please bring your review questions!
Feb. 22: Homework 5 is now posted. It will be due on Monday, March 4, by the start of class.
Feb. 18: Minor typo on the homework: the string in problem 2 should parse. (I mistakenly said "shouldn't" in the homework.) I've updated the pdf to use the correct langauge now.
Feb. Homework 4 is now posted. It will be due next Wednesday, 2/20, by the start of class (either on paper or submitted via pdf).
Jan. 30: Homework 3 is now posted (on the HW tab for this page). It will be due next Thursday by midnight, and should be submitted via git. Please see the git student guide for this class for instructions on how to set up the git repo. Note that I'm not using the instructor repo yet, so you can just pull your own student repo at this point.
Jan 16: There will be no class on Friday, Jan. 18. Please read section 2.1 of the textbook, as well as the first two pages of section 2.2, in preparation for next week. Since I will be gone Friday, I've also uploaded the next homework a bit early. It's officially supposed to come out next week, but you should be able to start the first problem after today's lecture, for those who want to get a bit ahead!
Jan 14: The first homework has been posted on the homework page. It is an essay assignment, which will be due next Wednesday, Jan. 23, by the start of class. Please bring a paper copy to class or email me a pdf.
Welcome to programming languages! Please make sure to read the course policies carefully, and remember to check this announcements section daily for new announcements or reminders.