faculty of engineering technology & researchfetr.ac.in/wp-content/uploads/2017/06/sem-8.pdf ·...

17
FACULTY OF ENGINEERING TECHNOLOGY & RESEARCH ISROLI, BARDOLI COMPUTER SCIENCE & ENGINEERING DEPARTMENT STUDENT TERM PLANNER BE- VIII (SEM-8) (TERM’162: 19/12/2016 TO 20/04/2017)

Upload: others

Post on 16-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

FACULTY OF ENGINEERING TECHNOLOGY & RESEARCH

ISROLI, BARDOLI

COMPUTER SCIENCE & ENGINEERING DEPARTMENT

STUDENT TERM PLANNER

BE- VIII (SEM-8)

(TERM’162: 19/12/2016 TO 20/04/2017)

Page 2: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

SR

NTIME

TH. PR.

0 644 84 24 24 216 78

PRINCIPAL

Mr. K. P. Bhatt 1. Mr. J. M. Patel

2. Ms. A. N. Bodhit

3. Ms. H. R. Rana

Prof. B. R. Bhatt

AI

CS-34

(HJS)

L 8

Convener: Members:

BDA

(BRB)

L3

IOT

(HRR)

A-206

BDA

CSE-32

(VCJ)

L3

PRJ-II

(DRC)

L8

PRJ-II

(HRR)

L8

PRJ-I

(DRC)

L8

(BGP)

L7

PRJ-I

(HRR)

L8

PRJ-II

(HJS)

L8

BDA

(BRB)

L3

ANDROID

(DJR)

L4

IOT

(HRR)

A-206

AI

CS-31

(DRC)

L 7

AI

CS-32

HJS

L 8

PRJ-II

(BRB)

L8

PRJ-II

(VCJ)

L8

(NDP)

L7

PRJ-II

Dept. Head

2180709 IOT AND APPLICATIONSBIG DATA ANALYTICS2180710

MR. NIKUNJ Y. KANSARA

VCJ MR. VIVEK C. JOSHINVJ MR. NARENDRA V. JAGTAP

Total Hours

FACULTY OF ENGINEERING TECHNOLOGY & RESEARCH, ISROLI-AFWACOMPUTER SCIENCE & ENGINEERING DEPARTMENT

TIME-TABLE

CLASS : COMP '13 (Room No. A - 206) TERM :162 (Dec '16 to Apr '17)

SATURDAY

110:2

5

TO

*** ****

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY

ANDROID

(DJR)

L4

DATE:07/01/2017

BDA

(VCJ)

L3

IOT

(NDP)

A-206

PRJ-IIPRJ-II

(NYK)

L8

RECESS

312:2

0

TO

AI

(DRC)

11:2

5

TO

AI

(HJS)

PRJ-II

(DJR)

L8

ANDROID

(JMP)

L4(ADP)

L8

(ADP)

L8

PRJ-II

(NDP)

L7(KPB)

PRJ-II

(HRR)

L7

BDA

(VCJ)

L3

IOT

(NDP)

A-206

PRAYER

ANDROID

(JMP)

L4

2AI

(DRC)

PRJ-II

(DRC)

L7

PRJ-II

(ANB)

L7

PRJ-II PRJ-II AI

(HJS)

PRJ-IIPRJ-II

(KPB)

L7

***

***

(ANB)

L7

***

PRJ-II

(BRB)

L8

***

SUBJECT

CODE

SUBJECT

NAME

RECESS

***

PRJ-II

(NVJ)

L7

FACULTY NAME

41:40

TO

2:35 PRJ-II

(BGP)

L7

TPS

TPS

PRJ-II

(HJS)

L7

IOT

CSE-31

(NDP)

L5

PRJ-II

(DJR)

L7

PRJ-II

(NYK)

L8

PRJ-I

(DJR)

L8

L8

PRJ-II

(BGP)

L8

PRJ-I

(VCJ)

L8

AI

CS-33

(DRC)

L 7

FACULTY

INITIALS

DJRHJS

JMP

21807062180703

2180715

PROJECT IIARTIFICIAL INTELLIGENCE

ANDROID PROGRAMMING

DRC MRS. DHARMISTHA R. CHAUDHARI

NDP MS. NIYANTA D. PANCHALHRR MS. HENITA R. RANABGP MISS. BHAGYASRI G. PATELKPB MR. KARAN P. BHATT

MR. HEMANG J. SHAH

MR. JATIN M. PATEL

ADPMS. ANGIRA N. BODHITMR. ANKIT D. PRAJAPATI

NYK

52:35

TO

3:30

ANB

74:35

TO

5:30

***

PRJ-II

(NYK)

L8

63:40

TO

4:35

PRJ-II

(NVJ)

L7

PRJ-II PRJ-II

(VCJ)

L8

ANDROID

CSE-33

(DJR)

L4

PRJ-II

(JMP)

L8

MISS. BHAVINI R. BHATT

MR. DHAVAL J. RANA

BRB

PRJ-II

(JMP)

L7

***

***

Page 3: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

Date: 06-12-2016

Sr.

NoCourse Sem/Year Term Starting Date Term End

Tentative Exam

Date

1 BE/PDDC II Even 06-02-2017 18-05-2017 25-05-2017

2 BE/PDDC IV Even 16-01-2017 18-05-2017 25-05-2017

3 BE/PDDC VI Even 19-12-2016 20-04-2017 27-04-2017

4 BE/PDDC VIII Even 19-12-2016 20-04-2017 27-04-2017

5 B.Pharm II Even 06-02-2017 27-05-2017 01-06-2017

6 B.Pharm IV Even 22-12-2016 12-04-2017 20-04-2017

7 B.Pharm VI Even 22-12-2016 12-04-2017 20-04-2017

8 B.Pharm VIII Even 22-12-2016 12-04-2017 20-04-2017

9 M.Pharm II Even 16-01-2017 18-05-2017 25-05-2017

10 M.Pharm IV Even 08-12-2016 07-04-2017 10-04-2017

11 D.Pharm P-I Yearly 01-08-2016 08-05-2017 11-05-2017

12 D.Pharm P-II Yearly 20-06-2016 13-04-2017 17-04-2017

13 DE II Even 16-01-2017 26-05-2017 01-06-2017

14 DE IV Even 19-12-2016 20-04-2017 27-04-2017

15 DE VI Even 19-12-2016 20-04-2017 27-04-2017

16 DE VIII Even 19-12-2016 20-04-2017 27-04-2017

17 M.E. II Even 16-01-2017 18-05-2017 25-05-2017

18 M.E. IV Even 08-12-2016 07-04-2017 10-04-2017

19 MCA II Even 16-01-2017 18-05-2017 25-05-2017

20 MCA IV Even 23-01-2017 25-05-2017 30-05-2017

21 MCA VI Even 08-12-2016 07-04-2017 10-04-2017

22 MBA II Even 16-01-2017 18-05-2017 25-05-2017

23 MBA IV Even 16-01-2017 18-05-2017 25-05-2017

24 MAM II Even 22-12-2016 12-04-2017 27-04-2017

25 MAM IV Even 22-12-2016 12-04-2017 27-04-2017

26 MAM VI Even 08-12-2016 07-04-2017 10-04-2017

27 MAM VIII Even 22-12-2016 12-04-2017 20-04-2017

28 MAM X Even 26-12-2016 18-04-2017 27-04-2017

29 MTM IV Even 16-01-2017 18-05-2017 25-05-2017

30 MTM VI Even 19-12-2016 20-04-2017 27-04-2017

31 MTM VIII Even 19-12-2016 20-04-2017 27-04-2017

32 MTM X Even 08-12-2016 07-04-2017 10-04-2017

33 MPM IV Even 22-12-2016 12-04-2017 20-04-2017

34 MPM VI Even 22-12-2016 12-04-2017 20-04-2017

35 MPM VIII Even 22-12-2016 12-04-2017 20-04-2017

36 MPM X Even 22-12-2016 12-04-2017 20-04-2017

37 B Arch II Even 16-01-2017 18-05-2017 25-05-2017

38 B Arch IV Even 22-12-2016 24-04-2017 27-04-2017

39 B Arch VI Even 22-12-2016 24-04-2017 27-04-2017

40 B Arch VIII Even 08-12-2016 07-04-2017 10-04-2017

41 B Arch X Even 08-12-2016 07-04-2017 10-04-2017

42 B HMCT II Even 16-01-2017 18-05-2017 25-05-2017

43 B HMCT IV Even 08-12-2016 07-04-2017 10-04-2017

GUJARAT TECHNOLOGICAL UNIVERSITY

No. GTU/AC/even-term/2016/9318

Academic Calendar – 2016-17 (Even Term)

Page 4: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

44 B HMCT VI Even 08-12-2016 07-04-2017 10-04-2017

45 B HMCT VIII Even 08-12-2016 07-04-2017 10-04-2017

46 B Plan II Even 16-01-2017 18-05-2017 25-05-2017

47 B Plan IV Even 22-12-2016 12-04-2017 20-04-2017

48 B Plan VI Even 22-12-2016 12-04-2017 20-04-2017

49 B Plan VIII Even 22-12-2016 12-04-2017 20-04-2017

50 MCA Integrated II Even 16-01-2017 18-05-2017 25-05-2017

51 MCA Integrated IV Even 19-12-2016 20-04-2017 27-04-2017

52 MCA Integrated VI Even 08-12-2016 07-04-2017 10-04-2017

53 MCA Integrated VIII Even 08-12-2016 07-04-2017 10-04-2017

54 Pharm D P-I Yearly 01-08-2016 08-05-2017 11-05-2017

9th Feb to 17th Feb, 2017

28-02-2017

01-05-2017

24th April & 25th April 2017

18-05-2017

24th April & 25th April 2017

10-06-2017

25th May 2017

20-06-2017

1st June 2017

From 10-06-2017 onwards

1st May 2017 to 17th June 2017

sd-

I/c Registrar

Copy to:

Commissioner, Commissionerate of Technical Education, 2nd Floor, Block No.2,

Dr. Jivraj Mehta Bhavan, Gandhinagar – 382 010 for information

M.E. -IV Thesis Submission:

M.Pharm.-IV Thesis Submission:

M.E. -IV Dissertation Phase-II:

M. Pharm. -IV Dissertation Phase II:

M. E.-IV Extended Thesis Submission:

Research Week for M.Pharm:

Research Week for M.E:

Extended Dissertation Phase-II (M. E.-IV):

Extended Dissertation Phase-II (M. Pharm.-IV):

Viva for GCSR/CP:

Summer Vacation:

M. Pharm.-IV Extended Thesis Submission:

Page 5: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii
Page 6: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

FACULTY OF ENGINEERING TECHNOLOGY AND RESEARCH COMPUTER SCIENCE & ENGINEERING DEPARTMENT

B.E III (8th Semester) Course Content Subject Name: ARTIFICIAL INTELLIGENCE (2180703) Type of course: Regular Prerequisite: Data Structures, Mathematics 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. Course Outcome: After studying this course students will be able to 1. Explain search methods. 2. Evaluate knowledge representation methods using predicate logic and rules. 3. Use Symbolic and Statistical reasoning techniques. 4. Explain weak and strong filler structures. 5. Use Game Playing techniques. 6. Perform Natural language processing. 7. Model AI problems using Connectionist methods 8. Evaluate predicate logic using Prolog Programming language.

Sr. No. Content Total

Hrs %

Weightage 1 What is AI?:The AI Problems, The Underlying Assumption, What Is An AI Techniques,

The Level Of The Model, Criteria For Success, Some General References, One final Word

02 04

2 Problems, State Space Search & Heuristic Search Techniques: Defining The Problems As A State Space Search, Production Systems, Production Characteristics, Production System Characteristics, And Issues In The Design Of Search Programs, Additional Problems. Generate-And-Test, Hill Climbing, Best-First Search, Problem Reduction, Constraint Satisfaction, Means-Ends Analysis.

05 10

3 Knowledge Representation Issues: Representations And Mappings, Approaches To Knowledge Representation.

03 05

4 Using Predicate Logic: Representation Simple Facts In Logic, Representing Instance And Isa Relationships, Computable Functions And Predicates, Resolution.

04 08

5 Representing Knowledge Using Rules : Procedural Versus Declarative Knowledge, Logic Programming, Forward Versus Backward Reasoning.

04 08

6 Symbolic Reasoning Under Uncertainty: Introduction To Non- monotonic Reasoning, Logics For Non-monotonic Reasoning.

04 08

7 Statistical Reasoning: Probability And Bays’ Theorem, Certainty Factors And Rule-Base Systems, Bayesian Networks, Dempster- Shafer Theory, Fuzzy Logic.

03 05

8 Weak Slot-and-Filler Structures: Semantic Nets, Frames. 03 05

9 Strong Slot-and-Filler Structures: Conceptual Dependency, Scripts, CYC. 03 05

10 Game Playing: Overview, And Example Domain: Overview, Mini Max, Alpha-Beta Cut-off, Refinements, Iterative deepening, The Blocks World, Components Of A Planning System, Goal Stack Planning, Nonlinear Planning Using Constraint Posting, Hierarchical Planning, Reactive Systems, Other Planning Techniques.

06 12

11 Understanding: What is understanding?,What makes it hard?,As constraint satisfaction. 02 04

12 Natural Language Processing: Introduction, Syntactic Processing, Semantic Analysis, Semantic Analysis, Discourse And Pragmatic Processing, Spell Checking

05 08

13 Connectionist Models: Introduction: Hopfield Network, Learning In Neural Network, Application Of Neural Networks, Recurrent Networks, Distributed Representations, Connectionist AI And Symbolic AI.

04 06

14 Introduction to Prolog: Introduction To Prolog: Syntax and Numeric Function, Basic List Manipulation Functions In Prolog, Functions, Predicates and Conditional, Input, Output and Local Variables, Iteration and Recursion, Property Lists and Arrays, Miscellaneous Topics, LISP and Other AI Programming Languages.

08 12

Page 7: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

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. List of Experiments: 1. Write a program to implement Tic-Tac-Toe game problem. 2. Write a program to implement BFS(for8 puzzle problem or Water Jug problem or any AI search problem) 3. Write a program to implement DFS(for8 puzzle problem or WaterJug problem or any AI searchproblem) 4. Write a program to implement Single Player Game (Using Heuristic Function) 5. Write a program to Implement A* Algorithm. 6. Write a program to solve N-Queens problem using Prolog. 7. Write a program to solve 8puzzle problem using Prolog. 8. Write a program to solve travelling salesman problem using Prolog. 9. Convert following Prolog predicates into Semantic Net cat(tom). cat(cat1). mat(mat1). sat_on(cat1,mat1). bird(bird1). caught(tom,bird1). like(X,cream):–cat(X). mammal(X):–cat(X). has(X,fur):– mammal(X). animal(X):– mammal(X). animal(X):– bird(X). owns(john,tom). is_coloured(tom,ginger). 10. Write the Conceptual Dependency for following statements. (a) John gives Marya book (b) John gave Mary the book yesterday Design based Problems (DP)/Open Ended Problem: 1. Describe major subfields and paradigms of AI. 2. What are the major challenges in the field of AI? 3. How AI can be used to develop a better search Engine? Major Equipment: Computer/ Prolog Language List of Open Source Software/learning website: 1. https://www.journals.elsevier.com/artificial-intelligence/ 2. https://www.technologyreview.com/s/534871/our-fear-of-artificial-intelligence/ 3. http://www.sanfoundry.com/artificial-intelligence-mcqs-inductive-logic-unification-lifting-1/ Active Learning Assignments: Preparation of power-point slides, which include videos, animations, pictures, graphics for better understanding theory and practical work – The faculty will allocate chapters/ parts of chapters to groups of students so that the entire syllabus to be covered. The power-point slides should be put up on the web-site of the College/ Institute, along with the names of the students of the group, the name of the faculty, Department and College on the first slide. The best three works should submit to GTU.

Page 8: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

FACULTY OF ENGINEERING TECHNOLOGY AND RESEARCH

COMPUTER SCIENCE & ENGINEERING DEPARTMENT

B.E IV (8th

semester) Course Content Subject Name: IOT AND APPLICATIONS (2180709)

Type of course: Bachelor of Engineering

Prerequisite: Fundamentals of computer network, wireless sensor network, communication & internet technology, web

technology, information security.

Course Outcomes:

After studying this course student will able to

1. Knowledge of IoT from a global context and its application.

2. Determine the Market perspective of IoT.

3. Knowledge of Devices, Gateways and Data Management in IoT.

4. Building state of the art architecture in IoT.

5. Application of IoT in Industrial and Commercial Building Automation and Real World Design Constraints.

6. Security issues, Privacy issues & Trust in IoT -Data-Platforms.

7. Knowledge of Eclipse IOT Projects

8. Knowledge of different parts of IOT Toolkit (Rasberry Pi ) with existing System components.

9. Determine working of an HTTP- to –CoAP semantic mapping proxy in IOT Toolkit.

10.Knowledge of Zetta.

Sr.

No.

Content Total Hrs

1. IoT & Web Technology The Internet of Things Today, Time for Convergence, Towards the IoT Universe, Internet of Things

Vision, IoT Strategic Research and Innovation Directions, IoT Applications, Future Internet

Technologies, Infrastructure, Networks and Communication, Processes, Data Management, Security,

Privacy & Trust, Device Level Energy Issues, IoT Related Standardization, Recommendations on

Research Topics.

08

2. M2M to IoT – A Basic Perspective– Introduction, Some Definitions, M2M Value Chains, IoT Value

Chains, An emerging industrial structure for IoT, The international driven global value chain and

global information monopolies.

M2M to IoT-An Architectural Overview– Building an architecture, Main design principles and

needed capabilities, An IoT architecture outline, standards considerations

10

3. IoT Architecture -State of the Art – Introduction, State of the art, Architecture Reference Model-

Introduction, Reference Model and architecture, IoT reference Model, IoT Reference Architecture-

Introduction, Functional View, Information View, Deployment and Operational View, Other Relevant

architectural views.

10

4. IoT Applications for Value Creations Introduction, IoT applications for industry: Future Factory Concepts, Brownfield IoT, Smart Objects,

Smart Applications, Four Aspects in your Business to Master IoT, Value Creation from Big Data and

Serialization, IoT for Retailing Industry, IoT For Oil and Gas Industry, Opinions on IoT Application

and Value for Industry, Home Management, eHealth

08

5. Internet of Things Privacy, Security and Governance Introduction, Overview of Governance, Privacy and Security Issues, Contribution from FP7 Projects,

Security, Privacy and Trust in IoT-Data-Platforms for Smart Cities, First Steps Towards a Secure

Platform, Smartie Approach. Data Aggregation for the IoT in Smart Cities, Security 5

08

Reference Books: 1. Vijay Madisetti and Arshdeep Bahga, “Internet of Things (A Hands-on-Approach)”, 1st Edition, VPT, 2014

2. Francis daCosta, “Rethinking the Internet of Things: A Scalable Approach to Connecting Everything”, 1st

Edition, Apress Publications, 2013

3. Cuno Pfister, Getting Started with the Internet of Things, O‟Reilly Media, 2011, ISBN: 978-1-4493-9357-1

Page 9: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

List of Experiments: 1. Define and Explain Eclipse IoT Project.

2. List and summarize few Eclipse IoT Projects.

3. Sketch the architecture of IoT Toolkit and explain each entity in brief.

4. Demonstrate a smart object API gateway service reference implementation in IoT toolkit.

5. Write and explain working of an HTTP- to-CoAP semantic mapping proxy in IoT toolkit.

6. Describe gateway-as-a-service deployment in IoT toolkit.

7. Explain application framework and embedded software agents for IoT toolkit.

8. Explain working of Raspberry Pi.

9. Connect Raspberry Pi with your existing system components.

10. Give overview of Zetta

Design based Problems (DP)/Open Ended Problem: 1. How do you connect and display your Raspberry Pi on a Monitor Or TV?

2. Create any circuitry project using Arduino.

Major Equipment: Raspberry pi, Arduino

List of Open Source Software/learning website: 1. https://github.com/connectIOT/iottoolkit

2. https://www.arduino.cc/

3. http://www.zettajs.org/

4. Contiki (Open source IoT operating system)

5. Arduino (open source IoT project)

6. IoT Toolkit (smart object API gateway service reference implementation)

7. Zetta (Based on Node.js, Zetta can create IoT servers that link to various devices and sensors)

Active Learning Assignments:

Preparation of power-point slides, which include videos, animations, pictures, graphics for better understanding theory

and practical work – The faculty will allocate chapters/ parts of chapters to groups of students so that the entire syllabus to

be covered. The power-point slides should be put up on the web-site of the College/ Institute, along with the names of the

students of the group, the name of the faculty, Department and College on the first slide. The best three works should

submit to GTU.

Page 10: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii
Page 11: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

FACULTY OF ENGINEERING TECHNOLOGY AND RESEARCH

COMPUTER SCIENCE & ENGINEERING DEPARTMENT

B.E. IV (8TH

SEMESTER) Course Content

Subject: ANDROID PROGRAMMING (2180715)

Type of course: Bachelor of Engineering

Prerequisite: Java programming and Object-oriented programming, Knowledge of RDBMS and OLTP

Course Outcomes:

After completion of the course students will be able to

1. Understand the existing state of mobile app development via researching existing apps, meeting with industry

professionals, and formulating new ideas.

2. Display proficiency in coding on a mobile programming platform.

3. Understand the limitations and features of developing for mobile devices.

4. Create a complete Mobile app with a significant programming component, involving the sensors and hardware features of

the phone.

5. Understand the economics and features of the app marketplace by offering the app for download.

Sr. No Content Total

Hrs

%

Weightage

1

The Basics:

● Hello World: Intro to Android, Why develop apps for Android?, Flavors of

Android operating systems, Challenges of developing for Android (multiple

OS, need backwards compatibility, need to consider performance and offline

capability)

● Concept: Create Your First Android App: Overview of the development

process - Java, Android Studio , Project layout in Android Studio, Target and

minimumSDKs, Android Virtual Device (AVD) Monitor, Viewing logs in

logcat and AVD, Android manifest file, App Architecture: An app consists of

one or moreactivities. For an activity, write Java code and layout xml, and

hook them together, and register the activity in the manifest file.

● Concept: Layouts, Views and Resources: Layout elements can be viewed

and edited in Layout Editor and XML, Introduction to the range of UI

elements, Resources (layouts, strings, styles, themes), Identifying resources

with IDs, Programmatically referencing resources using resource IDs, on Click

attribute, Getting user input from a view, Programmatically changing UI

elements, Layout Managers, Defining layouts for Activities, inflating the

layout.

● Concept: Scrolling Views: How to make activities scrollable: compare

ScrollView, ListView, RecyclerView , Getting the resource ID for a UI

element by inflating a layout (needed for RecyclerView) , How to implement

RecyclerView (requires layout managers and ViewHolders) , Performance

impications of different kinds of scrolling UI elements

● Concept: Resources to Help You Learn:

Resources to help you learn: Samples that ship with the SDK, Templates for

projects, developer.android.com, Android developer blog , Android developer

YouTube channel, Source code and samples in github, Stack overflow, Google

search!

● Activities and Intents :About activities, Defining Activities , Activity

Lifecycle , Activity navigation , About intents ,Explicit vs Implicit intents

,Passing info to new activity ,Returning data from activity

● The Activity Lifecycle and Managing State: Activity lifecycle , Activity

lifecycle callback methods , Activity instance state

● Starting Activities with Implicit Intents: Starting activities by sending

implicit intents, Intent filters and enabling your activities to receive intents,

ShareCompat

10 23

Page 12: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

● Testing and Debugging, and Backwards Compatibility: Debugging your

apps, Testing your app, Support libraries

2 User Interface: ● User Input Controls: Getting user input , Changing keyboards ,Buttons

,Dialogsand pickers ,Spinners, checkboxes, and radio buttons , Gestures ,

Speech recognition (not done), Sensors (not done)

● Menus: Options menu, contextual menus (floating and action bar), and

popup menu, Adding menu items. Handlingon Clicks frommenus.

● Screen Navigation: Terminology, Different ways a user can navigate

through an app, Action bar, Settings menu, Navigation drawer, Directed

workflow(funnels), Best practices for navigation

● Themes and Styles: Best practices for themes and styles, Performance

benefits for themes, When and how to use drawables, best practices for

drawable, When and how to use nine-patches, best practices for nine-patches,

Tools for creating drawables

● Material Design: What is material design? Material design best practices.

Material Design guidelines, Implementing Material Design look and feel, with

compatibility with previous versions, Support library for Material Design,

Transitions and Animations

● Adapt layouts for multiple devices and orientations: Why we need to

consider different screen sizes and orientations, Screen density (dipordp), How

to create adaptive layouts using resources folders, Different ways to create

images that scale nicely, Images and image formats and how they affect

performance(download speeds).

● Accessibility: Why accessibility matters, Accessibility considerations: Color

blindness, poor vision, poor hearing, physical limitations, Accessibility

guidelines, Testing for accessibility ,Screen readers, Making your app more

accessible: Color and Contrast, button size-->Material Design guidelines,

considerate layout sand navigation

● Localization: How top rep your app for localization, LTR and

RTL(egArabic)text.

● Testing the User Interface: Automated testing of UIs, User testing your UI

with real users, Using the Espresso and UI Automat or frameworks for testing

UIs

10 22

3 Background Tasks: ● Connect to the Internet: Background Tasks, Synchronous versus

async tasks, What is the UI thread and when should you use it?, Example of a

background task—retrieving data over the internet, Creating background tasks.

(Schedule, send data, etc.) ,Implementing AsyncTask (do In

Background(),callbacks) ,Limitations of AsyncTask , Passing info to

background tasks, Initiating background tasks, Scheduling background tasks

(intro only, more later).

● Connecting to the Internet: Permissions, Building URIs, Opening and

closing Internet connections, Parsing JSON in Android.(Because it’s

common.),Sending requests and parsing response.

● AsyncTask Loader: Intro to AsyncTaskLoader, loadIn

Background() , AsyncTaskLoader callbacks, Benefits of loaders

● Broadcast Receivers: What is a Broadcast Receiver and a BroadcastIntent?

,Broadcast Receiver Security and Lifecycle

●Services: What is a service? Long running task without a UI, Difference

between Activity and Service, Start and stop services, Lifecycle methods,

Foreground services, Intent Service class, App priority (critical, high, low),

How to create a new Service.

● Notifications: What is a Notification? , Notification Design Guidelines.

● Triggering, Scheduling, and Optimizing Background Tasks: Alarm Manager

● Transferring Data Efficiently: Less data, less often! Cell radio life cycle,

Job Scheduler. Why to use Job Scheduler instead of

SyncManager/SyncAdapter, Difference between alarms and job schedulers.

10 23

Page 13: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

4 Data -- Saving, Retrieving, Loading ● Storing Data in your app: Internal versus external storage, Privacy, sharing,

security, encryption of your data , Shared Preferences: Store private primitive

data in key-value pairs , SQLite Databases: Store structured data in a private

database , Store data on the web with your own network server, Firebase for

storing and sharing data in the cloud,Concept: Preferences , What are Settings

and Preferences? , Settings best practices (harder to take away settings than to

add, for usability reasons, Storing and retrievingpreferences as key/value pairs

using Shared Preference, Different Settings types, Settings menu, Using

Activity and Preference Fragments to allow users to set preferences

● Store data using SQLite database: Overview of SQLite, Open Helper

Android class , Querying (dev) Searching (user) databases , Best practices for

using databases inAndroid , Best practices for testing your database

● Using Content Resolvers to access data: Content Providers and Content

Resolvers work together, what is a content provider? , What is a content

resolver? , How dothey work together? , How to implement and use Content

Resolvers

● Content Providers: When to implement content providers , How to

implement content providers (overview), Content URIs , Uri Matcher, Content

Provider authorities , requiredmethods on Content Provider (query, insert,

delete, update) , MIME types , Contracts , Making content provider data

accessible to other apps by modifying manifest, andprotecting data with

permissions.

● Using Loaders to Load and Display Data: Using loaders to asynchronously

load data into an activity or fragment, Benefits of Loaders -- why use them? ,

Loader states (started, stopped, reset) , Loader Manager , Methods &callbacks

to implement in.

10 22

5 Polish and Publish ● Permissions: The permissions model

● Libraries: Using libraries

● Widgets: What are widgets? When to use them and how to implement them.

● Publishing your App: Different ways to monetize your app (overview only)

● Making and publishing APKs: Guidelines for publishing in Google Play ,

Make and sign the APK, Beta test your app , Publish your app to Google Play

5 10

List of Experiments:

1. Install Android Studio, Hello World, Logging

● Install Android Studio

● Create and Run Hello World on emulator and device.

● Explore project layout.

● Generate and view log statements.

● Explore manifest file.

2. Practical: Make Your First Interactive UI

● Add Views and UI elements in Layout Editor to the app's home screen.

● Edit layout XML.

● Add click behaviour to a button (show a toast).

● Change the UI through a button click

● Write a method to use string resource to define a message to appear in the UI.

● Experiment with using different layouts.

● Explore other UI Elements in the Layout Manager.

3. Practical: Working with TextView Elements

● Use a scroll view for text with minor HTML formatting

4. Practical: Learning Resources

● Get answers from android.developer.com.

● Create new projects with different templates.

● Create a new project based on a sample in the SDK.

● Find out how to add a launcher icon for your app.

● Find out the most popular Android OS in India.

Page 14: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

5. Practical: Create and Start Activities

● Create a new activity and layout

● Start the new activity from an existing activity with an explicit intent

● Pass user-entered information from one activity to the other

● Pass information back to the main activity

6. Practical: Lifecycle and State Callbacks

● Add Lifecycle callbacks

● Save and restore instance state

7. Practical: Start Activities with Implicit Intents

● Send an implicit intent to start an activity (open web site)

● Send an implicit intent to start an activity (open location)

● Use an intent filter to allow other apps to start an activity in your app

● Use ShareCompact.IntentBuilder

8. Practical: Using the Debugger

9. Practical: Testing your code

10. Practical: Use support library

11. Practical: Use Keyboards, Input Controls, Alerts, and Pickers

● Experiment in your app with different keyboards for user input, spelling sugg and auto-capitalization.

● Add a spinner input control for selecting one value out of a set of values.

● Create new app to show an alert, and record the user's selection (OK or Cancel).MOVE TO CONCEPT.

● Update app to show date and time pickers and record the user's selections.

12. Practical: Use an Options Menu and Radio Buttons

● Set up an options menu and overflow menu

● Add items to the option (overflow) menu.

● Add radio buttons for user selection.

● Add Up navigation to the app bar.

13. Practical: Create a Recycler View

● Create an activity that displays data in a RecyclerView.

● Make the items in the list clickable

● Add a floating action button to add items to the list

14. Practical: Theme, Custom Styles, Drawables

● Define and use a theme

● Define and use a custom style that uses a drawable

15. Practical: Add a FAB and Cards

● Create an app that uses a Floating Action Button (FAB)

● Add an activity that uses cards. Optionally, style the cards.

● Customize your app's theme and styles to use Material Design styles and colors.

16. Practical: Put yourself in the Users shoes

● Test your app for accessibility, using Talkback and Explore by Touch. Switch to monochrome color space

● Put in earplugs, can you still use your app?

● Wear the darkest glasses you can find, can you still use your gloves?

● Put on gloves, can you still use your app?

● How would you make one of the apps you have written so far more accessible?

17. Practical: Implement Localized Strings

● Create localized strings in your app

● Test by changing default language

18. Practical: Use Espresso to test your UI

● Use Espresso to Test Your UI

19. Practical: Create an AsyncTask

● Create a simple AsyncTask to do work in the background

20. Practical: Google APIs Explorer, JSON, Books API

● Use the Books API in the Google APIs Explorer to investigate request formatand JSON response format

Create a new app that uses the Books API and AsyncTask to search for the author of abook.

● Write the code to parse the response and extract and display the relevant information

● Debug errors when the Internet permission is missing

● Add the missing permission to the Android Manifest.

● Verify your fix by running and testing your app.

21. Practical: Use AsyncTaskLoader

Page 15: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

● Use AsyncTaskLoader instead of AsyncTask to show book search results in aRecyclerView

22. Practical: BroadcastReceiver

● Create an app with a BroadcastReceiver

23. Practical: Notifications

● Trigger a Notification

● Add Actions to your Notification

24. Practical: Alarm Manager

● Implement an alarm manager

25. Practical: Job Scheduler

● Use JobScheduler to do background updates

26. Practical: Firebase Job Dispatcher

27. Practical: Get and Save User Preferences

● Implement Settings menu to allow users to enter preferences.

● Implement code to retrieve and user user preferences

28. Practical: Save user data in a database

● Create an app that allows users to enter notes

● Save the notes in a SQLite database

● Create an app that stores data in an SQL database.

● Display the data in a RecyclerView.

● Allow users to add, delete, and edit data items.

29. Practical: Querying and Searching a Database

30. Practical: Implement a Content Provider

● Add a content provider for your SQLite database

31. Practical: Use a ContentResolver to query your data

● Use a content resolver to query the database

● Display the results of the query

● Use the content resolver to add data to the database

32. Practical: Implement a Loader

● Implement a loader

● Register a Listener for the Loader

● Test the loader by checking that the Items in the UI update when the data generated by the loader changes

● register a Listener for the Loader

● Test the loader by checking that the Items in the UI update when the underlying data changes

33. Practical: Beta testing your app

● running a beta test on Google Play

Page 16: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

FACULTY OF ENGINEERING TECHNOLOGY AND RESEARCH

COMPUTER SCIENCE & ENGINEERING DEPARTMENT

B.E III (8th

Semester) Course Content

Subject Name: BIG DATA ANALYTICS (2180710)

Type of course: Elective Prerequisite: NA

Rationale: NA

Course Outcome: After studying this course students will be able to

1. Build and maintain reliable, scalable, distributed systems with Apache Hadoop.

2. Use Tools like Pig, Hive, HiveQL, HBase and Zookeeper.

3. write Map-Reduce based Applications using Hadoop and Spark.

4. Design and build MongoDB based Big Data Applications and MongoDB query language.

5. Understand difference between conventional SQL query language and NoSQL basic concepts.

6. Employ tools and technologies to analyze Big Data.

Sr.

No.

Content Total

Hrs

%

Weightage

1 Introduction to Big Data : Introduction– distributed file system–Big Data and its

importance, Four Vs, Drivers for Big data, Big data analytics, Big data applications.

Algorithms using map reduce

06 13%

2 Introduction to Hadoop And Hadoop Architecture: Big Data – Apache Hadoop &

Hadoop EcoSystem, Moving Data in and out of Hadoop – Understanding inputs and

outputs of MapReduce - Data Serialization

12 25%

3 HDFS, HIVE And HiveQL, HBase : HDFS-Overview, Installation and Shell, Java API;

Hive Architecture and Installation, Comparison with Traditional Database, HiveQL

Querying Data, Sorting And Aggregating, Map Reduce Scripts, Joins & Sub queries,

HBase concepts, Advanced Usage, Schema Design, Advance Indexing, PIG, Zookeeper ,

how it helps in monitoring a cluster, HBase uses Zookeeper and how to Build

Applications with Zookeeper

08 15%

4 Spark : Introduction to Data Analysis with Spark, Downloading Spark and Getting

Started, Programming with RDDs, Machine Learning with MLlib

12 20%

5 NoSQL : What is it?, Where It is Used Types of NoSQL databases, Why NoSQL?,

Advantages of NoSQL, Use of NoSQL in Industry, SQL vs NoSQL, NewSQL

05 12%

6 Database for the Modern Web: Introduction to MongoDB key features, Core Server

tools, MongoDB through the JavaScript’s Shell, Creating and Querying through Indexes,

Document-Oriented, principles of schema design, Constructing queries on Databases,

collections and Documents , MongoDB Query Language

08 15%

Reference Books: 1. Boris lublinsky, Kevin t. Smith, AlexeyYakubovich, “Professional Hadoop Solutions”, Wiley, ISBN: 9788126551071,

2015

2. Chris Eaton,Dirk derooset al. , “Understanding Big data ”, McGraw Hill, 2012

3. BIG Data and Analytics , Sima Acharya, Subhashini Chhellappan, Willey

4. MongoDB in Action, Kyle Banker,Piter Bakkum , Shaun Verch, Dream tech Press

5. Tom White, “HADOOP: The definitive Guide”, O Reilly 2012

6. VigneshPrajapati, “Big Data Analyticswith R and Haoop”, Packet Publishing 2013

7. http://www.bigdatauniversity.com/

8. Learning Spark: Lightning-Fast Big Data Analysis Paperback by Holden Karau

List of Experiments: 1. (i) Implement the following Data structures in Java

a)Linked Lists b) Stacks c) Queues d) Set e) Map f) List.

Remark: Store the basic information about students such as roll no, name, date of birth, and address of student

(ii) To understand the overall programming architecture using Map Reduce API

Page 17: FACULTY OF ENGINEERING TECHNOLOGY & RESEARCHfetr.ac.in/wp-content/uploads/2017/06/SEM-8.pdf · ai cs-31 (drc) l 7 ai cs-32 hjs l 8 prj-ii (brb) l8 prj-ii (vcj) l8 (ndp) l7 prj-ii

2. (i) Perform setting up and Installing Hadoop in its three operating modes: Standalone,

(ii) Use web based tools to monitor your Hadoop setup.

3. Implement the following file management tasks in Hadoop (Hadoop Commands):

Adding files and directories

Retrieving files Deleting files

Hint: A typical Hadoop workflow creates data files (such as log files) elsewhere and copies them into HDFS using one

of the above command line utilities.

4. Run a basic Word Count Map Reduce program to understand Map Reduce Paradigm.

Assignment Problem: Write a Map Reduce program that mines weather data. Weather sensors collecting data every hour at many locations across the globe gather a large volume of log data, which is a good candidate for analysis with MapReduce, since it is semi structured and record-oriented. 5. Implement Matrix Multiplication with Hadoop Map Reduce.

6. Install and Run Pig then write Pig Latin scripts to sort, group, join, project, and filter your data.

7. Install and Run Hive then use Hive to create, alter, and drop databases, tables, views, Join, functions, and indexes.

8. Install and work with MongoDB. (CRUD Operations).

Assignment Problem: Develop any management application using backend as Mongo DB.

9. (i) Build an Application using Zookeeper (use concept of HBase).

(ii) Run a basic Word Count program using SPARK and Python/Java. (Installation is Pre-required).

Design based Problems (DP)/Open Ended Problem: 1. Create a system which can use of Web search, web crawlers and web information retrieval.

2. Analyze and implement a system with Web graph mining.

3. Implement and Subscribe RSS News feeds to get latest news in India.

Major Equipment: XMLSpy, RSS Feed, RSS Reader

List of Open Source Software/learning website: 1. http://in.reuters.com/tools/rss

2. http://www.altova.com/xmlspy.html

3. https://www.w3.org/RDF/

Active Learning Assignments:

Preparation of power-point slides, which include videos, animations, pictures, graphics for better understanding theory

and practical work – The faculty will allocate chapters/ parts of chapters to groups of students so that the entire syllabus

to be covered. The power-point slides should be put up on the web-site of the College/ Institute, along with the names of

the students of the group, the name of the faculty, Department and College on the first slide. The best three works should

submit to GTU.