Best Coaching Classes in Pune for B.Sc. Computer Science(BCS)

Enquire Now

3000+

Enrolled Students

20+

IT Courses

10+

Professional Trainers

24X7

Support

Hinglish

Language

Overview

Best Coaching Classes in Pune for B.Sc. Computer Science(BCS)

A well-known undergraduate degree program in computer science, The Bachelor of Science in Computer Science provides a solid foundation in computer science principles, theories, and practical skills.. The course aims to give students a thorough grasp of computer systems and the many industries in which they are used. The curriculum includes instruction on a wide range of computer-related topics, including but not limited to programming languages, data structures, algorithms, computer networks, database systems, operating systems, software engineering, and computer graphics.

A solid foundation in computer science principles, theories, and practical skills is provided through the three-year B. Sc—Computer Science undergraduate degree program. The course aims to give students a thorough grasp of computer systems and the many industries in which they are used. Programming languages, data structures, algorithms, computer networks, database systems, operating systems, software engineering, and computer graphics are just a few topics the program covers.

The course curriculum aims to give students a thorough understanding of computer science theories and concepts. Students can obtain practical expertise in various computer science disciplines thanks to the program’s theoretical and practical components. The curriculum also includes project work and internships, providing students practical field experience.

Throughout India, many universities and colleges offer the B. Sc. in Computer Science program. Each college has its own admissions policy for the course. While some colleges need entrance tests, others give admission only on merit.

Completing this course will help you:

Why BCS Coaching from ProIT Academy:

Due to their superior teaching techniques, knowledgeable faculty, and extensive curriculum, ProIT Academy provides B. Sc—computer Science coaching classes that stand out from the competition. The following are some benefits of taking coaching lessons for a B.Sc. in computer science at ProIT Academy:

  • Professional Faculty – The faculty of ProIT Academy is made up of highly qualified professionals in each of their specialities. They thoroughly comprehend the material and employ various cutting-edge teaching strategies to make complicated ideas easier for pupils to understand.

 

  • Comprehensive Curriculum – The B.Sc. Computer Science program at ProIT Academy is structured to include every relevant subject and concept. Students get the opportunity to master various programming languages, including Java, Python, C++, and others.

 

  • Interactive Learning – Students are encouraged to participate in numerous group discussions, projects, and presentations in ProIT Academy’s highly interactive coaching classes. This helps them develop their interpersonal and communication abilities.

 

  • Individualized Attention – Every student should receive individualized attention, according to ProIT Academy. Each instructor gives a single pupil their full attention to resolve the challenges.

 

  • Industry-Specific Instruction -Training that applies to the workplace is provided to students at ProIT Academy. . They have partnerships with several top IT businesses, allowing students to network with professionals in the field and gain practical experience.

 

  • Flexible SchedulesProIT Academy provides various B. Sc. Computer Science coaching class times because they know students have varying schedules. The most convenient time for each student can be chosen.

 

  • Career Counseling – Students at ProIT Academy receive career counselling from the school. After receiving their B.Sc. in Computer Science, students can receive assistance from a dedicated placement cell in locating relevant employment prospects.

Do you think getting trained in such a way to apply for these jobs?

Future Scope of B. Sc. Computer Science

Students have many opportunities available after finishing their B. Sc—computer Science coursework. Students can find various jobs in the fast-expanding field of computer science. Software engineering, database administrator, network administrator, computer systems analyst, web developer, and mobile application developer are some employment opportunities for B. Sc. grads.

Over the next few years, there will likely be a significant growth in the need for computer science specialists. According to projections from the Bureau of Labour Statistics, employment in fields related to computers and information technology would grow by 11% between 2019 and 2029, which is far faster than the average for all jobs. Demand for mobile technology, cybersecurity, and computer software fuels this expansion.

Coaching Offered

Do you want to become eligible for these jobs?

Play Video

course structure

BCS SEMESTER-I

Problem Solving Using Computer and ‘C’ Programming – I:CS101

Duration: 1 – 2 Months

Course Objectives

1. To introduce the foundations of computing, programming and problem- solving using computers.

2. To develop the ability to analyze a problem and devise an algorithm to solve it.

3. To formulate algorithms, pseudocodes and flowcharts for arithmetic and logical problems

4. To understand structured programming approach.

5. To develop the basic concepts and terminology of programming in general.

6. To implement algorithms in the ‘C’ language.

7. To test, debug and execute programs.

Course Outcomes:- On completion of this course, students will be able to :

1. Explore algorithmic approaches to problem solving.

2. Develop modular programs using control structures and arrays in ‘C’.

 

UNIT I                     Problem Solving Aspects

1.1. Introduction to problem solving using computers.

1.2. Problem solving steps.

1.3 Algorithms-definition, characteristics , examples ,advantages and limitations.

1.4 Flowcharts – definition, notations , examples , advantages and limitations, Comparison with algorithms.

1.5 Pseudo codes – notations, examples, advantages and limitations.

1.6 Programming Languages as tools, programming paradigms, types of languages

1.7 Converting pseudo-code to programs.

1.8 Compilation process (compilers , interpreters), linking and loading, syntax and semantic errors, testing a program

1.9 Good Programming Practices (naming conventions , documentation, indentation).

UNIT II                  ‘C’ Fundamentals

2.1 History of ‘C’ language.

2.2 Application areas.

2.2 Structure of a ‘C’ program.

2.3 ‘C’ Program development life cycle.

2.4 Function as building blocks.

2.5 ‘C’ tokens

2.6 Character set, Keywords , Identifiers

2.7 Variables, Constants (character, integer, float, string, escape sequences, enumeration constant).

2.8 Data Types (Built-in and user defined data types).

2.9 Operators, Expressions, types of operators, Operator precedence and Order of evaluation.

2.10 Character input and output.

2.11 String input and output.

2.12 Formatted input and output

UNIT III              Control Structures

3.1 Decision making structures:- if ,if-else, switch and conditional operator.

3.2 Loop control structures:- while ,do while, for.

3.3 Use of break and continue.

3.4 Nested structures.

3.5 Unconditional branching (goto statement).

UNIT IV                Functions

4.1 Concept of function, Advantages of Modular design.

4.2 Standard library functions.

4.3 User defined functions:- declaration , definition, function call, parameter passing (by value), return statement.

4.4 Recursive functions.

4.5 Scope of variables and Storage classes.

UNIT V                   Arrays

5.1 Concept of array.

5.2 Types of Arrays – One , Two and Multidimensional array.

5.3 Array Operations – declaration, initialization, accessing array elements.

5.4 Memory representation of two-dimensional array (row major and column major)

5.5 Passing arrays to function.

5.6 Array applications – Finding maximum and minimum, Counting occurrences, Linear search, Sorting an array (Simple exchange sort, bubble sort), Merging two sorted arrays, Matrix operations (trace of matrix, addition, transpose, multiplication, symmetric, upper/ lower triangular matrix )

 

Database Management Systems: CS102 

Duration: 1 – 2 Months

Prerequisites

 Basic Knowledge of file system, storing data in file system and Operations on sets Course Objectives

 To understand the fundamental concepts of database.

 To understand user requirements and frame it in data model.

 To understand creations, manipulation and querying of data in databases.

Course Outcomes

On completion of the course, student will be able to–

 Solve real world problems using appropriate set, function, and relational models.

 Design E-R Model for given requirements and convert the same into database tables.

 Use SQL.

UNIT I                       Introduction to DBMS

1.1. Introduction

1.2. File system Vs DBMS

1.3. Levels of abstraction & data independence

1.4.Structure of DBMS (Roles of DBMS Users)

1.5. Users of DBMS Advantages of DBMS

UNIT II                    Conceptual Design

2.1. Overview of DB design process

2.2. Introduction to data models (E-R model, Relational model, Network model, Hierarchical model)

2.3. Conceptual design using ER data model (entities, attributes, entity sets, relations, relationship sets)

2.4. Constraints (Key constraints, Integrity constraints, referential integrity, unique constraint, Null/Not Null constraint, Domain, Check constraint, Mapping constraints)

2.5. Extended features – Specialization, Aggregation, Generalization

2.6. Pictorial representation of ER(symbols)

2.7. Structure of Relational Databases (concepts of a table)

2.8. DBMS Versus RDBMS

2.9. Case Studies on ER model

UNIT III              SQL

3.1. Introduction to query languages

3.2. Basic structure

3.3. DDL Commands

3.4. DML Commands

3.5. Forms of a basic SQL query (Expression and strings in SQL)

3.6. Set operations

3.7. Aggregate Operators and functions

3.8. Date and String functions

3.9. Null values

3.10. Nested Subqueries

3.11 SQL mechanisms for joining relations (inner joins, outer joins and their types)

3.12 Views

3.13. Examples on SQL (case studies)

UNIT IV                  Relational Database Design

4.1. Introduction to Relational-Database Design ( undesirable properties of a RDB design)

4.2. Functional Dependency(Basic concepts, F+, Closure of an Attribute set, Armstrong’s axioms)

4.3. Concept of Decomposition

4.4. Desirable Properties of Decomposition ( Lossless join, Lossy join, Dependency Preservation)

4.5. Concept of normalization, Normal Forms (1NF,2NF and 3NF), Examples

4.6 Keys Concept with Examples : Candidate Keys and Super Keys, Algorithm to find the super keys / primary key for a relation

 

BCS SEMESTER-II

Advanced ‘C’ Programming:CS201

Duration: 1 – 2 Months

Prerequisites

 Problem Solving tools like algorithms, flowcharts and pseudocodes.

 Basic knowledge of ‘C’ language.

Course Objectives :-

 To study advanced concepts of programming using the ‘C’ language.

 To understand code organization with complex data types and structures.

 To work with files.

Course Outcomes:- Student will be able to :-

 Develop modular programs using control structures, pointers, arrays, strings and structures

 Design and develop solutions to real world problems using C.

 

UNIT I                     Pointers

1.1. Introduction to Pointers.

1.2. Declaration, definition, initialization, dereferencing.

1.3. Pointer arithmetic.

1.4. Relationship between Arrays & Pointers- Pointer to array, Array of pointers.

1.5. Multiple indirection (pointer to pointer).

1.6. Functions and pointers- Passing pointer to function, Returning pointer from function, Function pointer.

1.7. Dynamic memory management- Allocation(malloc(),calloc()), Resizing(realloc()), Releasing(free()).,

1.8. Memory leak, dangling pointers.

1.9. Types of pointers.

UNIT II                  Strings

2.1 String Literals, string variables, declaration, definition, initialization.

2.2 Syntax and use of predefined string functions

2.3 Array of strings.

2.4. Strings and Pointers

2.5. Command line arguments.

UNIT III              Structures And Unions.

3.1. Concept of structure, definition and initialization, use of typedef.

3.2. Accessing structure members.

3.3. Nested Structures

3.4. Arrays of Structures

3.5. Structures and functions- Passing each member of structure as a separate argument, Passing structure by value / address.

3.6. Pointers and structures.

3.7. Concept of Union, declaration, definition, accessing union members.

3.8. Difference between structures and union.

UNIT IV                File Handling

4.1. Introduction to streams.

4.2. Types of files.

4.3. Operations on text files.

4.4. Standard library input/output functions.

4.5. Random access to files

UNIT V                   Preprocessor

5.1. Role of Preprocessor

5.2. Format of preprocessor directive

5.3. File inclusion directives (#include)

5.4. Macro substitution directive, argumented and nested macro

5.5. Macros versus functionstriangular matrix )

 

Relational Database Management Systems: CS202

 

Duration: 1 – 2 Months

Prerequisites

 Basic Knowledge of DBMS

 Knowledge of SQL Queries

 Basics of relational design

 Basics of ER model

Course Objectives

 To teach fundamental concepts of RDBMS (PL/PgSQL)

 To teach database management operations

 Be familiar with the basic issues of transaction processing and concurrency control

 To teach data security and its importance

Course Outcomes

On completion of the course, student will be able to–

 Design E-R Model for given requirements and convert the same into database tables.

 Use database techniques such as SQL & PL/SQL.

 Explain transaction Management in relational database System.

 Use advanced database Programming concepts

UNIT I                     Relational Database Design Using PLSQL

1.1 Introduction to PLSQL

1.2 PL/PgSqL: Datatypes, Language structure

1.3 Controlling the program flow, conditional statements, loops

1.4 Stored Procedures

1.5 Stored Functions

1.6 Handling Errors and Exceptions

1.7 Cursors

1.8 Trigger

UNIT II                 Transaction Concepts and concurrency control

2.1 Describe a transaction, properties of transaction, state of the transaction.

CBCS: 2019-2020 F.Y.B.Sc. Computer Science

SavitribaiPhule Pune University Page 16

2.2 Executing transactions concurrently associated problem in concurrent execution.

2.3 Schedules, types of schedules, concept of Serializability, Precedence graph for Serializability.

2.4 Ensuring Serializability by locks, different lock modes, 2PL and its variations.

2.5 Basic timestamp method for concurrency, Thomas Write Rule.

2.6 Locks with multiple granularity, dynamic database concurrency (Phantom Problem).

2.7 Timestamps versus locking.

2.8 Deadlock and deadlock handling – Deadlock Avoidance( wait-die, wound-wait), Deadlock Detection and Recovery (Wait for graph).

UNIT III              Database Integrity and Security Concepts

3.1 Domain constraints

3.2 Referential Integrity

3.3 Introduction to database security concepts

3.4 Methods for database security

 3.4.1Discretionary access control method

 3.4.2Mandatory access control

 3.4.3. Role base access control for multilevel security.

3.5 Use of views in security enforcement.

3.6 Overview of encryption technique for security.

3.7 Statistical database security3.13. Examples on SQL (case studies)

UNIT IV               Crash Recovery

4.1 Failure classification

4.2 Recovery concepts

4.3 Log base recovery techniques (Deferred and Immediate update)

4.4 Checkpoints, Relationship between database manager and buffer cache. Aries recovery algorithm.

4.5 Recovery with concurrent transactions (Rollback, checkpoints, commit)

4.6 Database backup and recovery from catastrophic failure

UNIT V                  Other Databases

5.1 Introduction to Parallel and distributed Databases

5.2 Introduction to Object Based Databases

5.3 XML Databases

5.4 NoSQL Database

5.5 Multimedia Databases

5.6 Big Data Databases

  

BCS SEMESTER-III

Data Structures and Algorithms – I:CS 231

Duration: 1 – 2 Months

Prerequisites:

Basic knowledge of algorithms and problem solving

Knowledge of C Programming Language

Course Objectives

1. To learn the systematic way of solving problem

2. To understand the different methods of organizing large amount of data

3. To efficiently implement the different data structures

4. To efficiently implement solutions for specific problems

5. To apply linear data structures.

Course Outcomes: On completion of the course, student will be able to

1. To use well-organized data structures in solving various problems.

2. To differentiate the usage of various structures in problem solution.

3. Implementing algorithms to solve problems using appropriate data structures.

 

UNIT I                     Introduction to Data Structures and Algorithm Analysis

1.1 Introduction

1.1.1 Need of Data Structure

1.1.2 Definitions – Data and information, Data type, Data object, ADT, Data Structure

1.1.3 Types of Data Structures

1.2 Algorithm analysis

1.2.1 Space and time complexity, Graphical understanding of the relation between different functions of n, examples of linear loop, logarithmic,quadratic loop etc.

1.2.2 Best, Worst, Average case analysis, Asymptotic notations (Big O, Omega Ω,

Theta  ), Problems on time complexity calculation.

UNIT II                  Array as a Data Structure

2.1 ADT of array, Operations

2.2Array applications – Searching

2.2.1 Sequential search, variations – Sentinel search, Probability search, ordered list search

2.2.2 Binary Search

2.2.3 Comparison of searching methods

2.3 Sorting Terminology- Internal, External, Stable, In-place Sorting

2.3.1 Comparison Based Sorting – Lower bound on comparison based sorting,

Methods- Bubble Sort, Insertion Sort, Selection Sort, Algorithm design strategies – Divide and Conquer strategy, Merge Sort, Quick Sort, complexity analysis of sorting methods.

 2.3.2 Non Comparison Based Sorting: Counting Sort, Radix Sort, complexity analysis.

 2.3.3 Comparison of sorting methods

UNIT III              Linked List.

3.1 List as a Data Structure, differences with array.

3.2 Dynamic implementation of Linked List, internal and external pointers

3.3 Types of Linked List – Singly, Doubly, Circular

3.4 Operations on Linked List – create, traverse, insert, delete, search, sort, reverse, concatenate, merge, time complexity of operations.

3.5 Applications of Linked List – polynomial representation, Addition of two polynomials

3.6 Generalized linked list – concept, representation, multiple-variable polynomial representation using generalized list.

UNIT IV                Stack

4.1 Introduction

4.2 Operations – init(), push(), pop(), isEmpty(), isFull(), peek(), time complexity of

operations.

4.3 Implementation- Static and Dynamic with comparison

4.4 Applications of stack

4.4.1 Function call and recursion, String reversal, palindrome checking

4.4.2 Expression types – infix, prefix and postfix, expression conversion and

evaluation (implementation of infix to postfix, evaluation of postfix)

4.4.3Backtracking strategy – 4 queens problem (implementation using stack)

UNIT V                   Queue

5.1 Introduction

5.2 Operations – init(), enqueue(), dequeue(), isEmpty(), isFull(), peek(),time complexity of operations, differences with stack.

5.3 Implementation – Static and Dynamic with comparison

5.4 Types of Queue – Linear Queue, Circular Queue, Priority Queue, Double Ended Queue (with implementation)

5.5 Applications – CPU Scheduling in multiprogramming environment, Round robin algorithm

 

Software Engineering: CS 232

Duration: 1 – 2 Months

Prerequisites

ER Modeling

Course Objectives

1. To get knowledge and understanding of software engineering discipline.

2. To learn analysis and design principles for software project development.

Course Outcomes

On completion of the course, student will be able to

1. Compare and chose a process model for a software project development.

2. Identify requirements analyze and prepare models.

3. Prepare the SRS, Design document, Project plan of a given software system.

UNIT I                     Introduction To Software Engineering andProcess Models

1.1 Definition of Software

1.2 Nature of Software Engineering

1.3 Changing nature of software

1.4 Software Process

1.4.1 The Process Framework

1.4.2 Umbrella Activities

1.4.3 Process Adaptation

1.5 Generic Process Model

1.6 Prescriptive Process Models

1.6.1 The Waterfall Model

1.6.2 Incremental Process Models

1.6.3 Evolutionary Process Models

1.6.4 Concurrent Models

1.6.5 The Unified Process

UNIT II                 Agile Development

2.1 What is Agility?

2.2 Agile Process

2.2.1 Agility Principles

2.2.2 The Politics Of Agile Development

2.2.3 Human Factors

2.3 Extreme Programming(XP)

2.3.1XP Values

2.3.2XP Process

2.3.3 Industrial XP

2.4 Adaptive Software Development(ASD)

2.5 Scrum

2.6 Dynamic System Development Model (DSDM)

2.7 Agile Unified Process (AUP)

UNIT III              Requirements Analysis

3.1 Requirement Elicitation,

3.2 Software requirement specification (SRS)

3.2.1 Developing Use Cases (UML)

3.3 Building the Analysis Model

 3.3.1 Elements of the Analysis Model

 3.3.2 Analysis Patterns

 3.3.3 Agile Requirements Engineering

3.4 Negotiating Requirements

3.5 Validating Requirements

UNIT IV               Requirements Modeling

4.1 Introduction to UML

4.2Structural Modeling

4.2.1 Use case model

4.2.2Class model

4.3Behavioral Modeling

4.3.1 Sequence model

4.3.2 Activity model

 4.3.3 Communication or Collaboration model

4.4 Architectural Modeling

 4.4.1 Component model

 4.4.2 Artifact model

 4.4.3 Deployment model

UNIT V                  Design Concepts

5.1 Design Process

5.1.1 Software Quality Guidelines and Attributes

5.1.2 Evolution of Software Design

5.2 Design Concepts

 5.2.1 Abstraction

5.2.2 Architecture

5.2.3 Patterns

5.2.4 Separation of Concerns

5.2.5 Modularity

5.2.6 Information Hiding

5.2.7 Functional Independence

5.2.8 Refinement

5.2.9 Aspects

5.2.10 Refactoring

5.2.11 Object Oriented Design Concepts

5.2.12 Design Classes

5.2.13 Dependency Inversion

5.2.14 Design for Test

5.3 The Design Model

5.3.1 Data Design Elements

5.3.2 Architectural Design Elements

5.3.3 Interface Design Elements

5.3.4 Component-Level Diagram

5.4.5 Deployment-Level Diagram

 

BCS SEMESTER-IV

 DATA STRUCTURES AND ALGORITHMS-II:CS 241

Duration: 1 – 2 Months

Prerequisites :

• Knowledge of C Programming Language

• Basic knowledge of algorithms

• Basic knowledge of linear data structures

Course Objectives

• To learn the systematic way of solving problems

• To design algorithms

• To understand the different methods of organizing large amount of data

• To efficiently implement the non-linear data structures

Course Outcomes: On completion of this course students will be able to

• Implementation of different data structures efficiently

• Usage of well-organized data structures to handle large amount of data

• Usage of appropriate data structures for problem solving

 

UNIT I                     Tree

1.1 Concept and Terminologies

1.2 Types of Binary trees – Binary tree, skewed tree, strictly binary tree, full binary tree,

complete binary tree, expression tree, binary search tree, Heap

1.3 Representation – Static and Dynamic

1.4 Implementation and Operations on Binary Search Tree – Create, Insert, Delete, Search,

Tree traversals– preorder, inorder, postorder ( recursive implementation), Level-order

traversal using queue, Counting leaf, non-leaf and total nodes, Copy, Mirror.

1.5 Applications of trees

 1.5.1 Heap sort, implementation

 1.5.2 Introduction to Greedy strategy, Huffman encoding (implementation using

priority queue)

UNIT II                  Efficient Search Trees

2.1 Terminology: Balanced trees – AVL Trees, Red Black tree, splay tree, Lexical search

tree -Trie

2.2 AVL Tree- concept and rotations

2.3 Red Black trees – concept, insertion and deletion.

2.4 Multi-way search tree – B and B+ tree – Insertion, Deletion

UNIT III              Graph

3.1 Concept and terminologies

3.2 Graph Representation –Adjacency matrix, Adjacency list, Inverse Adjacency list,

 Adjacency multilist

3.3 Graph Traversals – Breadth First Search and Depth First Search (with implementation)

3.4 Applications of graph

3.4.1 Topological sorting

 3.4.2 Use of Greedy Strategy in Minimal Spanning Trees (Prims and Kruskals

algorithm)

 3.4.3 Single source shortest path – Dijkstra’s algorithm

 3.4.4 Dynamic programming strategy, All pairs shortest path – Floyd Warshall

algorithm

 3.4.5 Use of graphs in social networks

UNIT IV                Hash Table

4.1 Concept of hashing

4.2 Terminologies – Hash table,Hash function, Bucket, Hash address, collision, synonym,

overflow etc.

4.3 Properties of good hash function

4.4 Hash functions : division function, MID square , folding methods

4.5 Collision resolution techniques

4.5.1 Open Addressing – Linear probing, quadratic probing, rehashing

 4.5.2 Chaining – Coalesced , separate chaining

Computer Networks-I: CS 242 Title

Duration: 1 – 2 Months

Prerequisites

Principles of Digital Electronics

Communication Principles

Course Objectives

To prepare students with basic networking concepts: data communication, protocolsand

standards, various topologies and applications of network.

Course Outcomes

1. Have a good understanding of the OSI and TCP/IP Reference Models and in

particular have a good knowledge of Layers.

2. Understand the working of various protocols.

3. Analyze the requirements for a given organizational structure and select the most

appropriate networking architecture and technologies

UNIT I                     Introduction to Networks and Network Models

1.1 Data communication, components, data representation

1.2 Networks, network criteria, network types – LAN, WAN, Switching, The Internet, Accessing the Internet

1.3 Network Software- Protocol hierarchies, Design Issues of the layer, Connection Oriented and Connectionless Services,

1.4 Reference models – OSI Reference Models, TCP/IP Reference model, Connection devices in different layers, Comparison of OSI and TCP/IP Reference Models.

UNIT II                 Lower Layers

2.1 Communication at the physical layer, data rate limits – Noiseless channel (Nyquist bit rate), noisy channel (Shannon capacity), Performance – bandwidth, throughput, latency, bandwidth-delay product, jitter

2.2 Design issues of Data Link Layer, Services – Framing, flow control, error control, congestion control, Link layer addressing

2.3 Framing Methods – Character Count, Flag bytes with Byte Stuffing, Flags bits with Bit Stuffing, Physical Layer Coding Violations

2.4 The Channel allocation problem, Static and dynamic allocation, Media Access Methods – Taxonomy of multiple-access protocols

2.5 Switching and TCP/IP layers, Types – circuit switching, packet switching and message switching

2.6 Wired LANs – Standard Ethernet characteristics, Addressing, Access method, implementation, Fast and Gigabit Ethernet

2.7 Wireless LANs – Architectural comparison, Characteristics, Access control, IEEE 802.11

CBCS: 2020-21 S.Y.B.Sc. Computer Science

SavitribaiPhule Pune University Page 14

architecture, Physical layer, MAC sublayer, Bluetooth architecture, Layers

UNIT III              Network Layer

3.1 Network layer services – Packetizing, Routing and forwarding, other services

3.2 Open and closed loop congestion control

3.3 IPv4 addressing- Address space, classful addressing, Subnetting, Supernetting, classless addressing, Network address resolution (NAT)

3.4 Forwarding of IP packets- based on destination address, based on label

3.5 Network Layer Protocols- Internet Protocol (IP), IPv4 datagram format, Fragmentation, options

3.6 Mobile IP-addressing, agents, Three phases

3.7 Next Generation IP- IPv6 address representation, address space, address types, IPv6 protocol, packet format, extension header, Difference between IPv4 and IPv6

3.8 Routing – General idea, Algorithms – Distance vector routing, link state routing, pathvector routing

 

UNIT IV               Transport Layer

4.1 Transport layer Services- Process-to-process communication, Addressing, Encapsulation and decapsulation, Multiplexing and demultiplexing, Flow control, Pushing or pulling, Flow control, Buffers, Sequence numbers, Acknowledgements, sliding window, congestion control

4.2 Connectionless and Connection-oriented service, Port numbers

4.3 Transport layer protocols- User datagram protocol, user datagram, UDP services

4.4 Transmission Control Protocol – TCP Services, TCP Features, TCP Segment format, three-way handshake for connection establishment and termination, State transition diagram, windows in TCP.

 

BCS SEMESTER-V

Systems Programming:CS-331

Duration: 1 – 2 Months

Aim :

·          To understand the design and implementation issues of System programs that play an importantrole in program development.

Objectives :

·          To understand the design structure of a simple editor.

·          To understand the design structure of Assembler and macro processor for an hypotheticalsimulated computer.

·          To understand the working of linkers and loaders and other development utilities.

·          To understand Complexity of Operating system as a software.

 

UNIT I                     Introduction

1.1. Types of program – System program and Application program.

1.2. Difference between system programming and application programming.

1.3. Elements of Programming environment – Editor, Preprocessor, Assembler, Compiler,Interpreter, Linker and Loader, Debugger, Device drivers, Operating System.

1.4. Simulation of simple computer smac0 (hypothetical computer) -Memory, Registers, Condition Codes, Instruction format, Instruction Set, smac0 programs.

UNIT II                 Editors

2.1 Definition, need/purpose of editor.

2.2 Types of editor- Examples ed, sed, VIM &emacs

2.3 Structure of editor

UNIT III              Assembler.

3.1 Definition.

3.2 Features of assembly language, advantages

3.3 Statement format, types of statements – Imperative, Declarative, Assembler Directive.

3.4 Constants and Literals.

3.5 Advanced assembler directives (LTORG, ORIGIN, EQU),

3.6 Design of assembler – Analysis Phase and Synthesis Phase.

3.7 Overview of assembling process

3.8 Pass Structure of Assembler – One pass, Two pass assembler.

3.9 Problems of 1-pass assembler – forward reference, efficiency, Table of Incomplete Instructions.

3.10 Design of 2-pass Assembler – Pass-I and Pass-II

3.11 Data structure of 2-pass assembler.

3.12. Intermediate Code – Need, Forms-variant I and Variant II

UNIT IV               Macros and Macro Processors

4.1 Definition

4.2 Macro definition and call

4.3 Macro expansion – positional and keyword parameters

4.4 Design of Data structures to be used for Macro definition and use

4.5 Nested macro calls

4.6 Advanced macro facilities – alteration of flow of control during expansion, expansion time variable, conditional expansion, expansion time loops. (with examples)

4.7 Design of macro preprocessor – Design overview, data structure, processing of macrodefinition and macro expansion (Except algorithms)

4.8 Macro assembler – Comparison of macro preprocessor and macro assembler. Pass structure ofmacro assembler.

UNIT V                  Compiler Design options

5.1 Interpreter – Use of interpreter, definition, Comparison with compiler, Overview of interpretation, Pure and impure interpreter.

5.2 P-code compiler

UNIT VI               Linker and Loader

6.1 Introduction

6.2 Concept of bindings, static and dynamic binding, translated, linked and load time addresses.

6.3 Relocation and linking concept – program relocation, performing relocation, public andexternal references, linking, binary program, object module.

6.4 Relocatability – nonrelocatable, relocatable, and self relocating programs (no algorithms),Linking for Overlays.

6.5 Object file formats: a.out, ELF, COFF,EXE, PE and COM

UNIT VII           Debuggers & Development utilities

7.1 Debugging functions and capabilities

7.2 Types of debuggers: visual & console -Case study of ddd(visual ) and gdb(console)

7.3 Development utilities on UNIX/Linux strip, make, nm, objdump, intermediate files incompilation process etc.

UNIT VIII        Operating System as System Software

8.1 What Operating Systems Do – User View, System View, Defining OS

8.2 Computer System Architecture – Single processor system, Multiprocessor systems, ClusteredSystems

8.3 Operating System Operations – Dual mode operation, Timer

8.4 Process Management

8.5 Memory Management

8.6 Storage Management – File system management, Mass storage management, Cashing, I/Osystems

8.7 Protection and Security

8.8 Distributed Systems

8.9 Special Purpose System – Real time embedded systems, Multimedia systems, Handheldsystems,

8.10 Computer Environment – Traditional computing, Client server computing, Peer to peerComputing

UNIT IX              System Structure

9.1 Operating System Services

9.2 User Operating-System Interface – Command interpreter, GUI

9.3 System Calls

9.4 Types of System Calls – Process control, File management, Device management,Information maintenance, Communication, Protection

  

Theoretical Computer Science: CS-332

Duration: 1 – 2 Months

Aim:

·         To have a introductory knowledge of automata, formal language theory and computability.

Objectives:

·         To have an understanding of finite state and pushdown automata.

·         To have a knowledge of regular languages and context free languages.

·         To know the relation between regular language, context free language and correspondingrecognizers.

·         To study the Turing machine and classes of problems.

Prerequisite:

·          Sets, Operations on sets, Finite & infinite sets Formal Language

·          Relation, Equivalence Relation,(reflexive, transitive and symmetric closures)

UNIT I                     Introduction

1.1 Symbol, Alphabet, String, Prefix&& Suffix of Strings, Formal Language, Operations onLanguages.

1.2 Regular Expressions (RE) : Definition & Example

1.3 Regular Expressions Identities.

UNIT II                 Finite Automata

2.1 Deterministic finite Automaton – Definition, DFA as language recognizer, DFA as a patternrecognizer.

2.2 Nondeterministic finite automaton – Definition and Examples.

2.3 NFA TO DFA : Method (From Book 4)

2.4 NFA with ε- transitions Definition and Examples.

2.5 NFA with ε-Transitions to DFA & Examples

2.6 Finite automaton with output – Mealy and Moore machine, Definition and Examples.

2.7 Minimization of DFA, Algorithm & Problem using Table Method.

UNIT III              Regular Languages

3.1 Regular language-Definition and Examples.

3.2 Conversion of RE To FA-Examples.

3.3 Pumping lemma for regular languages and applications.

3.4 Closure properties of regular Languages(Union, Concatenation, Complement, Intersection and Kleene closure)

UNIT IV               Context Free Grammar and Languages

4.1 Grammar – Definition and Examples.

4.2 Derivation-Reduction – Definition and Examples.

4.3 Chomsky Hierarchy.

4.4 CFG : Definition & Examples. LMD, RMD, ,Parse Tree

4.5 Ambiguous Grammar : Concept & Examples.

4.6 Simplification of CFG :

4.6.1 Removing Useless Symbols,

4.6.2 Removing unit productions

4.6.3 Removing є productions &Nullable symbols

4.7 Normal Forms :

4.7.1 Chomsky Normal Form (CNF) Method & Problem

4.7.2 Greibach Normal form (GNF) Method & Problem

4.8 Regular Grammar : Definition.

4.8.1 Left linear and Right Linear Grammar-Definition and Example.

4.8.2 Equivalence of FA & Regular Grammar

4.8.2.1 Construction of regular grammar equivalent to a given DFA

4.8.2.2 Construction of a FA from the given right linear grammar

4.9 Closure Properties of CFL’s(Union, concatenation and Kleen closure) Method and examples

UNIT V                  Push Down Automaton

5.1 Definition of PDA and examples

5.2 Construction of PDA using empty stack and final State method : Examples using stack method

5.3 Definition DPDA & NPDA, their correlation and Examples of NPDA

5.4 CFG (in GNF) to PDA : Method and examples

UNIT VI               Turing Machine

6.1 The Turing Machine Model and Definition of TM

6.2 Design of Turing Machines

6.3 Problems on language recognizers.

6.4 Language accepted by TM

6.5 Types of Turing Machines(MultitrackTM,Two way TM, MultitapeTM,Non-deterministic TM)

6.6 Introduction to LBA (Basic Model) &CSG.( Without Problems)

6.7 Computing TM, Enumerating TM, Universal TM

6.8 Recursive Languages

6.5.1. Recursive and Recursively enumerable Languages.

6.5.2. Difference between recursive and recursively enumerable language.

6.9 Turing Machine Limitations

6.10 Decision Problem, Undecidable Problem, Halting Problem of TM

  

Computer Networks -I: CS-333

Duration: 1 – 2 Months

Pre-requisites:

·          Basics of computer, Knowledge of ‘C’ for assignment.

Objectives: This course will prepare students in Basic networking concepts.

·          Understand different types of networks, various topologies and application of networks.

·          Understand types of addresses, data communication.

·          Understand the concept of networking models, protocols, functionality of each layer.

·          Learn basic networking hardware and tools.

UNIT I                     Introduction to Computer Networks

1.1 Computer Networks- Goals and applications – Business Application, Home Application, Mobile User, Social Issues

1.2 Network Hardware – Broadcast and point-to-point

1.3 topologies – star, bus, mesh, ring etc.

1.4 Network Types-LAN, MAN, WAN, Wireless Networks, HomeNetworks, Internetwork

1.5 Data Communication-Definition, components, data representation,Data Flow

1.6 Protocols &Standards De facto and De jure standard

1.7 Network Software – Protocol Hierarchies -layers, protocols, peers,interfaces Network architecture, protocol stack,Design issues of the layers –addressing, error control,flow control, multiplexing and demultiplexing, routingConnection-oriented and connectionless service,Service Primitives – listen, connect, receive, send, disconnectand Berkley Socket ,the relationships of services to protocols

UNIT II                 Network Models

2.1 OSI Reference Model – Functionality of each layer

2.2 TCP/IP Reference Model, Comparison of OSI andTCP/IP model

2.3 TCP/IP Protocol Suite

2.4 Addressing – Physical, Logical and Port addresses

UNIT III              Transmission Media

3.1 Twisted pair cable – UTP Vs STP, categories connectors &applications , Coaxial cable – standards, connectors & applicationsFiber Optic cable – propagation modes, connectors &applications(No diagrams will be asked in examination)

3.2 Unguided Media – Wireless- Radio Waves,-Microwaves, Infrared

3.3 Light wave transmission

3.4 Types of cabling and Networking Tool – CAT5 and CAT6 CableColor Code, Crossover Cabling and Straight Through Cable,Crimping and Line testing tool

UNIT IV               The Physical Layer

4.1 Analog and Digital data, Analog and Digital signals,Periodic & Non-periodic signals

Digital Signals- Bit rate, bit length, basebandTransmission (no cases)

4.2 Transmission Impairments –attenuation, distortionand noise, Data Rate Limits – Noiseless channel:Nyquist’s bit rate,noisy channel : Shannon’s law

4.3 Performance of the Network Bandwidth, Throughput,Latency(Delay), Bandwidth –Delay Product, Jitter

4.4 Line Coding Characteristics, Line Coding Schemes –Unipolar – NRZ, Polar-NRZ-I, NRZ-L, RZ,Manchester and Differential Manchester

4.5 Transmission Modes, Parallel Transmission andSerial Transmission –Asynchronous and Synchronous andIsochronous

4.6 Trunks & Multiplexing FDM and TDM

4.7 Switching – Circuit Switching, Message Switching and PacketSwitching, comparison of circuit & packet switching

4.8 Physical Layer Devices Repeaters, Hubs- active hub Passive hub

UNIT V                  The Data Link Layer

5.1 Design Issues – Services provided to the Network Layer , Framing –Concept, Methods – Character Count, Flag bytes with Byte Stuffing,Starting & ending Flags with Bit Stuffing and Physical Layer CodingViolations, Error Control, Flow Control

5.2 Error detection code CRC

5.3 Data Link Layer Protocols –Noiseless channel -A Simplex, StopAnd-Wait protocol, noisy channel –stop & wait, ARR, Pipelining,Go –back –N ARR & ARQ, selective repeat ARR

5.4 Sliding Window Protocols Piggybacking-Need,Advantages/Disadvantages, 1-bit sliding window protocols,

5.5 Data Link Layer Protocols-HDLC – frame format, all frame typesPPP – Use, Frame Format, Use of PPP in the Internet

5.6 Data Link Layer Devices – Bridges – Filtering, Transparent Bridges,spanning tree and Source Routing Bridges, Bridges ConnectingDifferent LANs

5.7 Remote bridges

UNIT VI               The Medium Access Sublayer

6.1 Random Access Protocols ALOHA – pure and slotted

6.2 CSMA – 1-persistent, p-persistent and non-persistentCSMA/CD,CSMA/CA

6.3 Controlled Access Reservation, Polling and Token Passing

6.4 Channelization FDMA, TDMA and CDMA-Analogy, Idea,Chips, Data Representation, Encoding and Decoding, SignalLevel, Sequence Generation

  

Internet Programming I: CS-334

Duration: 1 – 2 Months

Aim:

·          To Design dynamic and interactive Web pages.

Objective:

·          Learn Core-PHP, Server Side Scripting Language

·          Learn PHP-Database handling.

Prerequisite:

·          HTML.

UNIT I                     Introduction to web techniques

1.1 HTTP basics, Introduction to Web server and Web browser

1.2 Introduction to PHP

1.3 What does PHP do?

1.4 Lexical structure

1.5 Language basics

UNIT II                 Function and String

2.1Defining and calling a function

2.2 Default parameters

2.3 Variable parameters, Missing parameters

2.4 Variable function, Anonymous function

2.5 Types of strings in PHP

2.6 Printing functions

2.7 Encoding and escaping

2.8 Comparing strings

2.9 Manipulating and searching strings

2.10 Regular expressions

UNIT III              Arrays

3.1 Indexed Vs Associative arrays

3.2 Identifying elements of an array

3.3 Storing data in arrays

3.4 Multidimensional arrays

3.4Extracting multiple values

3.5 Converting between arrays and variables

3.6 Traversing arrays

3.7 Sorting

3.8 Action on entire arrays

3.9 Using arrays

 

UNIT IV               Introduction to Object Oriented Programming

4.1 Classes

4.2 Objects

4.3 Introspection

4.4 Serialization

4.5 Inheritance

4.6 Interfaces

4.7Encapsulation

UNIT V                  Files and directories

5.1 Working with files and directories

5.2 Opening and Closing, Getting information about file, Read/write to file,Splitting name and path from file, Rename and delete files

5.3 Reading and writing characters in file

5.4 Reading entire file

5.5 Random access to file data

5.6 Getting information on file

5.7 Ownership and permissions

UNIT VI               Databases (PHP-PostgreSQL)

6.1 Using PHP to access a database

6.2 Relational databases and SQL

6.3 PEAR DB basics

6.4 Advanced database techniques

6.5 Sample application (Mini project)

  

Programming in Java-I: CS-335

Duration: 1 – 2 Months

Prerequisite:

·          Knowledge of C Programming language

Objective:

·          To learn Object Oriented Programming language

·          To handle abnormal termination of a program using exception handling

·          To create flat files

·          To design User Interface using Swing and AWT

UNIT I                     An Introduction to Java

1.1 A Short History of Java

1.2 Features or buzzwords of Java

1.3 Comparison of Java and C++

1.4 Java Environment

1.5 Simple java program

1.6 Java Tools – jdb, javap, javadoc

1.7 Java IDE – Eclipse/NetBeans (Note: Only for Lab Demonstration)

UNIT II                 An Overview of Java

2.1 Types of Comments

2.2 Data Types

2.3 Final Variable

2.4 Declaring 1D, 2D array

2.5 Accepting input using Command line argument

2.6 Accepting input from console (Using BufferedReader class)

UNIT III              Objects and Classes

3.1 Defining Your Own Classes

3.2 Access Specifiers (public, protected, private, default)

3.3 Array of Objects

3.4 Constructor, Overloading Constructors and use of ‘this’ Keyword

3.5 static block, static Fields and methods

3.6 Predefined class – Object class methods (equals(), toString(), hashcode(),getClass())

3.7 Inner class

3.8 Creating, Accessing and using Packages

3.9 Creating jar file and manifest file

3.10 Wrapper Classes

3.11 Garbage Collection (finalize() Method)

3.12 Date and time processing

 

UNIT IV               Inheritance and Interface

4.1 Inheritance Basics (extends Keyword) and Types of Inheritance

4.2 Superclass, Subclass and use of Super Keyword

4.3 Method Overriding and runtime polymorphism

4.4 Use of final keyword related to method and class

4.5 Use of abstract class and abstract methods

4.6 Defining and Implementing Interfaces

4.7 Runtime polymorphism using interface

4.7 Object Cloning

UNIT V                  Exception Handling

5.1 Dealing Errors

5.2 Exception class, Checked and Unchecked exception

5.3 Catching exception and exception handling

5.4 Creating user defined exception

5.5 Assertions

UNIT VI               Strings, Streams and Files

6.1 String class and StringBuffer Class

6.2 Formatting string data using format() method

6.2 Using the File class

6.3 Stream classes

Byte Stream classes

Character Stream Classes

6.4 Creation of files

6.5 Reading/Writing characters and bytes

6.6 Handling primitive data types

6.7 Random Access files

UNIT VII           User Interface Components with AWT and Swing

7.1 What is AWT? What is Swing? Difference between AWT and Swing.

7.2 The MVC Architecture and Swing

7.3 Layout Manager and Layouts, The JComponent class

7.4 Components –JButton, JLabel, JText, JTextArea, JCheckBox and JRadioButton,JList, JComboBox, JMenu and JPopupMenu Class, JMenuItem and JCheckBoxMenuItem,JRadioButtonMenuItem , JScrollBar

7.5 Dialogs (Message, confirmation, input), JFileChooser, JColorChooser

7.6 Event Handling: Event sources, Listeners

7.7 Mouse and Keyboard Event Handling

7.8 Adapters

7.9 Anonymous inner class

UNIT VIII        Applet

8.1 Applet Life Cycle

8.2 appletviewer tool

8.3 Applet HTML Tags

8.4 Passing parameters to Applet

8.5 repaint() and update() method

  

Object Oriented Software Engineering: CS-336

Duration: 1 – 2 Months

Prerequisites

·          Knowledge of Object Oriented Concepts

·          Knowledge of Classical Software Engineering

Aim

·          To Understand Object Oriented Modeling techniques and their applicability.

Objectives

·          Understanding importance of Object Orientation in Software engineering

·          Understand the components of Unified Modeling Language

·          Understand techniques and diagrams related to structural modeling

·          Understand techniques and diagrams related to behavioral modeling

·          Understand techniques of Object Oriented analysis, design and testing

UNIT I                     Object Oriented Concepts and Principles

1.1 What is Object Orientation ? – Introduction , Object , Classes and Instance , Polymorphism,Inheritance

1. 2 Object Oriented System Development- Introduction, Function/Data Methods (With Visibility),Object Oriented Analysis, Object Oriented Construction

1.3 Identifying the Elements of an Object Model

1.4 Identifying Classes and Objects

1.5 Specifying the Attributes (With Visibility)

1.6 Defining Operations

1.7 Finalizing the Object Definition

UNIT II                 Introduction to UML

2.1 Concept of UML

2.2 Advantages of UML

UNIT III              Basic Structural Modeling

3.1 Classes

3.2 Relationship

3.3 Common Mechanism

3.4 Class Diagram

UNIT IV               Advanced Structural Modeling

4.1 Advanced Classes

4.2 Advanced Relationship

4.3 Interface

4.4 Types and Roles

4.5 Packages

4.6 Object Diagram

UNIT V                  Basic Behavioral Modeling

5.1 Interactions

5.2 Use Cases and Use Case Diagram with stereo types

5.3 Interaction Diagram

5.4 Sequence Diagram

5.6 Activity Diagram

5.6 State Chart Diagram

UNIT VI               Object Oriented Analysis

6.1 Iterative Development and the Rational Unified Process

6.2 Inception

6.3 Understanding Requirements

6.4 Use Case Model From Inception to Elaboration

6.5 Elaboration

UNIT VII           Object Oriented Design

7.1 The Booch Method, The Coad and Yourdon Method and Jacobson Method and RaumbaughMethod

7.2 The Generic Components of the OO Design Model

7.3 The System Design Process – Partitioning the Analysis Model, Concurrency and Sub SystemAllocation, Task Management Component, The Data Management Component, The ResourceManagement Component, Inter Sub System Communication

7.4 Object Design Process

UNIT VIII        Architectural modeling

8.1 Component

8.2 Components Diagram

8.3 Deployment Diagram

8.4 Collaboration Diagram

UNIT IX              Object Oriented Testing

9.1 Object Oriented Testing Strategies

9.2 Test Case Design for Object Oriented Software

9.3 Inter Class Test Case Design

 

BCS SEMESTER-VI

Operating Systems:CS-341

Duration: 1 – 2 Months

Aim :

·         To understand the design and implementation issues of Operating System.

Objectives :

·         To understand design issues related to process management and various related algorithms

·         To understand design issues related to memory management and various related algorithms

·         To understand design issues related to File management and various related algorithms

 

UNIT I                     Introduction

1.1 Operating System Structure – Simple structure, Layered approach, Micro kernels, Modules

1.2 Virtual Machines – Introduction, Benefits

1.3 System Boot

UNIT II                 Process Management

2.1 Process Concept – The process, Process states, Process control block.

2.2 Process Scheduling – Scheduling queues, Schedulers, context switch

2.3 Operations on Process – Process creation with program using fork(), Process termination

2.4 Interprocess Communication – Shared memory system, Message passing systems.

UNIT III              Multithreaded Programming

3.1 Overview

3.2 Multithreading Models

UNIT IV               Process Scheduling

4.1 Basic Concept – CPU-I/O burst cycle, CPU scheduler, Preemptive scheduling, Dispatcher

4.2 Scheduling Criteria

4.3 Scheduling Algorithms – FCFS, SJF, Priority scheduling, Round-robin scheduling, Multiple queue scheduling, Multilevel feedback queue scheduling

4.4 Thread Scheduling

UNIT V                  Process Synchronization

5.1 Background

5.2 Critical Section Problem

5.3 Semaphores: Usage, Implementation

5.4 Classic Problems of Synchronization – The bounded buffer problem, The reader writer problem, The dining philosopher problem

UNIT VI               Deadlocks

6.1 System model

6.2 Deadlock Characterization – Necessary conditions, Resource allocation graph

6.3 Deadlock Prevention

6.4 Deadlock Avoidance – Safe state, Resource allocation graph algorithm, Banker’s Algorithm

6.5 Deadlock Detection

6.6 Recovery from Deadlock – Process termination, Resource preemption

UNIT VII           Memory Management

7.1.Background – Basic hardware, Address binding, Logical versus physical address space, Dynamic loading, Dynamic linking and shared libraries

7.2 Swapping

7.3 Contiguous Memory Allocation – Memory mapping and protection, Memory allocation, Fragmentation

7.4 Paging – Basic Method, Hardware support, Protection, Shared Pages

7.5 Segmentation – Basic concept, Hardware

7.6 Virtual Memory Management – Background, Demand paging, Performance of demand paging, Page replacement – FIFO, OPT, LRU, Second chance page replacement

UNIT VIII        File System

8.1 File concept

8.2 Access Methods – Sequential, Direct, Other access methods

8.3 Directory and Disk Structure – Storage structure, Directory overview, Single level directory, Two level directory, Tree structure directory, Acyclic graph directory, General graph directory

8.4 Allocation Methods – Contiguous allocation, Linked allocation, Indexed allocation

8.5 Free Space Management – Bit vector, Linked list, Grouping, Counting, Space maps

  

Compiler Construction: CS-342

Duration: 1 – 2 Months

Aim :

·         To understand the various phases of a compiler and to develop skills in designing a compiler

Objective :

·         To understand design issues of a lexical analyzer and use of Lex tool

·         To understand design issues of a parser and use of Yacc tool

·         To understand issues related to memory allocation

·         • To understand and design code generation schemes

UNIT I                     Introduction

1.1 Definition of Compiler, Aspects of compilation.

1.2 The structure of Compiler.

1.3 Phases of Compiler – Lexical Analysis,Syntax Analysis, Semantic Analysis, IntermediateCode generation, code optimization, code generation.

1.4 Error Handling

1.5 Introduction to one pass &Multipass compilers, cross compiler, Bootstrapping.

UNIT II                 Lexical Analysis(Scanner)

2.1 Review of Finite automata as a lexical analyzer,

2.2 Applications of Regular Expressions and Finite Automata ( lexical analyzer, searching using RE), Input buffering, Recognition of tokens

2.3 LEX: A Lexical analyzer generator (Simple Lex Program)

UNIT III              Syntax Analysis(Parser)

3.1 Definition , Types of Parsers

3.2 Top-Down Parser –

3.2.1Top-Down Parsing with Backtracking: Method & Problems

3.2.2 Drawbacks of Top-Down parsing with backtracking,

3.2.3Elimination of Left Recursion(direct & indirect)

3.2.4Need for Left Factoring & examples

3.3 Recursive Descent Parsing : Definition

3.3.1Implementation of Recursive Descent Parser Using Recursive Procedures

3.4 Predictive [LL(1)]Parser(Definition, Model)

3.4.1Implementation of Predictive Parser[LL(1)]

3.4.2 FIRST & FOLLOW

3.4.3 Construction of LL(1) Parsing Table

3.4.4Parsing of a String using LL(1) Table

3.5 Bottom-Up Parsers

3.6 Operator Precedence Parser -Basic Concepts

3.6.1Operator Precedence Relations form Associativity & Precedence

3.6.2 Operator Precedence Grammar

3.6.3 Algorithm for LEADING &TRAILING(with ex.)

3.6.4Algorithm for Operator Precedence Parsing (with ex.)

3.6.5Precedence Functions

3.7 Shift Reduce Parser

3.7.1Reduction, Handle, Handle Pruning

3.7.2Stack Implementation of Shift Reduce Parser ( with examples)

3.8 LR Parser

3.8.1Model

3.8.2Types [SLR(1), Canonical LR, LALR] Method & examples.

3.9 YACC (from Book 3) –program sections, simple YACC program for expression evaluation 

UNIT IV               Syntax Directed Definition

4.1Syntax Directed Definitions(SDD)

4.1.1 Inherited & Synthesized Attributes

4.1.2 Evaluating an SDD at the nodes of a Parse Tree, Example

4.2 Evaluation Orders for SDD’s

4.2.1 Dependency Graph

4.2.2 Ordering the Evaluation of Attributes

4.2.3 S-Attributed Definition

4.2.4 L-Attributed Definition

4.3 Application of SDT

4.3.1 Construction of syntax trees,

4.3.2 The Structure of a Type

4. 4 Translation Schemes

4.4.1 Definition, Postfix Translation Scheme

UNIT V                  Memory Allocation

5.1 Memory allocation – static and dynamic memory allocation,

5.2 Memory allocation in block structure languages, Array allocation and access.

UNIT VI               Code Generation and Optimization

6.1 Compilation of expression –

6.1.1 Concepts of operand descriptors and register descriptors with example.

6.1.2 Intermediate code for expressions – postfix notations,

6.1.3 triples and quadruples, expression trees.

6.2 Code Optimization – Optimizing transformations – compile time evaluation, elimination ofcommon sub expressions, dead code elimination, frequency reduction, strength reduction

6.3 Three address code

6.3.1. DAG for Three address code

6.3.2 The Value-number method for constructing DAG’s.

6.4 Definition of basic block, Basic blocks And flow graphs

6.5 Directed acyclic graph (DAG) representation of basic block

6.6 Issues in design of code generator

  

Computer Networks -II: CS-343

Duration: 1 – 2 Months

Pre-requisites:

·          Basics of computer networks covered last semester, Knowledge of ‘C’.

Objectives: This course will prepare students in

·          Basic networking concepts.

·          Understand wired and wireless networks, its types, functionality of layer.

·          Understand importance of network security and cryptography.

UNIT I                     Wired LANs

1.1 IEEE Standards Data Link Layer

1.2 Standard Ethernet MAC Sublayer – Frame Format, Frame Length,Addressing, Access Method

1.3 Physical Layer – Encoding and Decoding, 10Base5, 10Base2,10Base-T, 10Base-F,

1.4 Changes In The Standard – Bridged Ethernet, Switched Ethernet,Full Duplex Ethernet

1.5 Fast Ethernet – Goals, MAC Sublayer,Topology, Implementation

1.6 Gigabit Ethernet – goals, MAC Sublayer, Topology, Implementation

1.7 Ten-Gigabit Ethernet – goals, MAC Sublayer, Physical Layer

1.8 Backbone Networks Bus Backbone, Star Backbone, ConnectingRemote LANs

1.9 Virtual LANs Membership, Configuration, Communication betweenSwitches, IEEE standards Advantages

UNIT II                 Wireless LAN

2.1 IEEE 802.11 Architecture – Basic Service Set, Extended Service Set,Station Types

2.2 Bluetooth Architecture – Piconet, scatternet

UNIT III              The Network Layer

3.1 Design Issues Store-and-forward packet switching, ServicesProvided to the Transport Layer, Implementation of ConnectionlessService, Implementation of Connection Oriented Service,Comparison of Virtual Circuit and Datagram subnets

3.2 Logical Addressing IPV4 Addresses – Address Space, Notations,ClassfulAddressing,Subnetting, Supernetting,Classless Addressing,Network Address Translation(NAT), (Enough problems should becovered on Addressing),

3.3 IPV4 Protocol Datagram Format, Fragmentation, Checksum,Options

3.4 Routing Properties of routing algorithm, Comparison of Adaptiveand Non- Adaptive Routing Algorithms

3.5 Congestion Control – Definition, Factors of Congestion, Differencebetween congestion control and flow control, General Principles ofCongestion Control, Congestion Prevention Policies

3.6 Network Layer Devices –Routers

UNIT IV               Address Mapping

4.1 Protocol(ARP)-Cache Memory, Packet Format, Encapsulation,Operation, Four Different Cases, Proxy ARP, RARP , BOOTP,DHCP – Static Address Allocation, Dynamic Address Allocation,Manual and automatic Configuration

UNIT V                  The Transport Layer

5.1 Process-to-Process Delivery Client Server Paradigm, Multiplexingand De-multiplexing, Connectionless Vs Connection-OrientedService, Reliable Vs Unreliable

5.2 User Datagram Protocol(UDP) Datagram Format, Checksum, UDPoperations, Use of UDP

5.3 Transmission Control Protocol (TCP) TCP Services – Process toProcess Communication, Stream Delivery Service, sending andReceiving Buffers, Segments, Full –Duplex Communication,Connection oriented service, Reliable service

5.4 TCP Features –Numbering System, Byte Number, SequenceNumber, Acknowledgement Number, Flow Control, Error Control,Congestion Control

5.5 TCP Segment – Format

UNIT VI               The Application Layer

6.1 Domain Name System (DNS) Name Space, Domain, Name Space,

Distribution of Name Space, DNS in the Internet, Resolution

6.2 E-MAIL Architecture, User Agent, Message Transfer Agent-SMTP,

Message Access Agent-POP3, IMAP4, Web Based Mail

6.3 File Transfer Protocol (FTP) Communication over control connection, Communication over Data Connection, Anonymous FTP

6.4 WWW Architecture, WEB Documents

6.5 HTTP – HTTP Transaction, Persistent and Non persistent Connection, Proxy Server

6.6 Devices- Gateways –Transport & Application Gateways

UNIT VII           Network Security

7.1 Introduction – Security Services- Message-Confidentiality, Integrity,Authentication, Non repudiation. Entity (User)- Authentication.

7.2 Message confidentiality –Confidentiality with Asymmetric-KeyCryptography, Confidentiality with Symmetric-Key Cryptography

7.3 Cryptography Encryption Model, Substitution Cipher andTransposition Cipher

7.4 Two Fundamental Cryptographic Principles

7.5 Communication Security Firewalls

7.6 Web Security Threats, Secure Naming,DNS Spoofing, Secure DNS,Self Certifying names

7.7 Mobile Code Security Java Applet Security, Activex, JavaScript,Viruses

7.8 Social Issues Privacy, Anonymous Remailers, Freedom of Speech,Stegnography, Copyright

 

Internet Programming II: CS-344

Duration: 1 – 2 Months

Aim:

·          To Design dynamic and interactive Web pages.

Objective:

·          Learn different technologies used at client Side Scripting Language

·          Learn XML,CSS and XML parsers.

·          One PHP framework for effective design of web application.

·          Learn JavaScript to program the behavior of web pages.

·          Learn AJAX to make our application more dynamic.

UNIT I                     Web Techniques

1.1 Variables

1.2 Server information

1.3 Processing forms

1.4 Setting response headers

1.5 Maintaining state

1.6 SSL

UNIT II                 Handling email with php

2.1 Email background

2.2 Internet mail protocol

2.3 Structure of an email message

2.4 Sending email with php

2.5 Email attachments.

2.6 Email id validation and verification

2.7 PHP error handling.

UNIT III              PHP framework

3.1 Introduction to PHP framework.

3.2 Features, Applications.

3.3 One example like JOOMLA,DRUPAL.

UNIT IV               XML

4.1What is XML?

4.2 XML document Structure

4.3 PHP and XML

4.4 XML parser

4.5 The document object model

4.6 The simple XML extension

4.7 Changing a value with simple XML

UNIT V                  WEB DESIGNING TECHNOLOGIES(JavaScript-DHTML)

5.1 Overview of JavaScript, DHTML

5.2 Object Orientation and JavaScript

5.3 Basic Syntax(JS datatypes, JS variables )

5.4 Primitives, Operations and Expressions

5.5 Screen Output and keyboard input(Verification and Validation)

5.6 JS Control statements

5.7 JS Functions

5.8 JavaScript HTML DOM Events(onmouseup, onmousedown, onclick,onload,onmouseover,onmouseout).

5.9 JS Strings.

5.10 JS String methods

5.11JS popup boxes(alert, confirm, prompt).

5.12 Changing property value of different tags using DHTML (ex. adding innerhtml for DIV tag, changing source of image etc.)

UNIT VI               AJAX

6.1 Introduction of AJAX

6.2 AJAX web application model

6.3 AJAX –PHP framework

6.4 Performing AJAX validation

6.5 Handling XML data using php and AJAX

6.6 Connecting database using php and AJAX

  

Programming in Java-II: CS-345

Duration: 1 – 2 Months

Prerequisite:

·         Knowledge of Core Java (CS – 345)

Objectives:

·         To learn database programming using Java

·         To study web development concept using Servlet and JSP

·         To develop a game application using multithreading

·         To learn socket programming concept

UNIT I                     Collection

1.1 Introduction to the Collection framework

1.2 List – ArrayList, LinkedList and Vector,Stack,Queue

1.3 Set – HashSet, TreeSet, and LinkedHashSet

1.4 Map – HashMap, LinkedHashMap, Hashtable and TreeMap

1.5 Interfaces such as Comparator, Iterator, ListIterator, Enumeration

UNIT II                 Database Programming

2.1 The design of jdbc, jdbc configuration

2.2 Types of drivers

2.3 Executing sql statements, query execution

2.4 Scrollable and updatable result sets

2.5 Metadata – DatabaseMetadata, ResultSetMetadata

2.6 Transactions – commit(), rollback(), SavePoint(Database : PostgreSQL)

UNIT III              Servlet

3.1 Introduction to Servlet and Hierarchy of Servlet

3.2 Life cycle of servlet

3.3 Tomcat configuration (Note: Only for Lab Demonstration)

3.4 Handing get and post request (HTTP)

3.5 Handling a data from HTML to servlet

3.6 Retriving a data from database to servlet

3.7 Session tracking – User Authorization, URL rewriting, Hidden form fields,Cookies and HttpSession

UNIT IV               JSP

4.1 Simple first JSP program

4.2 Life cycle of JSP

4.2 Implicit Objects

4.3 Scripting elements – Declarations, Expressions, Scriplets, Comments

4.4 JSP Directives – Page Directive, include directive

4.5 Mixing Scriplets and HTML

 4.6 Example of forwarding contents from database to servlet, servlet to JSP and displaying itusing JSP scriplet tag

UNIT V                  Multithreading

5.1 What are threads?

5.2 Life cycle of thread

5.3 Running and starting thread using Thread class

5.4 Thread priorities

5.5 Running multiple threads

5.6 The Runnable interface

5.7 Synchronization and interthread communication

UNIT VI               Networking

6.1 Networking basics – Protocol, Addressing, DNS, URL, Socket, Port

6.2 The java.net package – InetAddress, URL, URLConnection class

6.3 SocketServer and Socket class

6.4 Creating a Socket to a remote host on a port (creating TCP client and server)

6.5 Simple Socket Program Example

 

Computer Graphics: CS-346

Duration: 1 – 2 Months

Pre – Requisites

·         Computer programming skills in C programming language

·         Basic understanding of use of data structures

·         Basic Mathematical concepts related to matrices and geometry

Objectives

·         To study how graphics objects are represented in Computer

·         To study how graphics system in a computer supports presentation of graphics information

·         To study how interaction is handled in a graphics system

·         To study how to manipulate graphics object by applying different transformations

·         To provide the programmer’s perspective of working of computer graphics

UNIT I                     Introduction to Computer graphics

1. 1 Introduction to computer graphics & graphics systems

1.2 Components of Computer Graphics Representation, Presentation , Interaction andTransformations

1.3 Applications of Computer Graphics

1.3 Pixel/Point ,Raster v/s Vector ,RGB color model, intensity

1.4 Programming essentials – event driven programming. OpenGL library

UNIT II                 Input devices and Interaction tasks

2.1 Logical Interaction – Locator, valuator , pick and choice;

2.2 Physical devices used for interaction – keyboard, mouse, trackball,spaceball, tablets, light pen, joystick, touch panel, data glove;

2.3 Keyboard , Mouse interaction in OpenGL

2.4 Graphical User Interfaces- cursors , radio buttons, scroll bars, menus, icons

2.5 Implementing GUI in open GL

UNIT III              Presentation and Output devices

3.1 Presentation Graphics – frame buffer, display file, lookup table;

3.2 Display devices, Random and Raster scan display devices; CRT,

3.3 Hardcopy devices – Plotters and Printers

UNIT IV               Raster Scan Graphics

4.1 Line drawing algorithms; DDA algorithm, Bresenham’s line drawing algorithm, Circle generationalgorithm;

4.2 Scan conversions- Generation of the Display, Image compression

4.3 Displaying Lines and characters

4.3 Polygon filling -Scan converting polygons, fill algorithms, Boundary fill algorithm, flood fillalgorithm

UNIT V                  Transformations

5.1 Basic transformations: translation, rotation, scaling; Matrix representations & homogeneouscoordinates, Reflection, shear

5.2 Transformation of points, lines, parallel lines, intersecting lines. Viewing pipeline

5.3 Window to viewport co-ordinate transformation. Setting window and viewport in OpenGL.

UNIT VI               Clipping

6.1 clipping operations , point clipping ,

6.2 Line clipping; Cohen Sutherland algorithm, Midpoint subdivision algorithm, Cyrus beck

algorithm;

6.3 Polygon clipping , Sutherland Hodgman algorithm, Weiler-Atherton Algorithm

UNIT VII           3D transformation & viewing

7.1 3D transformations: translation, rotation, scaling & other transformations;

7.2 Three dimensional viewing, Parallel and Perspective projections,

7.3 View Volumes and General Projection Transformations.

7.4 3 D clipping

UNIT VIII        Hidden surfaces Elimination

8.1 Depth comparison, A-buffer algorithm, Back face detection; Depth -Buffer

8.2 Scan-line Method – BSP tree method, the Painter’s algorithm, Area-subdivision algorithm;

 

What student are saying

Are You Ready To Start?

More Courses

You might also be interested in these courses

Course 2

BCA - Science

The BCA - Science Coaching at ProIT Academy is intended for people who want to work in computer science. Our program offers a solid foundation in programming languages, algorithms, data structures, and software development by fusing theoretical knowledge with practical abilities. Students are exposed to cutting-edge technologies thanks to modern labs and industry-relevant coursework. Join the BCA-Science Coaching Classes at ProIT Academy to start your rewarding adventure in technology and computer science.

BCA: Unleash Your Tech Potential

BCA: Ignite your passion for technology and embark on a transformative journey to become a future-ready IT professional.
View Course

Course 3

BBA-CA

A thorough BBA Coaching is provided by ProIT Academy, giving students the fundamentals of business. Our curriculum covers key topics: finance, marketing, management, and entrepreneurship. Students work on practical projects and study real-world case studies under the guidance of industry professionals. Enrol in the BBA Coaching Classes at ProIT Academy to realize your potential and succeed in the changing business environment.

Unlock Limitless Opportunities with BBA-CA

Our BBA-CA Course is Where business acumen meets computational expertise, shaping future professionals for the dynamic world of finance and technology.
View Course

Download
brochure

Download Pro IT Academy – F.Y.B.Sc. Computer Science(FYBSC) Brochure

Download
brochure

Download Pro IT Academy – S.Y.B.Sc. Computer Science(SYBSC) Brochure

Download
brochure

Download Pro IT Academy – T.Y.B.Sc. Computer Science(TYBSC) Brochure

405 – 4th Floor, Rainbow Plaza, Pimple Saudagar, Pune – 411017
+91 8308103366 / 020-46302591

Call Now Button