Syllabus
Syllabus
Bachelor of Engineering
Subject Code: 3170724
Semester – VII
Subject Name: Machine Learning
Rationale: The objective of the course is to introduce the students with concepts of machine learning,
machine learning algorithms and building the applications using machine leaning for various domains.
Content:g
Page 1 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3170724
7 Supervised Learning: Classification and Regression: 10
Supervised Learning, Classification Model, Learning steps, Classification algorithms,
Regression, Regression algorithms,
8 Unsupervised Learning: 06
Supervised vs. Unsupervised Learning, Applications, Clustering, Association rules
9 Neural Network: 06
Introduction to neural network, Biological and Artificial Neurons, Types of Activation
functions, Implementation of ANN, Architecture, Leaning process, Backpropogation, Deep
Learning
Reference Books:
Course Outcomes:
Page 2 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3170724
List of Experiments:
Minimum 10 Experiments are to be designed covering various activities and algorithms in machine learning
with datasets from different domains
1. https://www.geeksforgeeks.org/machine-learning/
2. https://www.tutorialspoint.com/machine_learning_with_python/index.htm
3. https://nptel.ac.in/
4. https://www.coursera.org/
Page 3 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170701
Semester – VII
Subject Name : Compiler Design
Content:
w.e.f. AY 2020-21
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170701
4 Error Recovery 04
Error Detection & Recovery, Ad-Hoc and Systematic Methods
5 Intermediate-Code Generation: 05
Variants of Syntax Trees, Three-Address Code, Types and Declarations, Translation of
Expressions, Type Checking, Syntax Directed Translation Mechanisms, Attributed
Mechanisms And Attributed Definition.
6 Run-Time Environments: 04
Source Language Issues, Storage Organization. Stack Allocation of Space, Access to
Nonlocal Data on the Stack, Heap Management,
7 Code Generation and Optimization: 06
Issues in the Design of a Code Generator, The Target Language, Addresses in the Target
Code, Basic Blocks and Flow Graphs, Optimization of Basic Blocks, A Simple Code
Generator, Machine dependent optimization, Machine independent optimization Error
detection of recovery
8 Instruction-Level Parallelism: 04
Processor Architectures, Code-Scheduling Constraints, Basic-Block Scheduling, Pass
structure of assembler
Note: This specification table shall be treated as a general guideline for students and teachers. The actual
distribution of marks in the question paper may vary slightly from above table.
Text Books
1. Compiler Tools Techniques - A.V.Aho, Ravi Sethi, J.D.Ullman, Addison Wesley
2. The Theory And Practice Of Compiler Writing - Trembley J.P. And Sorenson P.G.
Mcgraw-Hill
Reference Books:
1. Modern Compiler Design - Dick Grune, Henri E. Bal, Jacob, Langendoen, WILEY
India
2. Compiler Construction - Waite W.N. And Goos G., Springer Verlag
3. Compiler Construction-Principles And Practices - D.M.Dhamdhere, Mcmillian
4. Principles of Compiler Design, V. Raghavan, McGrawHill
Page 2 of 4
w.e.f. AY 2020-21
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170701
Course Outcomes:
Sr No Title of Experiment
1 Implementation of Finite Automata and String Validation
2 Introduction to Lex Tool.
3 Implement following Programs Using Lex
a. Generate Histogram of words
b. Ceasor Cypher
c. Extract single and multiline comments from C Program
4 Implement following Programs Using Lex
a. Convert Roman to Decimal
b. Check weather given statement is compound or simple
c. Extract html tags from .html file
5 Implementation of Recursive Descent Parser without backtracking
Input: The string to be parsed.
Output: Whether string parsed successfully or not. Explanation:
Students have to implement the recursive procedure for RDP for a typical grammar. The
production no. are displayed as they are used to derive the string.
6 Finding “First” set
Input: The string consists of grammar symbols.
Output: The First set for a given string.
Explanation:
The student has to assume a typical grammar. The program when run will ask for the string
to be entered. The program will find the First set of the given string.
7 Generate 3-tuple intermediate code for given infix expression
8 Extract Predecessor and Successor from given Control Flow Graph
9 Introduction to YACC and generate Calculator Program
10 Finding “Follow” set
Input: The string consists of grammar symbols.
Output: The Follow set for a given string.
Explanation:
Page 3 of 4
w.e.f. AY 2020-21
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170701
The student has to assume a typical grammar. The program when run will ask for the string
to be entered. The program will find the Follow set of the given string.
11 Implement a C program for constructing LL (1) parsing.
12 Implement a C program to implement LALR parsing.
13 Implement a C program to implement operator precedence parsing.
Page 4 of 4
w.e.f. AY 2020-21
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170719
Semester –VII
Subject Name: Distributed System
Rationale: A distributed system is a system whose components are located on different networked
computers, which communicate and coordinate their actions by passing messages to one another.The
components interact with one another in order to achieve a common goal. Three significant characteristics
of distributed systems are: concurrency of components, lack of a global clock, and independent failure of
components. From this course, students may learn foundations of distributed systems, idea of peer to peer
services and file system, and security issues in distributed system.
Content:
3 Naming - Names, Identifiers, And Addresses, Flat Naming, Structured Naming, Attribute- 02
Based Naming
Page 1 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170719
5 Consistency, Replication and Fault Tolerance-Introduction To Replication, Data- 10
Centric Consistency Models, Client-Centric Consistency Models, Replica Management,
Consistency Protocols, Basics of Fault Tolerance, Process Resilience, Reliable Client-
Server Communication, Reliable Group Communication, Distributed Commit, Recovery
Note: This specification table shall be treated as a general guideline for students and teachers. The actual
distribution of marks in the question paper may vary slightly from above table.
Reference Books:
1. Tanenbaum, A.S. and Van Steen, M., 2007. Distributed systems: principles and paradigms.
Prentice-Hall.
2. Sinha, P.K., 1998. Distributed operating systems: concepts and design. PHI Learning Pvt. Ltd..
3. Liu, M.L., 2003. Distributed computing: principles and applications. Pearson Education Inc..
5. Coulouris, G.F., Dollimore, J. and Kindberg, T., 2005. Distributed systems: concepts and
design.pearson education.
Page 2 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170719
Course Outcomes:
Page 3 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3170717
CLOUD COMPUTING
Semester - 7th Semester
Rationale: This course aims students to understand the hardware, software concepts and architecture of cloud
computing. Students realize the importance of Cloud Virtualization, Abstractions and Enabling Technologies.
Contents:
Sr. Total
Content
No. Hrs
Introduction: Cloud Computing, Layers and Types of Clouds, Cloud Infrastructure
Management, Challenges and Applications. Virtualization: Virtualization of
1 04
Computing, Storage and Resources. Cloud Services: Introduction to Cloud Services
IaaS, PaaS and SaaS
Software as a Service (SaaS): Evolution of SaaS, Challenges of SaaS Paradigm,
SaaS Integration Services, SaaS Integration of Products and Platforms.
Infrastructure As a Services (IaaS): Introduction, Background & Related Work,
2 Virtual Machines Provisioning and Manageability, Virtual Machine Migration 08
Services, VM Provisioning and Migration in Action. Platform As a service (PaaS):
Integration of Private and Public Cloud, Technologies and Tools for Cloud
Computing, Resource Provisioning services
Page 1 of 2
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3170717
computing, Secure Execution Environments and Communications, , Identity
Management and Access control Identity management, Access control, Autonomic
Security Storage Area Networks, Disaster Recovery in Clouds.
Books:
1. Rajkumar Buyya, James Broberg, Andrzej M Goscinski, Cloud Computing: Principles and Paradigms,
Wiley publication.
2. Toby Velte, Anthony Velte, Cloud Computing: A Practical Approach, McGraw-Hill Osborne Media.
3. George Reese, Cloud Application Architectures: Building Applications and Infrastructure in the Cloud,
O'Reilly Publication.
4. John Rhoton, Cloud Computing Explained: Implementation Handbook for Enterprises, Recursive Press.
Page 2 of 2
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170716
Semester – VII
Subject Name: Artificial Intelligence
Rationale: With the usage of Internet and World Wide Web increasing day by day, the field of AI and its
techniques are being used in many areas which directly affect human life. Various techniques for encoding
knowledge in computer systems such as Predicate Logic, Production rules, Semantic networks find
application in real world problems. The fields of AI such as Game Playing, Natural Language Processing,
and Connectionist Models are also important. Student should know some programming language for AI.
Contents:
Page 1 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170716
9 Connectionist Models: Introduction: Hopfield Network, Learning In Neural Network, 4
Application Of Neural Networks, Recurrent Networks, Distributed Representations,
Connectionist AI And Symbolic AI.
10 Expert Systems: Representing and Using Domain Knowledge, Expert System Shells, 2
Explanation, Knowledge Acquisition.
11 Genetic Algorithms: A Peek into the Biological World, Genetic Algorithms (GAs), 4
Significance of the Genetic Operators, Termination Parameters.
12 Introduction to Prolog: Introduction, Converting English to Prolog Facts and Rules, 4
Goals, Prolog Terminology, Variables, Control Structures, Arithmetic Operators, Matching
in Prolog, Backtracking, Cuts, Recursion, Lists.
Note: This specification table shall be treated as a general guideline for students and teachers. The actual
distribution of marks in the question paper may vary slightly from above table.
Reference Books:
1. “Artificial Intelligence” -By Elaine Rich And Kevin Knight (2nd Edition) Tata Mcgraw-Hill
2. “Artificial Intelligence: A Modern Approach” -By Stuart Russel, Peter Norvig, PHI
3. “Introduction to Prolog Programming” -By Carl Townsend.
4. “PROLOG Programming For Artificial Intelligence” -By Ivan Bratko( Addison-Wesley)
5. “Programming with PROLOG” –By Klocksin and Mellish.
Course Outcomes:
Sr. CO statement Marks %
No. weightage
CO-1 Understand the search technique procedures applied to real world problems 25
CO-2 Understand and use various types of logic and knowledge representation schemes. 30
CO-3 Understand various Game Playing techniques and apply them in programs. 15
CO-4 Gain knowledge in AI Applications and advances in Artificial Intelligence 20
CO-5 Use Prolog Programming language using predicate logic 10
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Computer Engineering
Subject Code: 3170716
3. Write a program to implement DFS (for 8 puzzle problem or Water Jug problem or any AI search
problem)
4. Write a program to implement Single Player Game (Using any Heuristic Function)
5. Write a program to Implement A* Algorithm.
6. Write a program to implement mini-max algorithm for any game development.
7. Assume given a set of facts of the form father(name1,name2) (name1 is the father of name2).
8. Define a predicate brother(X,Y) which holds iff X and Y are brothers.
Define a predicate cousin(X,Y) which holds iff X and Y are cousins.
Define a predicate grandson(X,Y) which holds iff X is a grandson of Y.
Define a predicate descendent(X,Y) which holds iff X is a descendent of Y.
Consider the following genealogical tree:
father(a,b).
father(a,c).
father(b,d).
father(b,e).
father(c,f).
Say which answers, and in which order, are generated by your definitions for the following queries
in Prolog:
?- brother(X,Y).
?- cousin(X,Y).
?- grandson(X,Y).
?- descendent(X,Y).
9. Write a program to solve Tower of Hanoi problem using Prolog.
10. Write a program to solve N-Queens problem using Prolog.
11. Write a program to solve 8 puzzle problem using Prolog.
12. Write a program to solve travelling salesman problem using Prolog.
Page 3 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3170726
Semester – VII
Subject Name: Mobile Application Development
Type of course: Elective
Rationale: There is a growing number of people who uses smartphones and tablets and hence mobile app
development has ability to access a large segment. Android has an advantage of being open source. This
course will enable the students to develop mobile application using Android.
Teaching and Examination Scheme:
Sr.
TOPICS
No. Hrs.
1 Pre Requirements (Basic Knowledge of OOPS concept and Core java) 1
2 Fundamental : Software Engineering with SDLC, Flow chart, DFD, SQL database 1
Android OS
Introduction to Android, Android System with Architecture, Android Architecture,
3 Development with Android – Platforms, Tools, Versions, Setup Android Environment, Say 2
Hello to Android Application, Building Blocks of Android Application, Work with Activity,
Activity Lifecycle, Intents Fragments, Fragment Lifecycle
Android UI And Component using Fragments
Create Android UI, Working with Layout, Create Custom Layouts, Work with UI
4 5
Components and Events, Material Design Toolbar, Tab Layout, Recycler View and Card
View, Android Menus
Database Connectivity
Storage in Android, Shared Preferences, Shared Preferences Layout, Android Requesting
5 5
Permission at run time (Android 6.0), Work with SD Card and Files, Database in Android,
Realm-No SQL Database
Applicability to Industrial Projects
6 Web services and Parsing, JSON Parsing, Access web data with JSON, Connect to Web 4
Services, Using Async Task & Third Party Library : Retrofit
Advanced Android Development
7 Google Map, Location Service and GPS, Creating Google Map, Work with Location, 5
Location service with Location Manager, Find Current Location, Geo coding
Page 1 of 3
w.e.f. AY 2018-19
GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3170726
Graphics and Animation, Work with 2D Graphics, Bitmap, Animation, Frame Animation,
Tween Animation, View Animation, Multimedia in Android, Play Audio Files, Play Video
Files
Work in Background, Services, Notification Services, Broadcast Receiver
Introduction to Firebase with simple CRUID Operation
Work with android system
Text to Speech, Camera, Taking Picture with Camera, Manage Bluetooth Connection,
Monitor and Manage Wi-Fi, Accelerometer Sensor & Gyroscope.
8 5
Development and Deployment
Delvik Debug Tool, Logcat, Emulator Control, Device Control, Work with ADB, Connect
Real Devices, Execute Application on Real Device, Publish your Application
Total 28
Books:
1) Android Application Development Black Book by Pradeep Kothari, DreamTech
2) Beginning Android 4 Application Development by Wei Meng Lee, Wrox
3) Android Wireless Application Development By Lauren Darcey, Shane Conder, Pearson U
List of Practical:
Sr Practical
1 Design Login activity and implement control events : Use EditText, Checkbox and Buttons
Implement Practical 1 using following layouts:
1. Linear Layout
2. Relative Layout
2 3. Table Layout
Create Activities & implement following
1. Implicit intent
2. Explicit Intent
3 3. StartActivityForResult
4 Implement activity Lifecycle and State Callbacks
5 Practical : Use an Options Menu
Create a Recycler View and list the details of student using following fields:
1. Name
2. Address
3. Photo (Image)
6 4. Delete ( Button Operation)
7 Practical: Theme, Custom Styles, Drawables
8 Practical: Save user data in a database
9 Use an AsyncTask to access remote database (make a use of simple PhP Web service)
10 Use Retrofit to access remote database (make a use of simple PhP Web service)
11 Practical : Use Firebase to perform CRUID operation
12 Practical: BroadcastReceiver
13 Practical: Notifications
14 Practical: Get and Save User Preferences
15 Practical : make a use of android system
16 Using location service get the current location and display in TextView
17 Practical : Display the use of animations
Page 3 of 3
w.e.f. AY 2018-19