This semester I managed homework differently. On Bitbucket, I created a repository containing the homework specifications and some autograders. Each student made a private fork of my repository, inheriting permissions so that I could access the fork when a homework was submitted. When students commit a changeset, they include a brief description of the changes […]

CS 245 has officially closed. I offer some reflection. Bitbucket We used Bitbucket for the first time ever to distribute and submit homework assignments. I wish I could say I learned how to overcome problems that my students ran into, but I can’t. Mostly issues seemed to stem from failing to follow the pull-code-commit-push workflow. […]

Agenda what ?s review Topics hashing maps linked structures vs. array structures trees binary search trees heaps and priority queues stacks queues When Will I Use This Stuff? All the time, none of the time, or some of the time. Check out http://programmers.stackexchange.com/questions/102041/why-are-data-structures-so-important-in-interviews. Donald Knuth, in Structured Programming with Goto Statements: Programmers waste enormous amounts of time […]

Agenda what ?s getting the time of day from a time server get the time of sunset from OpenWeatherMap getting rhymes from RhymeBrain a chat client Code Timestamp.java WhetherWeather.java Rhymer.java MSYahAIM.java Haiku

Agenda what ?s what does this do? easier concurrency without side effects call by value, name, need the dangers of the C preprocessor delayed/lazy evaluation promises in Ruby futures in Java What Does This Do? Code compromise.rb Thunk.java Future.java Main.java Haiku

Agenda what ?s program this the benefits of no side-effects memoization in Haskell memoization in Ruby TODO Read about tool selection and the lack of silver bullets: http://blog.awe.sm/2012/12/10/how-to-choose-the-right-tool-for-the-job-awe-sms-language-journey and http://frankchimero.com/blog/no-new-tools. Read on laziness in D: http://dlang.org/lazy-evaluation.html. Go to CERCA (Ojibwe Ballroom, 3rd floor Davies) and talk to some student researchers. Pick one or two or three. 1/4 sheet. Program […]