Announcements:
June update: A final funny essay to leave you with: A Brief, Incomplete, and Mostly Wrong History of Programming Languages.
Saturday, May 12: Homeworks 7 and 8 are graded and posted on blackboard - please be sure to check your grade and let me know of any issues or questions ASAP.
Thursday, May 3: In case you missed the multiple email reminders, the class assessment form is now open. Please take 5 minutes to go leave feedback on the course, so I can hopefully improve it in the future!
Thursday, May 3: As announced, we will cancel the last class on Monday the 7th in order to reschedule a review session on Friday, May 11. It will be held at 2pm in 314 Ritter. I think we only have the room from 2-3pm, so if someone else comes at 3pm and people still have questions, I'll plan to move down to the linux lab or back to my office (depending on how many of you there are).
Monday, April 30: The final exam review questions are now posted. (Keep in mind that it is comprehensive, so the first set of questions are also still relevant!)
Monday, April 30: Readings for the final essay: Can programming be liberated from the von Neumann style?
Why functional programming mattersFriday, April 27: The final essay homework is posted, and will be due on the last date of class. Please note that if you are registered for honors or graduate credit, you must do a longer version of this essay - please see me to discuss in person sometime this next week.
Friday, April 27: For those that asked, you are welcome to submit homework 10 by Monday, and I will recap the homework a bit in lecture today.
Reference for 4/25: Function programming in Python
Notes for 4/23: Functional programming in C++
Homework 10 is now posted.
Base code for the SplayTree class: SplayTree.hs
Screen shots from April 16 regarding binary trees, pivoting and splaying: Board 1 Board 2 Board 3
April 13: Homework 9 is now available. It is due next Friday, April 20th, and again you are welcome to work with a partner - usual instructions apply (so scroll down and read about homework 8's instructions, and email me any questions).
April 13: Here are the next three lectures I would usually give on Haskell: one on modules, one on functors, and one on monads/applicative, which generalize functors. Note: You are still required to know content from the course next week! In particular, while your sub will use parts of these slides, there will be some new content we have discussed already, which will be key in order to finish your final Haskell homework.
March 23: Homework 8 is available. Again, you may work with a partner on this one; only one of you should submit a final file in your course git repo, with both of your names in a comment at the top of the file. It will be due on Friday, April 13.
April 3: Due to popular demand, I'll extend the due date for homework 7 until Friday.
March 23: Homework 7 is available, with the file available in the course git repo for you to pull. Note that you may work with a partner on this one; only one of you should submit a final file in your course git repo, with both of your names in a comment at the top of the pl file. It will be due on Wednesday, April 4, by midnight.
March 3: Homework 6 is available; this is the essay due at the start of class on Wednesday 3/21 (after spring break), so no hurry to dive in.
Feb. 28: The midterm review sheet is now posted; sample midterms (from a past semester) are also available in my office, if you did not pick one up in class.
Feb. 27: The midterm exam will be next Friday, March 9, during normal class time. Next Wednesday will be a review question, so please come prepared with questions.
Feb. 23: Homework 5 is available; it will be due on Monday, March 5, by the start of class.
Feb. 8: Homework 4 is available; it will be due next Friday, 2/16, at the start of class.
- Feb. 8: The course git repo is not currently working - I've emailed the admin and will work on it. In the meantime, I believe all student repos are working, so please be sure to clone that one and use it for homework 3 submissions tomorrow.
Feb. 7: The git student guide is now posted, and you should all have git repos. If you have questions or issues, bring them to me (or Dr. Letscher in a pinch).
Feb. 6: I will be a few minutes late to class tomorrow (Wednesday 2/6), due to a meeting that will have me running late to class. Please be ready to start by 11:10, and my apologies for the delayed start!
Jan 31: Homework 3 is available; it will be due on Friday, Feb. 9. You will submit this one via a course git repository - look for details to come later today.
Jan. 25: Homework 2 is available; it will be due (on paper) by the start of class next Friday, Feb. 2.
Jan. 25: Note that my office hours have changed, due to a confict, so the Wednesday time slot has moved to Friday from here on out.
Jan. 15: The first homework assignment is available. This is a warm up essay to get you thinking about various issues in programming language design; please select one essay topic from the listed ones, or come to see me if you have something else you'd be interested in learning about that seems relevant. Essays are due by the start of class next Wednesday, Jan. 24, either via email (AS A PDF) or on paper in class.
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.