«Computer Science» Requirements for applicants by Innopolis University

Similar documents
AP Computer Science 4325

University of Engineering and Technology School of Computer Science Syllabus of Course Academic Period 2018-II

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

Software Development Fundamentals (SDF)

Curriculum 2013 Knowledge Units Pertaining to PDC

GCSE Computer Science for OCR Overview Scheme of Work

2c. Content of Computer systems (Component 01)

Course Review for Finals. Cpt S 223 Fall 2008

PROGRAMMING IN C++ (Regulation 2008) Answer ALL questions PART A (10 2 = 20 Marks) PART B (5 16 = 80 Marks) function? (8)

Syllabus for Computer Science General Part I

OCR Level 3 Advanced GCE in Computer Science (H446)

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

Autumn 1 Autumn 2 Spring 1 Spring 2 Summer 1 Summer 2. networks. environmental concerns. Knowledge and skills covered: Knowledge and skills covered:

Learning objectives. Computer principles The characteristics of contemporary processors, input, output and storage devices

OCR GCSE (9-1) Computer Science J276 Accompanying Instructional Document

Data Structures and Algorithm Analysis in C++

CS 445: Data Structures Final Examination: Study Guide

1) What is information system? Describe the basic concepts of information systems.

OCR J276 (9-1) GCSE Computer Science

(DMCA101) M.C.A. DEGREE EXAMINATION, MAY First Year INFORMATION TECHNOLOGY

Course Outline Computing Science Department. Faculty of Science. COMP Credits Introduction to Computer Systems (3,1,0) Fall 2015

M.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I

Computing 1: Computer Systems

Course goals. exposure to another language. knowledge of specific data structures. impact of DS design & implementation on program performance

Anany Levitin 3RD EDITION. Arup Kumar Bhattacharjee. mmmmm Analysis of Algorithms. Soumen Mukherjee. Introduction to TllG DCSISFI &

OHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE

5. (a) What is secondary storage? How does it differ from a primary storage? (b) Explain the functions of (i) cache memory (ii) Register

Time : 03 Hours Maximum Marks : 75

SAMPLE CURRICULUM GUIDE June 2014

QUESTION BANK UNIT-I. 4. With a neat diagram explain Von Neumann computer architecture

Department Curriculum and Assessment Outline

Part I Basic Concepts 1

Advanced Diploma in Computer Science (907) Computer Systems Architecture

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

HASTINGS HIGH SCHOOL

Systems I: Programming Abstractions

2) Explain in detail about different AVL rotation applied on unbalanced trees.

M.Sc. (Previous) DEGREE EXAMINATION, MAY First Year Information Technology. Time : 03 Hours Maximum Marks : 75

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

Switching to AQA from OCR

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

Nepal Telecom Nepal Doorsanchar Company Ltd.

Data Structures in C++ Using the Standard Template Library

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

1) What is the role of information technology in modern organizations? 2) Discuss the memory and storage devices.

Edexcel GCSE in Computer Science Microsoft IT Academy Mapping

M.C.A. DEGREE EXAMINATION, MAY First Year Paper - I : INFORMATION TECHNOLOGY. Time : 03 Hours Maximum Marks : 75

1. Which of the following circuits can be used to store one bit of data? A) Encoder B) OR gate C) Flip Flop D) Decoder

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Paper - I : DATA STRUCTURES

CSCE 321/3201 Analysis and Design of Algorithms. Prof. Amr Goneid. Fall 2016

Data Structures Question Bank Multiple Choice

CS6402 DESIGN AND ANALYSIS OF ALGORITHMS QUESTION BANK UNIT I

Computer Systems A Programmer s Perspective 1 (Beta Draft)

Data Structures and Algorithms

AQA GCSE Computer Science PLC

M.Sc. (Previous) DEGREE EXAMINATION, MAY (Examination at the end of First Year) Computer Science. Time : 03 Hours Maximum Marks : 75

AP Computer Science AB

Chapter 1 Introduction

LECTURE 3 ALGORITHM DESIGN PARADIGMS

CSc 225 Algorithms and Data Structures I Algorithm Analysis

About this exam review

CLASSIC DATA STRUCTURES IN JAVA

Computer Engineering Syllabus 2017

COURSE DESCRIPTION. CS 232 Course Title Computer Organization. Course Coordinators

Algorithm Design Paradigms

DATA STRUCTURE : A MCQ QUESTION SET Code : RBMCQ0305

CLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION

ADMINISTRATIVE MANAGEMENT COLLEGE

CS 216 Fall 2007 Final Exam Page 1 of 10 Name: ID:

M.C.A. DEGREE EXAMINATION, DEC First Year. Time : 03 Hours Maximum Marks : 75

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit:

Switching to AQA from Edexcel

INDEX. Cambridge University Press How to Think About Algorithms Jeff Edmonds Index More information

WITH C+ + William Ford University of the Pacific. William Topp University of the Pacific. Prentice Hall, Englewood Cliffs, New Jersey 07632

Object Oriented Programming

Computer Science Engineering Sample Papers

Computer Science (CS)

THE DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS

COURSE OUTCOMES OF M.Sc(IT)

Syllabi of the Comprehensive Examination in Computer Science

Overview of Computer Organization. Outline

A6-R3: DATA STRUCTURE THROUGH C LANGUAGE

1) What is the primary purpose of template functions? 2) Suppose bag is a template class, what is the syntax for declaring a bag b of integers?

Computer Science Curriculum Content, KS5

1) What is the role of Information Technology in modern business? 2) Define computer? Explain the Block Diagram of computer with a neat diagram?

CSE 373 Autumn 2012: Midterm #2 (closed book, closed notes, NO calculators allowed)

CS301 - Data Structures Glossary By

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 4 Certificate in IT COMPUTER AND NETWORK TECHNOLOGY

(DMCA 101) M.C.A. DEGREE EXAMINATION, DEC First Year. Time : 03 Hours Maximum Marks : 75. Paper - I : INFORMATION TECHNOLOGY

CSE 373 Final Exam 3/14/06 Sample Solution

(DMTCS 01) Answer Question No.1 is compulsory (15) Answer One question from each unit (4 15=60) 1) a) State whether the following is True/False:

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

ASSIGNMENT-1 M.Sc. DEGREE EXAMINATION, MAY 2018 (First Year) INFORMATION TECHNOLOGY Basics of Information Technology

CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS

SIR C R REDDY COLLEGE OF ENGINEERING

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

Overview of Computer Organization. Chapter 1 S. Dandamudi

Transcription:

«Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly Level Machine Organization... 3 Memory System Organization and Architecture... 3 Interfacing and Communication... 3 Networking and Communication... 4 Introduction... 4 Networked Applications... 4 Discrete Structures... 4 Basic Logic... 4 Graphs and Trees... 5 Information Management Concepts... 5 Relational Databases... 5 Operating Systems... 5 Overview of Operating Systems... 5 File Systems... 6 Programming Languages... 6 Fundamental Programming Concepts... 6 Fundamental Data Structures... 7 Object-Oriented Programming... 7 Algorithms and Complexity... 8 Basic Analysis... 8 Algorithmic Strategies... 8 Fundamental Data Structures and Algorithms... 9 Innopolis University 1

Architecture and Organization Digital Logic and Digital Systems Overview and history of computer architecture; Combinational logic; Multiple representations/layers of interpretation (hardware is just another layer). 1. Describe the progression of computer technology components from vacuum tubes to VLSI, from mainframe computer architectures to the organization of warehouse-scale computers. 2. Comprehend the trend of modern computer architectures towards multi-core and that parallelism is inherent in all hardware systems. 3. Articulate that there are many equivalent representations of computer functionality, including logical expressions and gates, and be able to use mathematical expressions to describe the functions of simple combinational circuits. Machine Level Representation of Data Bits, bytes, and words; Numeric data representation and number bases; Fixed- and floating-point systems; Signed and twos-complement representations; Representation of non-numeric data (character codes, graphical data); Representation of records and arrays. 1. Explain why everything is data, including instructions, in computers. 2. Explain the reasons for using alternative formats to represent numerical data. 3. Describe how negative integers are stored in sign-magnitude and twos-complement representations. 4. Explain how fixed-length number representations affect accuracy and precision. 5. Describe the internal representation of non-numeric data, such as characters, strings, records, and arrays. 6. Convert numerical data from one format to another. [Usage] 7. Write simple programs for string processing and manipulation. [Usage] Innopolis University 2

Assembly Level Machine Organization Basic organization of the von Neumann machine; Control unit; instruction fetch, decode, and execution; Instruction sets and types (data manipulation, control, I/O). 1. Explain the organization of the classical von Neumann machine and its major functional units. 2. Describe how an instruction is executed in a classical von Neumann machine. Memory System Organization and Architecture Storage systems and their technology; Memory hierarchy: importance of temporal and spatial locality; Main memory organization and operations; Latency, cycle time, bandwidth, and interleaving; Cache memories (address mapping, block size, replacement and store policy). 1. Identify the main types of memory technology (e.g., SRAM, DRAM, Flash, magnetic disk) and their relative cost and performance. 2. Explain the effect of memory latency on running time. 3. Describe how the use of memory hierarchy (cache, virtual memory) is used to reduce the effective memory latency. 4. Describe the principles of memory management. Interfacing and Communication I/O fundamentals: handshaking, buffering, programmed I/O, interrupt-driven I/O; External storage, physical organization, and drives; Buses: bus protocols, arbitration, direct-memory access (DMA); Introduction to networks: communications networks as another layer of remote access; Multimedia support. 1. Explain how interrupts are used to implement I/O control and data transfers. 2. Describe data access from a magnetic disk drive. 3. Compare common network organizations, such as Ethernet/bus, ring, switched vs. routed. 4. Identify the cross-layer interfaces needed for multimedia access and presentation, from image fetch from remote storage, through transport over a communications network, to staging into local memory, and final presentation to a graphical display. Innopolis University 3

Networking and Communication Introduction Organization of the Internet (Internet Service Providers, Content Providers, etc.); Switching techniques (e.g., circuit, packet); Physical pieces of a network, including hosts, routers, switches, ISPs, wireless, LAN, access point, and firewalls; Layering principles (encapsulation, multiplexing). 1. Articulate the organization of the Internet. 2. List and define the appropriate network terminology. 3. Describe the layered structure of a typical networked architecture. Networked Applications Naming and address schemes (DNS, IP addresses.); Distributed applications (client/server, peer-to-peer, cloud, etc.); HTTP as an application layer protocol. 1. List the differences and the relations between names and addresses in a network. 2. Define the principles behind naming schemes and resource location. Discrete Structures Basic Logic Propositional logic; Truth tables; Predicate logic. 1. Convert logical statements from informal language to propositional and predicate logic expressions. [Usage] 2. Apply formal methods of symbolic propositional and predicate logic, such as calculating validity of formulae and computing normal forms. [Usage] Innopolis University 4

Graphs and Trees Trees; Undirected graphs; Directed graphs; Weighted graphs. 1. Illustrate by example the basic terminology of graph theory, as well as some of the properties and special cases of each type of graph/tree. 2. Demonstrate different traversal methods for trees and graphs, including pre-, post-, and inorder traversal of trees. [Usage] 3. Model a variety of real-world problems in computer science using appropriate forms of graphs and trees, such as representing a network topology or the organization of a hierarchical file system. [Usage] Information Management Concepts Relational Databases Mapping conceptual schema to a relational schema; Entity and referential integrity. 1. Prepare a relational schema from a conceptual model developed using the entity- relationship model. [Usage] 2. Explain and demonstrate the concepts of entity integrity constraint and referential integrity constraint [Usage] Operating Systems Overview of Operating Systems Role and purpose of the operating system; Functionality of a typical operating system; Mechanisms to support client-server models, hand-held devices; Design issues (efficiency, robustness, flexibility, portability, security, compatibility); Influences of security, networking, multimedia, windowing systems. 1. Explain the objectives and functions of modern operating systems. [Usage] 2. Identify potential threats to operating systems and the security features design to guard against them. Innopolis University 5

File Systems Files: data, metadata, operations, organization; Directories: contents and structure; File systems. 1. Describe the choices to be made in designing file systems. 2. Compare and contrast different approaches to file organization, recognizing the strengths and weaknesses of each. [Usage] Programming Languages Fundamental Programming Concepts Basic syntax and semantics of a higher-level language; Variables and primitive data types (e.g., numbers, characters, Booleans); Expressions and assignments; Simple I/O including file I/O; Conditional and iterative control structures; Functions and parameter passing; The concept of recursion. 1. Analyze and explain the behavior of simple programs involving the fundamental programming constructs variables, expressions, assignments, I/O, control constructs, functions, parameter passing, and recursion. 2. Identify and describe uses of primitive data types. 3. Write programs that use primitive data types. [Usage] 4. Modify and expand short programs that use standard conditional and iterative control structures and functions. [Usage] 5. Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, the definition of functions, and parameter passing. [Usage] 6. Write a program that uses file I/O to provide persistence across multiple executions. [Usage] 7. Choose appropriate conditional and iteration constructs for a given programming task. [Usage] 8. Describe the concept of recursion and give examples of its use. 9. Identify the base case and the general case of a recursively-defined problem. Innopolis University 6

Fundamental Data Structures Arrays; Records/structs (heterogeneous aggregates); Strings and string processing; Abstract data types and their implementation o Stacks; o Queues; o Priority queues; o Sets; o Maps; References and aliasing; Linked lists; Strategies for choosing the appropriate data structure. 1. Discuss the appropriate use of built-in data structures. 2. Describe common applications for each of the following data structures: stack, queue, priority queue, set, and map. 3. Write programs that use each of the following data structures: arrays, records/structs, strings, linked lists, stacks, queues, sets, and maps. [Usage] 4. Compare alternative implementations of data structures with respect to performance. 5. Describe how references allow for objects to be accessed in multiple ways. 6. Compare and contrast the costs and benefits of dynamic and static data structure implementations. 7. Choose the appropriate data structure for modeling a given problem. Object-Oriented Programming Object-oriented design; Decomposition into objects carrying state and having behavior; Class-hierarchy design for modeling; Definition of classes: fields, methods, and constructors; Subclasses, inheritance, and method overriding; Dynamic dispatch: definition of method-call; 1. Design and implement a class. [Usage] 2. Use subclassing to design simple class hierarchies that allow code to be reused for distinct subclasses. [Usage] 3. Correctly reason about control flow in a program using dynamic dispatch. [Usage] Innopolis University 7

Algorithms and Complexity Basic Analysis Differences among best, expected, and worst case behaviors of an algorithm; Asymptotic analysis of upper and expected complexity bounds; Big O notation: formal definition; Complexity classes, such as constant, logarithmic, linear, quadratic, and exponential; Empirical measurements of performance; Time and space trade-offs in algorithms. 1. Explain what is meant by best, expected, and worst case behavior of an algorithm. 2. In the context of specific algorithms, identify the characteristics of data and/or other conditions or assumptions that lead to different behaviors. [Usage] 3. Determine informally the time and space complexity of simple algorithms. [Usage] 4. State the formal definition of big O. 5. List and contrast standard complexity classes. 6. Perform empirical studies to validate hypotheses about runtime stemming from mathematical analysis. Run algorithms on input of various sizes and compare performance. 7. Give examples that illustrate time-space trade-offs of algorithms. Algorithmic Strategies Brute-force algorithms; Greedy algorithms; Divide-and-conquer; Recursive backtracking; Dynamic Programming. 1. For each of the strategies (brute-force, greedy, divide-and-conquer, recursive backtracking, and dynamic programming), identify a practical example to which it would apply. 2. Use a greedy approach to solve an appropriate problem and determine if the greedy rule chosen leads to an optimal solution. [Usage] 3. Use a divide-and-conquer algorithm to solve an appropriate problem. [Usage] 4. Use recursive backtracking to solve a problem such as navigating a maze. [Usage] 5. Use dynamic programming to solve an appropriate problem. [Usage] 6. Determine an appropriate algorithmic approach to a problem. [Usage] Innopolis University 8

Fundamental Data Structures and Algorithms Simple numerical algorithms, such as computing the average of a list of numbers, finding the min, max, and mode in a list, approximating the square root of a number, or finding the greatest common divisor; Sequential and binary search algorithms; Worst case quadratic sorting algorithms (selection, insertion); Worst or average case O (N log N) sorting algorithms (quicksort, heapsort, mergesort); Hash tables, including strategies for avoiding and resolving collisions; Binary search trees o Common operations on binary search trees such as select min, max, insert, delete, iterate over tree; Graphs and graph algorithms o Representations of graphs (e.g., adjacency list, adjacency matrix); o Depth- and breadth-first traversals. 1. Implement basic numerical algorithms. [Usage] 2. Implement simple search algorithms and explain the differences in their time complexities. [Usage] 3. Be able to implement common quadratic and O (N log N) sorting algorithms. [Usage] 4. Describe the implementation of hash tables, including collision avoidance and resolution. 5. Discuss the runtime and memory efficiency of principal algorithms for sorting, searching, and hashing. 6. Discuss factors other than computational efficiency that influence the choice of algorithms, such as programming time, maintainability, and the use of application-specific patterns in the input data. 7. Explain how tree balance affects the efficiency of various binary search tree operations. 8. Solve problems using fundamental graph algorithms, including depth-first and breadth-first search. [Usage] 9. Demonstrate the ability to evaluate algorithms, to select from a range of possible options, to provide justification for that selection, and to implement the algorithm in a particular context. [Usage] Innopolis University 9