This page is meant only for students admitted conditionally to the M.S. in Computer
Science program. Students who have been offered regular admission do not need to take
a placement test.
The placement test is a written exam, that will assess students' knowledge of four
major Computer Science topics: (1) Programming in C++; (2) Computer Organization;
(3) Data Structures; and (4) Theory of Programming Languages. Below are relevant preparation
materials and helpful pointers on these topics.
-
Programming in C++: Chapters 8-18 of the book C++ Programming Language: From Problem Analysis to Program Design-7th edition, by D. S. Malik. In addition, relevant aspects of C++11 and C++14 that
may not be in the book. Students' ability to do the following will be specifically
tested:
- Use user-defined simple data types.
- Use the string data type.
- Understand and use arrays and strings.
- Apply arrays.
- Understand and use records (structures).
- Understand and use classes & data abstraction
- Understand and use pointers.
- Understand and use recursion.
- Understand and use smart pointers.
- Understand and use lambda functions.
-
Computer Organization: Chapters 1-3 of the book Computer Organization and Architecture- Fourth Edition, Linda Null and Julia Lobur. Students' knowledge of the following
topics will be specifically tested:
- Converting numbers between bases.
- Signed integer representation: 2's complement, Excess-M representation, Booth's algorithm
for multiplication, carry versus overflow, binary multiplication and division using
shifting.
- Floating-point representation.
- Character codes: EBCDIC, ASCII.
- Boolean algebra: simplification of boolean expression, representation of boolean function.
- Logic gates.
- Digital circuits and their relationship to boolean algebra.
- Combination circuits.
-
Data Structures: Chapters 2-12 in Michael Main and Walter Savitch, Data Structures and Other Objects Using C++, 4th edition, ISBN-13: 978-0-13-212948-0. Below are some helpful links:
- https://msdn.microsoft.com/en-us/library/hh279654.aspx
- https://en.wikipedia.org/wiki/C%2B%2B11
- https://en.wikipedia.org/wiki/C%2B%2B14
- https://en.wikipedia.org/wiki/C%2B%2B17
-
Theory of Programming Languages: Chapters 3-5 and 9 in Concepts of Programming Languages, 11th Edition, by Robert W. Sebesta, Pearson Higher Education. Students' knowledge
of the following topics will be tested :
- Context free grammars, Backus Naur Form, parse trees, attribute grammar.
- Lexical analysis, top-down and bottom-up parsers, recursive descent parsing, LL &
LR parsing.
- Static & dynamic binding, static & dynamic scope, block structuring.
- Subprograms and parameter passing, local referencing environments.