There are no fees associated with proficiency exams if you are local to the JHU Applied Physics Laboratory. If you make an appointment with a testing center, there may be a fee which you are responsible for.

Proficiency exams are available to students who do not meet the prerequisite(s) for their program but feel they have learned the material through experience or on-the-job-training rather than through a regionally accredited institution.

These exams demand more than a basic knowledge of the course material. Students must have a solid command of the concepts and problem-solving skills for the course and should only attempt a proficiency exam after proper study and preparation.

Students are limited to taking each proficiency exam only once. Failing an exam means you will be required to take the appropriate prerequisite course at Johns Hopkins Engineering for Professionals or an equivalent course at a regionally accredited school.

Available Proficiency Exams

Proficiency exams are currently being offered for the following courses. Sample exams are not available.

The proficiency exam for Discrete Mathematics will be allowed on a case-by-case basis for strong candidates who clearly do not need to take 605.203.

References

The following texts are good references if needed.

– S. Epp, Discrete Mathematics and Applications

– R. Johnsonbaugh, Discrete Mathematics, 4th edition, Prentice Hall

– Ross and Wright, Discrete Mathematics, 5th edition, Prentice Hall

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

 

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.

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 – Computational complexity (introductory) – Recursion – Dynamic Allocation/References – ADTs – Stacks – Queues – Lists – Binary Trees – Implementations for all the above data structures – Sorting – Searching

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.

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

This exam is intended to address general assembly language concepts and not a specific assembler. You are allowed one sheet of notes for reference during the exam. Otherwise, the exam is closed book. The format of the exam is a mixture of seventy objective questions in either true/false or multiple choice style.

Exam Topics – 2-pass assemblers – Accumulator – Address bus – Address calculation – Arithmatic Logic Unit (ALU) – Big-endian storage order – Bus – Cache – CISC – Compiler use of stacks – Compilers – CPU – Denormalized – Disk sector – Direct Memory Access – External references – Floating point representation – Frames – Global variables – Hard Disk – Indirect addressing – Interpreters – Hexadecimal representation – Interrupt handlers – Interrupts – Instruction mnemonics – JVM – Kernel – Linker loaders – Little-endian storage order – Local variables – Logical operations AND, OR, XOR, NOR, NAND – Logical pages – Machine instructions – Macros – Memory types – Nested invocation – Normalized – Object Code – Opcode – Operand – Overflow – Page map table – Page offset – Paging – Physical pages – Pipelining – Polling – RAM – Reentrant Routines – Registers – RISC – ROM – Segmentation – Signed binary representation – Run-time binding – Static variables – Symbol table – Two’s complements notation – Underflow – Unsigned binary representation – Vectors – Virtual memory – Word size

References The following texts are good references if needed:

– M. M. Mano, Computer System Architecture, 1992 by Prentice Hall ISBN 0131755633 (ISBN13: 9780131755635) – D. A. Patterson, J. L. Hennessy, Computer Organization and Design, Fourth Edition: The Hardware/Software Interface, Morgan Kaufmann, Nov 17, 2008, ISBN 0080922813, 9780080922812 – W. Stallings, Computer Organization and Architecture (9th Edition) (William Stallings Books on Computer and Data Communications) ISBN-13: 978-0132936330 ISBN-10: 013293633X

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

Scheduling an Exam

For more information or to schedule an exam, please contact the Johns Hopkins Engineering for Professionals Applied Physics Laboratory Education Center admissions team at 443-778-6510 or ep-cs@jhu.edu.

Grading and Results

  • Exams will not be returned to you.
  • You will be notified only if you have passed or failed.
  • If your course registration depends on the results of the exam, then the exam must be taken by the following deadlines to allow for grading and reporting of results.
    • Summer Term—May 8
    • Fall Term—August 8
    • Spring Term—December 8

If you have not received your results by the first week of the term, please send an e-mail to ep-cs@jhu.edu. Every effort will be made to return your results in time for registration.

NOTE: This proficiency exam policy is subject to change without notice and the option to take a proficiency exam may be withdrawn at any time.