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

8
Final Exam “Philosophy” Dennis Shasha

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

Page 1: 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.

Final Exam “Philosophy”

Dennis Shasha

Page 2: 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.

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.

Page 3: 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.

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.

Page 4: 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.

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.

Page 5: 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.

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

Page 6: 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.

What to Expect 4?

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

• Ex: what does the following program do?

Page 7: 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.

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

Page 8: 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.

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.