Department of Computer Science
Computing Knowledge Evaluation Test
The Computing Knowledge Evaluation test aims to determine how well prepared a student is in different computer science areas. Our MS computer science courses assume that the student has a computer science background similar to that provided by our undergraduate computer science courses. The purpose of this exam is to determine if a student has the basic preparation needed to enroll in graduate courses. If the background is weak or non-existent in a topic, then the student is advised to acquire the appropriate knowledge by enrolling in a preparatory course or by self study.
What is the Computing Knowledge Evaluation test?
The Computing Knowledge Evaluation test is a very basic exam that is meant to ensure that you are placed in the correct courses so as to ensure your success in the MS program. The testis short and covers fundamental computer science concepts in a simple way. Experience shows that a student who scores poorly in a subject is at high risk of failing the MS courses that rely on corresponding knowledge. Please see this page for topic information.
What areas does the entrance exam cover, what should I review?
The computer knowledge evaluation exam will comprise five parts. The questions are based on material in the NJIT computer science undergraduate courses listed below:
Database Systems: CS431 Introduction to Databases (see also)
The exam will have SQL questions.
Operating Systems: CS332 .Principles of Operating Systems (see also)
Networking: CS356 .Introduction to Computer Networks (see also)
Foundations of Computer Science: CS241 Foundations of Computer Science I (see also)
The following two areas are treated as one section in the exam.
Programming: CS113 .Introduction to Computer Science I (see also)
The exam will have questions interpreting basic Java programs.
Algorithms and Data Structures: CS114 Introduction to Computer Science II (see also)
You need to be familiar with "big O" notation and basic graph definitions.
Each of the links above is to the base syllabuses for our undergraduate courses in Microsoft Word format. You are not expected to have studied all of the topics listed in the course descriptions; the exam questions will be on the central, basic ideas.
Extract of the syllabus topics for the programming/data structures courses.
Native data types (numbers, characters), expressions (arithmetic, logical, relational, precedence)
Classes (defining, usage)
Objects (creation, usage)
Decisions (if then statements, switch statements)
Iteration (for loop, while loop, sentinel terminated, count terminated)
Methods and Classes (definition, use, specifying, overloading)
Arrays
Inheritance and Polymorphism
Exceptions (try, catch, finally)
Recursive Problem Solving
Linked lists.
Stacks and queues.
Trees, tree traversals.
Dictionaries.
Sorting: merge sort, quick sort
Graphs: representations and basic algorithms
Extract of the syllabus topics for foundations course
Propositional Logic
Universal and Existential Quantifiers
Proof techniques:
- Direct Proof
- Proof by Contradiction
- Enumeration Proof
- Simple and Strong Induction
Sets
Functions
Relations
Recursive Programs
Analysis of Algorithms and Their Complexity
Recurrence Relations, and their use in analyzing running time of algorithms
Divide-and-Conquer Algorithms
Counting Methods, Permutations, Combinations, Basic Discrete Probability
Introduction to Graphs and Trees.
Extract of the syllabus topics for operating systems.
Processes
Threads
CPU scheduling
Concurrency & Synchronization
Deadlocks & Starvation
Memory management
Virtual memory
Disk management
File management
Extract of the syllabus topics for database
Database Models
Interacting with a database / Disk vs. Main Memory Databases
Single User vs. Client-Server Database
Relational Databases
Relational Algebra
Normal Forms
SQL basics
Transactions / Locks & Deadlock
Constraints
Triggers
Objects
Indexes
Views
Security
Extract of the syllabus topics for networks
Protocol layering and the Internet architecture
Application layer protocols: DNS, HTTP, Email.
The client-server model and the Socket interface.
IP addressing, subnets, CIDR.
Data link layer/LAN overview, ARP, RARP/BOOTP/DHCP.
IP protocol, ICMP.
Routing: link state routing and distance vector routing. OSPF, RIP, BGP.
UDP, TCP (includes flow control, congestion control, RED).
NAT, VPN, IPv6.

