Setting Standards of Excellence in Educational Testing
About NTS Services Contact Us
Partners
  N. T. U. Faisalabad
  CIIT
  HEC
  PTCL Pakistan
  Virtual University
  Bolan M. C. Quetta
  BISE Abbottabad
  Others
Why NTS?
  Students
  Institutions
Tests
  General Test
  Subject Test
Test Registration
  Online Registration
  General Tests
  Subject Tests
  Test Fee
  Test Centers
  Test Dates
Test Preperation
  Test Format
  Test Instructions
  Sample Test
  Student Guide
  Model Questions
Test Score
  Scores & Score Reporting
    Home :: Test Preperation :: Student Guide
 
  Student Guide  

Subject Tests (Online Computer Science)

  General Test (NAT)  


Students’ Guide for General Test is available in the form of a booklet, which can also be mailed to you on receipt of a bank draft of Rupees 200. The bank draft should be addressing National Testing Service and mailed on the following address:

National Testing Service (NTS)
Office # 10 – 11,
First Floor Plaza 2000
Plot # 43, Markaz I-8, Islamabad.
Phone 051-9258480


NTS Student Guide is also available at the following book stores in Islamabad/Rawalpindi:

1. Variety Books

Opposite Gakhar Plaza
Saddar
Rawalpindi.

2. Books and Books

Commercial Market
Satellite Town
Rawalpindi.

3. Mr. Books

Saddar
Rawalpindi

4. Idrees Book Company

Saddar
Rawalpindi

5. Mr. Books

Sector F-6, Super Market
Islamabad.

Top


  Guide- Subject Test  

This test is designed to evaluate the knowledge-base of a person as well as the area of strength in the field of Computer Science. While no student guide is available in booklet form as yet, the subject components given below are included keeping in view the core concepts of computer science as well as emerging dimensions and areas of study in this field. The candidates will be tested from these areas and can use these as a guide for the preparation of the test. A curriculum for the Computer Science, Subject Test is designed by various experts of Computer Science.

NTS Online Subject Test - Outline
Topic %age
Discrete Structures 10%
Functions, relations and sets  
Basic Logic  
Proof techniques  
Basics of counting  
Graphs and trees  
Discrete probability  
Algorithm and Complexity 12%
Basic Algorithm Analysis  
Algorithmic Strategies  
Fundamental Computing Algorithms  
Automata Theory  
Architecture & Organization 12%
Digital Logic and Digital Systems  
Machine Level representation of data  
Assembly level machine organization  
Memory system organization and architecure  
Functional organization  
Multiprocessing and alternative architecures  
Operating System 12%
Overview of operating systems  
Operating System principles  
Concurrency  
Scheduling and dispatch  
Memory management  
Device management  
Security and protection  
File systems  
Fault tolerance  
Programming Fundamentals 9%
Fundamental programming concepts  
Fundamental Data Sources  
Recursion  
Programming Languages 10%
Overview of programming languages  
Virtual machines  
Introduction to language translation  
Declaration and types  
Abstraction mechanisms  
Information Management 12%
Information models and System  
Database Systems  
Data Modeling  
Relational Database  
Database Query Language  
Relational Database Design  
Net-centric Computing 9%
Introduction to Net-centric computing  
Communication and Networking  
Web-Client/Server computing  
Network Security  
Wireless and mobile computing  
Software Engineering 10%
Software Processes  
Software Requirements and specification  
Using APIs  
Software Design  
Software Validation  
Software Evolution  
Software Project Management  
Computational Science 4%
Numerical Analysis  
Operation Research  
  100%

Various books are recommended by the Computer Science-Curriculum Committee, which may be a source of great help for you.

Architecture and Organization

The computer lies at the heart of computing, without it most of the computing disciplines today would be a branch of theoretical mathematics. To be a professional in any field of computing today, one should not regard the computer as just a black box that executes programs by magic. All students of computing should acquire some understanding and appreciation of a computer system’s functional components, their characteristics, their performance, and their interactions. There are practical implications as well. Students need to understand computer architecture in order to structure a program so that it runs more efficiently on a real machine. In selecting a system to use, they should to able to understand the trade-off among various computer components.

Recommended Books:

  1. Computer Organization & Architecture By William Stallings
  2. Structured Computer Organization by Andrew S. Tanenbaum

Operating Systems

An operating system defines an abstraction of hardware behavior with which programmers can control the hardware. It also manages resource sharing among the computer’s users. The topics in this area explain the issues that influence the design of contemporary operating systems. Courses that cover this area will typically include a laboratory component to enable students to experiment with operating systems. Over the years, operating systems and their abstractions have become complex relative to typical application software. It is necessary to ensure that the student understands the extent of the use of an operating system prior to a detailed study of internal implementation algorithms and data structures. Therefore these topics address both the use of operating systems (externals) and their design and implementation (internals). Many of the ideas involved in operating system use have wider applicability across the field of computer science, such as concurrent programming. Studying internal design has relevance in such diverse areas as dependable programming, algorithm design and implementation, modern device development, building virtual environments, caching material across the web, building secure and safe systems, network management, and many others.

Recommended Books:

  1. Operating Systems Internals & Design Principles by WilliamStallings
  2. Operating Systems Design and Implementation by Andrew S. Tanenbaum

Software Engineering

Software engineering is the discipline concerned with the application of theory, knowledge, and practice for effectively and efficiently building software systems that satisfy the requirements of users and customers. Software engineering is applicable to small, medium, and large-scale systems. It encompasses all phases of the life cycle of a software system. The life cycle includes requirement analysis and specification, design, construction, testing, and operation and maintenance. Software engineering employs engineering methods, processes, techniques, and measurement. It benefits from the use of tools for managing software development; analyzing and modeling software artifacts; assessing and controlling quality; and for ensuring a disciplined, controlled approach to software evolution and reuse. Software development, which can involve an individual developer or a team of developers, requires choosing the tools, methods, and approaches that are most applicable for a given development environment. The elements of software engineering are applicable to the development of software in any computing application domain where professionalism, quality, schedule, and cost are important in producing a software system.

Recommended Books:

  1. Software Engineering by R.S. Pressman (This book has wide coverage of SE topics.)
  2. Software Engineering by Somerville (The book emphasizes on practical SE )

Net-Centric Computing

With the exponential use of the Internet and growth of Web-based applications, the subject of “Communications and Computer Networks” has got new dimensions. Now the knowledge base for a CS professional is not limited to LANs but it embraces the topics relating to infrastructure of e-commerce and inclusion of Wireless and Satellite-based networks. We have adopted IEEE/ACM CC-2001 Net-Centric Computing nomenclature instead of Computer Networking as the former has broad coverage of the modern topics.

Recommended Books:

  1. Computer Networks by Andrew S. Tanenbaum
  2. Data & Computer Communications by Williams Stallings

Discrete Structures

Discrete structures include important material from such areas as set theory, logic, graph theory, and combinatorics. The material in discrete structures is enveloping in the areas of data structures and algorithms but appears elsewhere in computer science as well. For example, Graph theory concepts are used in networks, operating systems, and compilers. Set theory concepts are used in software engineering and in databases. As the field of computer science matures, more and more sophisticated analysis techniques are being brought to bear on practical problems. To understand the computational techniques of the future, today’s students will need a strong background in discrete structures.

Recommended Books:

  1. Discrete Mathematics and its applications by Kenneth H. Rosen
  2. Discrete Mathematics with applications by Susanna S. Epp

Programming Languages

A programming language is a programmer’s principal interface with the computer. More than just knowing how to program in a single language, programmers need to understand the different styles of programming promoted by different languages. In their professional life, they will be working with many different languages and styles at once, and will encounter many different languages over the course of their careers. Understanding the variety of programming languages and the design tradeoffs between the different programming paradigms makes it much easier to master new languages quickly. Understanding the pragmatic aspects of programming languages also requires a basic knowledge of programming language translation and runtime features such as storage allocation.

Recommended Books:

  1. Programming Languages by Pratt
  2. Principles of Object Oriented Analysis & Design by James Martin
Programming Fundamentals

Fluency in a programming language is a prerequisite to the study of most of computer science. Knowledge area consists of those skills and concepts that are essential to programming practice independent of the underlying paradigm. Includes following basic skills like analyzing and explaining the behavior of simple programs involving the fundamental programming constructs; modifying and expanding short programs that use standard conditional and iterative control structures and functions; Designing, implementing, testing, and debugging programs that involve simple I/O, standard conditional and iterative structures, and the definition of functions. It also includes choosing appropriate conditional and iteration constructs for a given programming task; application of structured programming techniques; using functions and functions parameter passing techniques. Programming fundamentals second major part is composed of basic concepts of data structures. Data Structures discusses how to model real life objects in the computer memory and strategies involved to perform different operations on those objects. Data structures knowledge is essential to solve and simulate real life problems using computer as a problem solving tool. Essential knowledge base of data structures is briefly discussed in next few lines. Representing and applying primitive data types and built-in data structures; how different data structures like arrays, records, strings, linked lists, stacks, queues, and hash tables are allocated and used in memory. It also includes comparing alternative implementations of data structures with respect to performance; writing programs that use different data structures; comparing and contrasting the costs and benefits of dynamic and static data structure implementations and choosing the appropriate data structure for modeling a given problem. Third portion of programming fundamentals focuses on recursion which provides basic skills to divide and conquer complex problem and it also provides bases for code reusability.

Recommended Books:
  1. How to Program C++ by Deitel and Deitel
  2. Programming C/C++ by Robert Lafore
  3. Data Structures and Algorithm Analysis by Mark Allen Weiss
  4. Data Structures and Algorithm by Robert Lafore
  5. Data Structures using c and C++ by Yedidyah Langsum,      Moshe
  6. J. Augenstein and Aaron M. Tenembaum

Algorithm and Complexity

Algorithms are fundamental to computer science and software engineering. The real world performance of any software system depends on only two things; one the algorithms chosen and two the suitability and efficiency of the various layers of implementation. Good algorithm design is therefore crucial for the performance of all software systems. Moreover, the study of algorithms provides insight into the intrinsic nature of the problem as well as possible solution techniques independent of programming language, programming paradigm, computer hardware, or any other implementation aspect. An important part of computing is the ability to select algorithms appropriate to particular purposes and to apply them, recognizing the possibility that no suitable algorithm may exist. This facility relies on understanding the range of algorithms that address an important set of well-defined problems, recognizing their strengths and weaknesses, and their suitability in particular contexts. Efficiency is a pervasive theme throughout this area. Major areas of essential knowledge are fundamental computing algorithms, automata theory, basic algorithm analysis and algorithmic strategies. It includes Simple numerical algorithms, sequential and binary search algorithms; quadratic sorting algorithms; O(NlogN) sorting algorithms; hash tables; binary search trees; representations of graphs, adjacency list and adjacency matrix representations; Depth- and breath-first traversal; shortest path algorithms, Dijkstra’s, and Floyed’s algorithms. Automata theory includes regular sets, context-free, context-sensitive, and recursively enumerable languages; converting among equivalently powerful notations for a language, including among DFAs, NFAs, and regular expressions, and between PDAs and CFGs; concepts of turning machines. Basic algorithmic analysis includes asymptotic analysis of upper and average complexity bounds; best average and worst case behaviors; standard complexity classes; time and space tradeoffs in algorithms; recurrence relations to analyze recursive algorithms.

Recommended Books:

  1. Design and Analysis of Algorithms By Jefry D. Smith
  2. Introduction to Automata and Language Theory by John E.
    Hopcroft, Rajeev Motwani and Jeffrey D. Ullman

Information Management

Information management system is the backbone of computer science. Almost in all fields where computer is used information management is required. To completely test the capabilities of a CS student, this is one of the most important parts. Basic objective of including IM is to compare and contrast information with data and knowledge, summarize the evolution of information systems from early vision up through modern offerings, distinguishing their respective capabilities and future potentials. Check the know-how in the basic goals, functions, models, components, applications, social impact of database systems and major DBMS function. It also measures the basic principles of relational data model, object-oriented model, preparing relational schema from a conceptual model using entity relationship model. Judge the complete hold of student on SQL, normalizations and query optimization.

Recommended Books:

  1. Database Systems by C.J. Date
  2. Modern Database Management by Fred R McFadden & Jeffry A. Hoffer

Computational Science and Numerical Methods

Computational Science and Numerical Methods has constituted a major area of Computer Science it increase the problem- solving power. This area offers exposure to many valuable ideas and techniques, including precision of numerical representation and error analysis. It tests the capabilities to identify the error, stability, machine precision concepts and the inexactness of computational approximations. In addition to that it helps to analyze the capabilities to code, test, and debug programs that implement numerical methods and operation research.

Recommended Books:

  1. Numerical Analysis by S. A. Butti
  2. Operation Research by Taha, Hamdy A

Top

 
 
 
 
 
 
Feed Back
 
 
 
 
 
 
 
 
 
 
Err