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.201.

The exam may be written in Java or C++. The language must be designated when the exam is scheduled.

You are allowed one textbook for reference during the exam. Since not every programming language 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 code fragments and functions in Java, C, or C++. You may also need to assess and describe the functionality or output of a piece of code.

Exam Topics

  • Basic Syntax and Punctuation
  • Reserved Words, Legal Variable Names
  • Variable Types: Built In and User Defined, Mixed Types
  • Looping Constructs: while, for, repeat
  • Branching Control Statements
  • Data Declarations: Arrays and Structs and Classes
  • Scope and Duration of Variables
  • OOP Principles
  • Simple I/O including formatting output
  • Reading and Writing to a Named File
  • Simple Recursion
  • Dynamic Allocation

References

The following texts are good references if needed.

  • JAVA: How to Program, Deitel & Deitel, Prentice Hall
  • C++: How to Program, Deitel & Deitel, Prentice Hall
  • Problem Solving and Structured Programming in C++, E. B. Koffman, Addison-Wesley

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