Final Exam “Philosophy” Dennis Shasha. What have we done? A lot about Ada, C++, and Scheme. A...

Post on 17-Jan-2016

212 views 0 download

Transcript of Final Exam “Philosophy” Dennis Shasha. What have we done? A lot about Ada, C++, and Scheme. A...

Final Exam “Philosophy”

Dennis Shasha

What have we done?

• A lot about Ada, C++, and Scheme.

• A little about Java, Python, ML, and K.

• Goal: understand the principles of programming language design through discussion and practice.

What to Expect 1?

• You will remember how you did your assignments, so I might specify variants of parts of the assignments and expect you to know how to construct them.

• Ex: a different grammar and how you’d program in scheme.

• Ex: how to construct and traverse a list in Ada, C++ or Scheme.

What to Expect 2?

• A sophisticated understanding of C++, Ada, and Scheme.

• Ex: example like the one presented about inheritance and visibility in C++

• Ex: how to achieve polymorphism in Ada or C++

• Ex: use of recursion in scheme.• Ex: functionals and closures in scheme.

What to Expect 3?

• An understanding of general principles as discussed in lectures and expanded on in reading:

• Ex: parameter passing semantics.

• Ex: generics vs. inheritance

• Ex: threads and tasks

What to Expect 4?

• A reading understanding of Java, ML, and Python.

• Ex: what does the following program do?

Recommended Strategy

• Review lecture notes.• Review assignments (make sure you

remember what you did and why).• Look at reading, emphasizing those

portions that touch on assignments or lectures. (I will test you only on topics we’ve discussed in depth in class.)

• Remember: you may bring in a 8 ½ by 11 inch sheet of paper

Please don’t …

Ask: “is X going to be on the test?” for any X.

The exam is an effort to make sure you understood the principles we have emphasized, especially the ones around the assignments.

I’m not going to put fences about what I ask, but I will follow the guidance here.