BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
Semester VI (Third year)
SI. Type of course Code Course Title Hours per week Credits
No.
Lecture Tutorial Practical
1 Professional Core 105601 Compiler Design 3 0 4 5
Courses
2 Professional Core 100602 Computer 3 0 4 5
Courses Networks
3 Professional Core 105602 Machine Learning 3 1 0 4
Courses
4 Professional 105616 Cryptography and 3 0 0 3
Elective Courses Network Security
5 Professional 105606 Introduction to Java 3 0 0 3
Elective Courses Programming
Language
6 NPTEL Courses - 2 100604P Swayam NPTEL – 2 0 0 4 2
7 Professional Elective 105620P Python 0 0 2 1
Laboratory Programming
Total credits 23
1
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
PCC CS 105601 Complier Design 3L:0T: 4P 5 Credits
Pre-requisites Formal Language & Automata
Theory
Objectives of the course
• To understand and list the different stages in the process of compilation.
• Identify different methods of lexical analysis
• Design top-down and bottom-up parsers
• Identify synthesized and inherited attributes
• Develop syntax directed translation schemes
• Develop algorithms to generate code for a target machine
• To study the underlying theories in designing of a compiler
• The study especially consider the imperative languages
Detailed contents
Module 1 Lecture: 6 hrs.
Introduction: Phases of compilation and overview.
Lexical Analysis (scanner): Regular languages, finite automata, regular expressions, from regular
expressions to finite automata, scanner generator (lex, flex).
Module 2 Lecture: 9 hrs.
Syntax Analysis (Parser): Context-free languages and grammars, push-down automata, LL(1) gram-
mars and top-down parsing, operator grammars, LR(O), SLR(1), LR(1), LALR(1) grammars and
bottom-up parsing, ambiguity and LR parsing, LALR(1) parser generator (yacc, bison).
Module 3 Lecture: 10 hrs.
Semantic Analysis: Attribute grammars, syntax directed definition, evaluation and flow of
attribute in a syntax tree.
Symbol Table: Its structure, symbol attributes and management. Run-time environment:
Procedure activation, parameter passing, value return, memory allocation, and scope.
Module 4 Lecture: 10 hrs.
Intermediate Code Generation: Translation of different language features, different types of
intermediate forms.
Code Improvement (optimization) Analysis: control-flow, data-flow dependence etc.; Code
improvement local optimization, global optimization, loop optimization, peep-hole
optimization etc.
Architecture dependent code improvement: instruction scheduling (for pipeline), loop
optimization (for cache memory) etc. Register allocation and target code generation.
2
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
Module 5 Lecture: 5 hrs.
Advanced topics: Type systems, data abstraction, compilation of Object Oriented features and non-
imperative programming languages.
Suggested Books:
1. Compilers Principles Techniques And Tools by Alfred V. Aho, Ravi Sethi, Jeffery D. Ullman.
Pearson Education.
Suggested Reference Book
1. Compiler Design by Santanu Chattopadhyay. PHI
2. Modern Compiler Design by Dick Grune, E. Bal. Ceriel, J. H. Jacobs, and Koen G. Langendoen,
Viley Dreamtech.
Course Outcomes
After the completion of course, students can able to able to:
1. Develop the lexical analyser for a given grammar specification.
2. Design top-down and bottom-up parsers for a given parser specification
3. Develop syntax directed translation schemes
4. Develop algorithms to generate code for a target machine
PCC CS Complier Design Lab
105601P
Hands-on experiments related to the course contents of PCC CS 601.
******************************************************************
3
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
PCC CS 100602 Computer Networks 3L:0T: 4P 5 Credits
Pre-requisites PCC CS 402 & PCC CS 403
Objectives of the course
• To develop an understanding of modern network architectures from a
design and performance perspective.
• To introduce the student to the major concepts involved in wide-area
networks (WANs), local area networks (LANs) and Wireless LANs (WLANs).
To provide an opportunity to do network programming To provide a
WLAN measurement ideas.
Detailed contents
Module 1 Lecture 8 hrs.
Data communication Components: Representation of data and its flow Networks ,
Various Connection Topology, Protocols and Standards, OSI model, Transmission
Media, LAN: Wired LAN, Wireless LANs, Connecting LAN and Virtual LAN,
Techniques for Bandwidth utilization: Multiplexing - Frequency division, Time
division and Wave division, Concepts on spread spectrum.
Module 2 Lecture 8 hrs.
Data Link Layer and Medium Access Sub Layer: Error Detection and Error
Correction - Fundamentals, Block coding, Hamming Distance, CRC; Flow Control
and Error control protocols - Stop and Wait, Go back – N ARQ, Selective Repeat
ARQ, Sliding Window, Piggybacking, Random Access, Multiple access protocols Pure
ALOHA, Slotted ALOHA, CSMA/CD,CDMA/CA
Module 3 Lecture 8 hrs.
Network Layer: Switching, Logical addressing – IPV4, IPV6; Address mapping
- ARP, RARP, BOOTP and DHCP–Delivery, Forwarding and Unicast Routing
protocols.
Module 4 Lecture 8 hrs.
Transport Layer: Process to Process Communication, User Datagram
Protocol (UDP), Transmission Control Protocol (TCP), SCTP Congestion Control;
Quality of Service, QoS improving techniques: Leaky Bucket and Token Bucket
algorithm.
Module 5 Lecture 8 hrs.
4
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
Application Layer: Domain Name Space (DNS), DDNS, TELNET, EMAIL, File
Transfer Protocol (FTP), WWW, HTTP, SNMP, Bluetooth, Firewalls, Basic concepts
of Cryptography.
Suggested books
1. Data Communication and Networking, 4th Edition, Behrouz A. Forouzan,
McGraw- Hill.
2. Data and Computer Communication, 8th Edition, William Stallings, Pearson
Prentice Hall India.
Suggested reference books
1. Computer Networks, 8th Edition, Andrew S. Tanenbaum, Pearson New
International Edition.
2. Internetworking with TCP/IP, Volume 1, 6th Edition Douglas Comer,
Prentice Hall of India.
3. TCP/IP Illustrated, Volume 1, W. Richard Stevens, AddisonWesley, United
States of America.
Course Outcomes
After the completion of course, students can able to able to:
1. Explain the functions of the different layer of the OSI Protocol.
2. Draw the functional block diagram of wide-area networks (WANs), local area
networks (LANs) and Wireless LANs (WLANs) and can able to describe the
function of each block.
3. Program for a given problem related TCP/IP protocol.
4. Configure DNS DDNS, TELNET, EMAIL, File Transfer Protocol (FTP), WWW, HTTP,
SNMP, Bluetooth, Firewalls using open source available software and tools.
PCC CS 602P Computer Networks Lab
Hands-on experiments related to the course contents of PCC CS 602.
******************************************************************
5
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
PCC 105602 Machine Learning 3L: 1T:0 P 4 Credits
Objectives of the course
• To learn the concept of how to learn patterns and concept from data.
• Design and analyze various machine learning algorithms and their applications in recent trends.
• Evaluate the various factors of machine learning to measure the performance.
• Understand basic of machine learning’s application in recent trend of technology.
Detailed contents
Module 1 Lecture 8 hrs.
Introduction: Basic definitions, Linear Algebra, Statistical learning theory, types of learning,
hypothesis space and Inductive bias, evaluation and cross validation, Optimization.
Module 2 Lecture 8 hrs.
Statistical Decision Theory, Bayesian Learning (ML, MAP, Bayes estimates, Conjugate priors),
Linear Regression, Ridge Regression, Lasso, Principal Component Analysis, Partial Least
Squares
Module 3 Lecture 8 hrs.
Linear Classification, Logistic Regression, Linear Discriminant Analysis, Quadratic
Discriminant Analysis, Perceptron, Support Vector Machines + Kernels, Artificial Neural
Networks + Back Propagation, Decision Trees, Bayes Optimal Classifier, Naive Bayes.
Module 4 Lecture 8 hrs.
Hypothesis testing, Ensemble Methods, Bagging Adaboost Gradient Boosting, Clustering,
Kmeans, K-medoids, Density-based Hierarchical, Spectral .
Module 5 Lecture 8 hrs.
Expectation Maximization, GMMs, Learning theory Intro to Reinforcement Learning , Bayesian
Networks.
Suggested books:
1. Machine Learning. Tom Mitchell. First Edition, McGraw- Hill, 1997
2. Introduction to Machine Learning Edition 2, by Ethem Alpaydin
Suggested Reference Books:
1. J. Shavlik and T. Dietterich (Ed), Readings in Machine Learning, Morgan Kaufmann, 1990.
2. P. Langley, Elements of Machine Learning, Morgan Kaufmann, 1995.
3. Understanding Machine Learning. Shai Shalev-Shwartz and Shai Ben-David. Cambridge
6
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
University Press. 2017. [SS-2017]
4. The Elements of Statistical Learning. Trevor Hastie, Robert Tibshirani and Jerome Friedman.
Second Edition. 2009. [TH-2009]
PEC CS 105606 Introduction to Java Programming 3L:0T:0P 3 Credits
Language
Detailed contents
Module 1 Lectures: 12 hrs.
Introduction to Java: Feature to Java, Java Virtual Machine, Differences between C++ and Java, Part
of Java, API Document, Starting a Java Program. Important Classes, Formatting the Output Naming
Conventions and Data Types: Naming Conventions in Java. Data types in Java, Literals. Operators
and Control Statements in Java: Arithmetic Operators, Unary Operators, Relational Operators,
Logical Operators, Boolean Operators, Bitwise Operators, Ternary Operators, New Operator, Cast
Operator, If … else statement, Switch statement, Break statement, Continue statement, Return
statement, do … while loop, while loop, for loop.
Input and Output: Accepting Input from the keyboard, reading input in Java, Util, Scanner class,
displaying output with System.out.print(), Displaying formatted output with string, Format.
Module 2 Lectures: 8 hrs.
Arrays and Strings: Types of Arrays, Array name, Length, Command Line Arguments, Creating
Strings, String Class Methods, String Comparison, Immutability of Strings, Creating String Buffer
Objects, String Buffer Class Methods, String Builder Class, String Builder Class Methods. Wrapper
Classes: Number class, Character class, Byte class, Short class, Integer class, Long class, Float class,
Double class, Boolean class, Math class.
Introduction to OOPS: Problems in procedure oriented approach, Features of Object Oriented
Programming System, Object creation, Initializing the instance variable, Constructors.
Module 3 Lectures: 10 hrs.
Methods of Java: Method Prototype, Method Body, Understanding Methods, Static Methods,
Static Block, The keyword ‘this’, Instance Methods, Passing Primitive Data Types to Methods,
Passing Objects to Methods, Passing Arrays to Methods, Recursion, Factory Methods.
Inheritance and Polymorphism: Inheritance, The Keyword ‘super’, The Protected Specified, Types
of
Inheritance, Polymorphism with variables, Polymorphism using methods, Polymorphism with
Static Methods, Polymorphism with Private Methods, Abstract Classes.
Packages: Package, Different types of Packages, Interface in a Package, Access Specifies in Java.
Module 4 Lectures: 10 hrs.
7
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
Exceptional handling: Errors in Java Program, Exceptions throws and throw clause, Types of
exceptions, Re-throwing an exception.
Threads: Single and Multitasking, Creating and terminating the thread, Single and Multi-tasking
using threads, Deadlock of threads, Thread communication.
Introduction to AWT and Applets: AWT components, Creating and closing the frame, Drawing in
the frame, Displaying dots and text in the frame, Event Handling, Listeners and Listener methods,
Creating and uses of Applets, An applet with swing components, Applet parameters.
Introduction on Java database connectivity: Database servers and clients, JDBC, Connecting to a
Database, Stored Procedures and Callable Statement, Storing file and Image into database,
retrieving a file and images from database, Types of JDBC drivers.
Text Books:
1. Core Java by R Nageswara & Kogent Solution Inc, Dreamtech.
2. The Complete Reference Java Tata McGraw Hill.
3. Java 6 Programming Black Book, w/CD by Kogent Solutions Inc,, Dreamtech .
Reference Books:
1. Professional Java, JDK 6 Ed. by Richardson Avondolio Wrox.
2. Programming with Java by E Balagurusamy Tata McGraw Hill.
8
BEU Curriculum for Undergraduate Degree in Computer Science and Engineering
PEC CS 105616 Cryptography and Network Security 3L:0T:0P 3 Credits
Detailed contents
Module 1 Lectures: 7 hrs.
Security Services, Mechanisms and Attacks, TheOSI Security Architecture, A Model for Network
Security. Symmetric Cipher Model, Substitution Techniques, Transposition Techniques, Rotol
Machines, Steganography.
Module 2 Lectures: 7 hrs.
Simplified DES, Block Cipher Principles, The Data Encryption Standard, The Strength of DES,
Differential and Linear Cryptanalysis, Block Cipher Design Principles, Block Cipher Modes of
Operation.
Module 3 Lectures: 7 hrs.
Finite Fields and Confidentiality: Groups, Rings, and Fields, Modular Arithmetic, Euclid’s Algorithm,
Finite Fields of the Form GF (p), Polynomial arithmetic, Finite Fields of the Form GF(2”), Placement
of Encryption Function, Traffic Confidentially, Key Distribution, Random Number Generation.
Module 4 Lectures: 7 hrs.
Encryption Standard and Ciphers: Evaluation criteria for AES, AES cipher, Multiple encryption and
Triple DES, Block cipher Modes of operation, Stream ciphers and RCG.
Module 5 Lectures: 7 hrs.
Number Theory and Public-Key Cryptography: Prime Numbers, Fermat’s and Euler’s Theorems,
Testing for Primality, The Chinese Remainder Theorem, Discrete Logarithms, Principles of PublicKey
Cryptosystems, The RSA Algorithm,
Module 6 Lectures: 7 hrs.
Message Authentication, Function, Algorithms and Digital System: Authentication Requirements,
Authentication Functions, Message Authentication Codes, Hash Functions, Security of Hash
Functions and MACs, Secure Hash Algorithm, HMAC, Digital Signatures, Authentication Protocols.