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
Share us on Social Media
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:
- Develop your critical thinking and problem-solving skills.
- Build a solid foundation in computer science ideas, concepts, and abilities.
- Become knowledgeable and proficient in computer networks, database systems, operating systems, programming languages, data structures, algorithms, computer graphics, and software engineering.
- Expand your employment options and earning potential in the computer science sector.
- Enlarge your options for higher education in computer science, such as a Ph. D. or an M. Sc. Computer Science
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 Schedules – ProIT 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
FIRST CHOICE OF STUDENTS FOR FACE TO FACE CLASSES IN PUNE FOR BCA Subjects. |
ALL THE BEST FACULTIES ARE NOW AVAILABLE UNDER ONE ROOF. |
Modes of Admission :
|
Features :
|
WATCH OUR LATEST AND HIGH QUALITY VIDEO LECTURES ACROSS INDIA. |
VIDEO LECTURES AVAILABLE FOR ALL SUBJECTS AT YOUR FINGERTIPS. |
Modes of Admission :
|
Features :
|
Do you want to become eligible for these jobs?
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; |