The proficiency exam for Programming Language will be allowed on a case-by-case basis for strong candidates who clearly do not need to take 605.202.

Some exam questions are written in Java, the rest are language independent. Students may use JAVA or C++ to write the exam.

This is a closed book exam. You are allowed one 8 1/2" x 11" sheet of notes for reference. You need to write clear, concise Java or C++ code where required. Since not every data structures course covers every topic, the scoring is set up to allow the exam to be passed even though a student may not know one area of the material.

You can expect a mixture of question types on this exam, including multiple choice, true/false, fill-in-the-blank, discussion, and manipulation. You can also expect questions in which you will need to write complete functions. You may also need to assess and describe the functionality or output of a piece of code. Approximately 30 percent of the exam will be questions requiring you to write code. Approximately 40 percent of the exam will be objective questions like true/false or multiple choice. The remaining portion will be a mix of manipulation and discussion questions. Examples of a manipulation question include: 1) perform a quick sort on the following list of numbers, or 2) use the following data to build a ______ tree.

Exam Topics

References

The following texts are good references if needed.

Java

  • T. A. Standish, Data Structures in JAVA, Addison Wesley, Chapters 3.5–10, Appendix B
  • M. T. Goodrich and R. Tomassia, Data Structures and Algorithms in JAVA, J. Wiley, Chapters 2–8 plus selections from 9–14
  • Y. Langsam, A. M. Tenenbaum and M. J. Augenstein, Data Structures Using Java, Prentice-Hall, Chapters 1–7
  • Mark Alan Weiss, Data Structures and Problem Solving Using JAVA, Addison Wesley

C++

  • W. Ford and W. Topp, Data Structures with C++, Prentice-Hall, Chapters 3–5, 8–11, 13–14
  • Y. Langsam, A. M. Tenenbaum and M. J. Augenstein, Data Structures Using C and C++, 2nd Ed. Prentice-Hall, Chapters 1–7
  • F. M. Carrano, Data Abstraction and Problem Solving with C++: Walls and Mirrors

C and Pascal

  • A. M. Tenenbaum and M. J. Augenstein, Data Structures Using C, 2nd Ed. Prentice-Hall, Chapters 1–7
  • A. M. Tenenbaum and M. J. Augenstein, Data Structures Using Pascal, 2nd Ed. Prentice-Hall, Chapters 1–8

Potential candidates should contact e-mail ep-cs@jhu.edu to discuss their suitability for taking an exam. Sample exams are not available.