Task 1: Creating a Scheduler - Features to be covered: Gridlines, Format Cells, Summation, auto fill, Formatting Text
5. SUGGESTED SOFTWARE
The software consisting of the prescribed topics elaborated above should be procured and used.
Oxford Advanced Learner’s Compass, 7th Edition
DELTA’s key to the Next Generation TOEFL Test: Advanced Skill Practice.
Lingua TOEFL CBT Insider, by Dream tech
TOEFL & GRE (KAPLAN, AARCO & BARRONS, USA, Cracking GRE by CLIFFS)
TEXT BOOKS:
1. Effective Technical Communication by M Asharaf Rizvi. McGraw Hill Education (India) Pvt. Ltd.
2nd Edition
2. Academic Writing: A Handbook for International Students by Stephen Bailey, Routledge, 5th Edition.
REFERENCE BOOKS:
1. Learn Correct English – A Book of Grammar, Usage and Composition by Shiv K. Kumar and Hemalatha Nagarajan. Pearson 2007
2. Professional Communication by Aruna Koneru, McGraw Hill Education (India) Pvt. Ltd, 2016.
3. Technical Communication by Meenakshi Raman & Sangeeta Sharma, Oxford University Press 2009.
4. Technical Communication by Paul V. Anderson. 2007. Cengage Learning pvt. Ltd. New Delhi.
5. English Vocabulary in Use series, Cambridge University Press 2008.
6. Handbook for Technical Communication by David A. McMurrey & Joanne Buckley. 2012. Cengage Learning.
7. Communication Skills by Leena Sen, PHI Learning Pvt Ltd., New Delhi, 2009.
8. Job Hunting by Colm Downes, Cambridge University Press 2008.
9. English for Technical Communication for Engineering Students, Aysha Vishwamohan, Tata Mc Graw-Hill 2009.
94
*MC510: INTELLECTUAL PROPERTY RIGHTS
III Year B.Tech. IT I-Sem L T P C
3 0 0 0
UNIT – I
Introduction to Intellectual property: Introduction, types of intellectual property, international organizations, agencies and treaties, importance of intellectual property rights.
UNIT – II
Trade Marks: Purpose and function of trademarks, acquisition of trade mark rights, protectable matter, selecting, and evaluating trade mark, trade mark registration processes.
UNIT – III
Law of copy rights: Fundamental of copy right law, originality of material, rights of reproduction, rights to perform the work publicly, copy right ownership issues, copy right registration, notice of copy right, international copy right law.
Law of patents: Foundation of patent law, patent searching process, ownership rights and transfer
UNIT – IV
Trade Secrets: Trade secrete law, determination of trade secrete status, liability for misappropriations of trade secrets, protection for submission, trade secrete litigation.
Unfair competition: Misappropriation right of publicity, false advertising.
UNIT – V
New development of intellectual property: new developments in trade mark law; copy right law, patent law, intellectual property audits.
International overview on intellectual property, international – trade mark law, copy right law, international patent law, and international development in trade secrets law.
TEXT & REFERENCE BOOKS:
1. Intellectual property right, Deborah. E. Bouchoux, Cengage learning.
2. Intellectual property right – Unleashing the knowledge economy, prabuddha ganguli, Tata McGraw Hill Publishing company ltd
95
IT601PC: INTRODUCTION TO EMBEDDED SYSTEMS
III Year B.Tech. IT II -Sem L T P C
3 0 0 3 Prerequisites
1. A course on “Digital Logic Design and Microprocessors”
2. A course on “Computer Organization and Architecture”
Course Objectives
To provide an overview of principles of Embedded System
To provide a clear understanding of role of firmware, operating systems in correlation with hardware systems.
Course Outcomes
Expected to understand the selection procedure of processors in the embedded domain.
Design procedure of embedded firm ware.
Expected to visualize the role of realtime operating systems in embedded systems.
Expected to evaluate the correlation between task synchronization and latency issues
UNIT - I
Introduction to Embedded Systems:
Definition of Embedded System, Embedded Systems Vs General Computing Systems, History of Embedded Systems, Classification of Embedded Systems, Major application areas, Purpose of E bedded Systems, Characteristics and Quality attributes of Embedded Systems.
UNIT - II
The Typical Embedded System:
Core of the Embedded System, Memory, Sensors and Actuators, Communication Interface, Embedded Firmware, Other System components.
UNIT - III
Embedded Firmware Design and Development:
Embedded Firmware Design, Embedded Firmware Development Languages, Programming in Embedded C.
UNIT - IV
RTOS Based Embedded System Design:
Operating System basics, Types of Operating Systems, Tasks, Process, Threads, Multiprocessing and Multi-tasking, Task Scheduling, Threads-Processes-Scheduling putting them together, Task Communication, Task Synchronization, Device Drivers, How to choose an RTOS
UNIT - V
Integration and Testing of Embedded Hardware and Firmware:
Integration of Hardware and Firmware, Boards Bring up The Embedded System Development Environment:
The Integrated Development Environment (IDE), Types of files generated on Cross-Compilation, Disassembler/Decompiler, Simulators, Emulators and Debugging, Target Hardware Debugging, Boundary Scan.
TEXT BOOKS:
1. Shibu K V, “Introduction to Embedded Systems”, Second Edition, Mc Graw Hill
96 REFERENCES:
1. Rajkamal, Embedded Systems Architecture, Programming and Design, TATA McGraw-Hill 2. Frank Vahid and Tony Givargis, “Embedded Systems Design” - A Unified Hardware/Software
Introduction, John Wiley
3. Lyla, “Embedded Systems” –Pearson
4. David E.Simon, An Embedded Software Primer, Pearson Education Asia, First Indian Reprint 2000.
97
IT602PC: PRINCIPLES OF COMPILER CONSTRUCTION
III Year B.Tech. IT II -Sem L T P C
3 0 0 3 Course Objectives:
To understand the various phases in the design of a compiler.
To study various data structures used
To understand the design of top-down and bottom-up parsers.
To understand syntax directed translation schemes.
To introduce lex and yacc tools.
To learn intermediate languages
To learn to develop algorithms to generate code for a target machine.
To learn how to optimize machine code
Course Outcomes:
Ability to design, develop, and implement a compiler for any language.
Able to use lex and yacc tools for developing a scanner and a parser.
Able to design and implement LL and LR parsers.
Able to design algorithms to perform code optimization in order to improve the performance of a program in terms of space and time complexity.
Ability to design algorithms to generate machine code
UNIT - I
Introduction: Phases of compiler, Groping of phases.
Lexical Analysis: The Role of the Lexical Analyzer, Input Buffering, Recognition of Tokens, The Lexical-Analyzer Generator LEX, Finite Automata, From Regular Expressions to Automata.
UNIT - II
Syntax Analysis: Introduction, Context-Free Grammars, Writing a Grammar, Top-Down Parsing, Bottom-Up Parsing, Introduction to LR Parsing: Simple LR, More Powerful LR Parsers.
UNIT - III
Syntax-Directed Translation: Syntax-Directed Definitions, Construction of syntax trees, Bottom-up evaluation of S-attributed definitions, L-attributed definitions, Top down translation, Bottom-up evaluation of inherited attributes.
Type checking: Type systems, Specification of a simple type checker, Equivalence of type expressions.
Intermediate-Code Generation: Intermediate languages, Declarations
UNIT - IV
Run-Time Environments: Storage organization, Storage allocation strategies, Symbol tables.
Code Generation: Issues in the Design of a Code Generator, The Target Machine, Basic Blocks and Flow Graphs, , A Simple Code Generator, Register Allocation and Assignment, Generation of DAGs, Generating code from DAGs.
UNIT - V
Machine-Independent Optimizations: Introduction, The Principal Sources of Optimization, Introduction to Data-Flow Analysis, Foundations of Data-Flow Analysis.
98 TEXT BOOK:
1. Compilers: Principles, Techniques and Tools, Second Edition, Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffry D. Ullman, Pearson.
REFERENCE BOOKS:
1. Compiler Construction-Principles and Practice, Kenneth C Louden, Cengage Learning.
2. Modern compiler implementation in C, Andrew W Appel, Revised edition, Cambridge University Press.
3. The Theory and Practice of Compiler writing, J. P. Tremblay and P. G. Sorenson, TMH 4. Writing compilers and interpreters, R. Mak, 3rd edition, Wiley student edition.
5. lex & yacc – John R. Levine, Tony Mason, Doug Brown, O’reilly
99
IT603PC: ALGORITHM DESIGN AND ANALYSIS
III Year B.Tech. IT II -Sem L T P C
3 0 0 3 Prerequisites
1. A course on “Computer Programming and Data Structures”
2. A course on “Advanced Data Structures”
Course Objectives:
Introduces the notations for analysis of the performance of algorithms.
Introduces the data structure disjoint sets.
Describes major algorithmic techniques (divide-and-conquer, backtracking, dynamic programming, greedy, branch and bound methods) and mention problems for which each technique is appropriate;
Describes how to evaluate and compare different algorithms using worst-, average-, and best- case analysis.
Explains the difference between tractable and intractable problems, and introduces the problems that are P, NP and NP complete.
Course Outcomes:
Ability to analyze the performance of algorithms
Ability to choose appropriate data structures and algorithm design methods for a specified application
Ability to understand how the choice of data structures and the algorithm design methods impact the performance of programs
UNIT - I
Introduction: Algorithm, Performance Analysis-Space complexity, Time complexity, Asymptotic Notations- Big oh notation, Omega notation, Theta notation and Little oh notation.
Divide and conquer: General method, applications-Binary search, Quick sort, Merge sort, Strassen’s matrix multiplication.
UNIT - II
Disjoint Sets: Disjoint set operations, union and find algorithms
Backtracking: General method, applications, n-queen’s problem, sum of subsets problem, graph coloring
UNIT - III
Dynamic Programming: General method, applications- Optimal binary search trees, 0/1 knapsack problem, All pairs shortest path problem, Traveling sales person problem, Reliability design.
UNIT - IV
Greedy method: General method, applications-Job sequencing with deadlines, knapsack problem, Minimum cost spanning trees, Single source shortest path problem.
UNIT - V
Branch and Bound: General method, applications - Travelling sales person problem, 0/1 knapsack problem - LC Branch and Bound solution, FIFO Branch and Bound solution.
NP-Hard and NP-Complete problems: Basic concepts, non deterministic algorithms, NP - Hard and NP-Complete classes, Cook’s theorem.
100 TEXT BOOK:
1. Fundamentals of Computer Algorithms, Ellis Horowitz, Satraj Sahni and Rajasekharan, University Press.
REFERENCE BOOKS:
1. Design and Analysis of algorithms, Aho, Ullman and Hopcroft, Pearson education.
2. Introduction to Algorithms, second edition, T. H. Cormen, C.E. Leiserson, R. L. Rivest, and C.
Stein, PHI Pvt. Ltd./ Pearson Education.
3. Algorithm Design: Foundations, Analysis and Internet Examples, M.T. Goodrich and R.
Tamassia, John Wiley and sons.
101
IT604PC: INTERNET OF THINGS
III Year B.Tech. IT II -Sem L T P C
3 0 0 3 Course Objectives
To introduce the terminology, technology and its applications
To introduce the concept of M2M (machine to machine) with necessary protocols
To introduce the Python Scripting Language which is used in many IoT devices
To introduce the Raspberry PI platform, that is widely used in IoT applications
To introduce the implementation of web-based services on IoT devices
Course Outcomes
Interpret the impact and challenges posed by IoT networks leading to new architectural models.
Compare and contrast the deployment of smart objects and the technologies to connect them to network.
Appraise the role of IoT protocols for efficient network communication.
Elaborate the need for Data Analytics and Security in IoT.
Illustrate different sensor technologies for sensing real world entities and identify the applications of IoT in Industry.
UNIT - I
Introduction to Internet of Things –Definition and Characteristics of IoT, Physical Design of IoT – IoT Protocols, IoT communication models, Iot Communication APIs IoT enabaled Technologies – Wireless Sensor Networks, Cloud Computing, Big data analytics, Communication protocols, Embedded Systems, IoT Levels and Templates Domain Specific IoTs – Home, City, Environment, Energy, Retail, Logistics, Agriculture, Industry, health and Lifestyle
UNIT - II
IoT and M2M – Software defined networks, network function virtualization, difference between SDN and NFV for IoT Basics of IoT System Management with NETCOZF, YANG- NETCONF, YANG, SNMP NETOPEER
UNIT - III
Introduction to Python - Language features of Python, Data types, data structures, Control of flow, functions, modules, packaging, file handling, data/time operations, classes, Exception handling Python packages - JSON, XML, HTTPLib, URLLib, SMTPLib
UNIT - IV
IoT Physical Devices and Endpoints - Introduction to Raspberry PI-Interfaces (serial, SPI, I2C) Programming – Python program with Raspberry PI with focus of interfacing external gadgets, controlling output, reading input from pins.
UNIT - V
IoT Physical Servers and Cloud Offerings – Introduction to Cloud Storage models and communication APIs Webserver – Web server for IoT, Cloud for IoT, Python web application framework Designing a RESTful web API
102 TEXT BOOK
1. Internet of Things - A Hands-on Approach, Arshdeep Bahga and Vijay Madisetti, Universities Press, 2015, ISBN: 9788173719547
2. Getting Started with Raspberry Pi, Matt Richardson & Shawn Wallace, O'Reilly (SPD), 2014, ISBN: 9789350239759
103
IT611PE: ETHICAL HACKING (Professional Elective - III)
III Year B.Tech. IT II -Sem L T P C
3 0 0 3 Prerequisites:
1. A course on “Operating Systems”
2. A course on “Computer Networks”
3. A course on “Network Security and Cryptography”
Course Objectives:
The aim of the course is to introduce the methodologies and framework of ethical hacking for enhancing the security.
The course includes-Impacts of Hacking; Types of Hackers; Information Security Models;
Information Security Program; Business Perspective; Planning a Controlled Attack; Framework of Steps (Reconnaissance, Enumeration, Vulnerability Analysis, Exploitation, Deliverable and Integration)
Course Outcomes:
Gain the knowledge of the use and availability of tools to support an ethical hack
Gain the knowledge of interpreting the results of a controlled attack
Understand the role of politics, inherent and imposed limitations and metrics for planning of a test
Comprehend the dangers associated with penetration testing
UNIT- I
Introduction: Hacking Impacts, The Hacker
Framework: Planning the test, Sound Operations, Reconnaissance, Enumeration, Vulnerability Analysis, Exploitation, Final Analysis, Deliverable, Integration
Information Security Models: Computer Security, Network Security, Service Security, Application Security, Security Architecture
Information Security Program: The Process of Information Security, Component Parts of Information Security Program, Risk Analysis and Ethical Hacking
UNIT - II
The Business Perspective: Business Objectives, Security Policy, Previous Test Results, Business Challenges
Planning for a Controlled Attack: Inherent Limitations, Imposed Limitations, timing is Everything, Attack Type, Source Point, Required Knowledge, Multi-Phased Attacks, Teaming and Attack Structure, Engagement Planner, The Right Security Consultant, The Tester, Logistics, Intermediates, Law Enforcement
UNIT - III
Preparing for a Hack: Technical Preparation, Managing the Engagement
Reconnaissance: Social Engineering, Physical Security, Internet Reconnaissance
UNIT - IV
Enumeration: Enumeration Techniques, Soft Objective, Looking Around or Attack, Elements of Enumeration, Preparing for the Next Phase
Exploitation: Intutive Testing, Evasion, Threads and Groups, Operating Systems, Password Crackers, RootKits, applications, Wardialing, Network, Services and Areas of Concern
104 UNIT - V
Deliverable: The Deliverable, The Document, Overal Structure, Aligning Findings, Presentation Integration: Integrating the Results, Integration Summary, Mitigation, Defense Planning, Incident Management, Security Policy, Conclusion
TEXT BOOK:
1. James S. Tiller, “The Ethical Hack: A Framework for Business Value Penetration Testing”, Auerbach Publications, CRC Press
REFERENCE BOOKS:
1. EC-Council, “Ethical Hacking and Countermeasures Attack Phases”, Cengage Learning 2. Michael Simpson, Kent Backman, James Corley, “Hands-On Ethical Hacking and Network
Defense”, Cengage Learning
105
CS612PE: NETWORK PROGRAMMING (Professional Elective - III)
III Year B.Tech. IT II-Sem L T P C
3 0 0 3 Course Objectives:
To understand inter process and inter-system communication
To understand socket programming in its entirety
To understand usage of TCP/UDP / Raw sockets
To understand how to build network applications
Course Outcomes:
To write socket API based programs
To design and implement client-server applications using TCP and UDP sockets
To analyze network programs
UNIT - I
Introduction to Network Programming: OSI model, Unix standards, TCP and UDP & TCP connection establishment and Format, Buffer sizes and limitation, standard internet services, Protocol usage by common internet application.
Sockets : Address structures, value – result arguments, Byte ordering and manipulation function and related functions Elementary TCP sockets – Socket, connect, bind, listen, accept, fork and exec function, concurrent servers. Close function and related function.
UNIT - II
TCP client server : Introduction, TCP Echo server functions, Normal startup, terminate and signal handling server process termination, Crashing and Rebooting of server host shutdown of server host.
Elementary UDP sockets: Introduction UDP Echo server function, lost datagram, summary of UDP example, Lack of flow control with UDP, determining outgoing interface with UDP.
I/O Multiplexing: I/O Models, select function, Batch input, shutdown function, poll function, TCP Echo server,
UNIT - III
Socket options: getsockopt and setsockopt functions. Socket states, Generic socket option IPV6 socket option ICMPV6 socket option IPV6 socket option and TCP socket options.
Advanced I/O Functions-Introduction, Socket Timeouts, recv and send Functions,readv and writev Functions, recvmsg and sendmsg Functions, Ancillary Data, How Much Data Is Queued?, Sockets and Standard I/O, T/TCP: TCP for Transactions.
UNIT - IV
Elementary name and Address conversions: DNS, gethost by Name function, Resolver option, Function and IPV6 support, uname function, other networking information.
Daemon Processes and inetd Superserver – Introduction, syslogd Daemon, syslog Function, daemon_init Function, inetd Daemon, daemon_inetd Function
Broadcasting- Introduction, Broadcast Addresses, Unicast versus Broadcast, dg_cli Function Using Broadcasting, Race Conditions
Multicasting- Introduction, Multicast Addresses, Multicasting versus Broadcasting on A LAN, Multicasting on a WAN, Multicast Socket Options, mcast_join and Related Functions, dg_cli Function Using Multicasting, Receiving MBone Session Announcements, Sending and Receiving, SNTP: Simple Network Time Protocol, SNTP (Continued)
106 UNIT - V
Raw Sockets-Introduction, Raw Socket Creation, Raw Socket Output, Raw Socket Input, Ping Program, Traceroute Program, An ICMP Message Daemon,
Datalink Access- Introduction, BPF: BSD Packet Filter, DLPI: Data Link Provider Interface, Linux:
SOCK_PACKET, libpcap: Packet Capture Library, Examining the UDP Checksum Field.
Remote Login: Terminal line disciplines, Pseudo-Terminals, Terminal modes, Control Terminals, rlogin Overview, RPC Transparency Issues.
TEXT BOOKS:
1. UNIX Network Programming, by W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Pearson Education
2. UNIX Network Programming, 1st Edition, - W. Richard Stevens. PHI.
REFERENCE BOOKS:
1. UNIX Systems Programming using C++ T CHAN, PHI.
2. UNIX for Programmers and Users, 3rd Edition Graham GLASS, King abls, Pearson Education
3. Advanced UNIX Programming 2nd Edition M. J. ROCHKIND, Pearson Education
107
CS613PE: SCRIPTING LANGUAGES (Professional Elective - III)
III Year B.Tech. IT II-Sem L T P C
3 0 0 3 Prerequisites
1. A course on “Computer Programming and Data Structures”
2. A course on “Object Oriented Programming Concepts”
Course Objectives:
This course introduces the script programming paradigm
Introduces scripting languages such as Perl, Ruby and TCL.
Learning TCL
Course Outcomes:
Comprehend the differences between typical scripting languages and typical system and application programming languages.
Gain knowledge of the strengths and weakness of Perl, TCL and Ruby; and select an appropriate language for solving a given problem.
Acquire programming skills in scripting language
UNIT - I
Introduction: Ruby, Rails, The structure and Excution of Ruby Programs, Package Management with RUBYGEMS, Ruby and web: Writing CGI scripts, cookies, Choice of Webservers, SOAP and webservices
RubyTk – Simple Tk Application, widgets, Binding events, Canvas, scrolling
UNIT - II
Extending Ruby: Ruby Objects in C, the Jukebox extension, Memory allocation, Ruby Type System, Embedding Ruby to Other Languages, Embedding a Ruby Interperter
UNIT - III
Introduction to PERL and Scripting
Scripts and Programs, Origin of Scripting, Scripting Today, Characteristics of Scripting Languages, Uses for Scripting Languages, Web Scripting, and the universe of Scripting Languages. PERL- Names and Values, Variables, Scalar Expressions, Control Structures, arrays, list, hashes, strings, pattern and regular expressions, subroutines.
UNIT - IV Advanced perl
Finer points of looping, pack and unpack, filesystem, eval, data structures, packages, modules, objects, interfacing to the operating system, Creating Internet ware applications, Dirty Hands Internet Programming, security Isses.
UNIT - V TCL
TCL Structure, syntax, Variables and Data in TCL, Control Flow, Data Structures, input/output, procedures, strings, patterns, files, Advance TCL- eval, source, exec and uplevel commands, Name spaces, trapping errors, event driven programs, making applications internet aware, Nuts and Bolts Internet Programming, Security Issues, C Interface.
Tk
Tk-Visual Tool Kits, Fundamental Concepts of Tk, Tk by example, Events and Binding, Perl-Tk.
108 TEXT BOOKS:
1. The World of Scripting Languages, David Barron,Wiley Publications.
2. Ruby Progamming language by David Flanagan and Yukihiro Matsumoto O’Reilly
3. “Programming Ruby” The Pramatic Progammers guide by Dabve Thomas Second edition
REFERENCE BOOKS:
1. Open Source Web Development with LAMP using Linux Apache, MySQL, Perl and PHP, J.
Lee and B. Ware (Addison Wesley) Pearson Education.
2. Perl by Example, E. Quigley, Pearson Education.
3. Programming Perl, Larry Wall, T. Christiansen and J. Orwant, O’Reilly, SPD.
4. Tcl and the Tk Tool kit, Ousterhout, Pearson Education.
5. Perl Power, J. P. Flynt, Cengage Learning.
109
CS614PE: MOBILE APPLICATION DEVELOPMENT (Professional Elective - III)
III Year B.Tech. IT II-Sem L T P C
3 0 0 3 Prerequisites:
1. Acquaintance with JAVA programming 2. A Course on DBMS
Course Objectives:
To demonstrate their understanding of the fundamentals of Android operating systems
To improves their skills of using Android software development tools
To demonstrate their ability to develop software with reasonable complexity on mobile platform
To demonstrate their ability to deploy software to mobile devices
To demonstrate their ability to debug programs running on mobile devices
Course Outcomes:
Student understands the working of Android OS Practically.
Student will be able to develop Android user interfaces
Student will be able to develop, deploy and maintain the Android Applications.
UNIT - I
Introduction to Android Operating System: Android OS design and Features – Android development framework, SDK features, Installing and running applications on Android Studio, Creating AVDs, Types of Android applications, Best practices in Android programming, Android tools
Android application components – Android Manifest file, Externalizing resources like values, themes, layouts, Menus etc, Resources for different devices and languages, Runtime Configuration Changes Android Application Lifecycle – Activities, Activity lifecycle, activity states, monitoring state changes
UNIT - II
Android User Interface: Measurements – Device and pixel density independent measuring UNIT - s Layouts – Linear, Relative, Grid and Table Layouts
User Interface (UI) Components – Editable and non-editable TextViews, Buttons, Radio and Toggle Buttons, Checkboxes, Spinners, Dialog and pickers
Event Handling – Handling clicks or changes of various UI components
Fragments – Creating fragments, Lifecycle of fragments, Fragment states, Adding fragments to Activity, adding, removing and replacing fragments with fragment transactions, interfacing between fragments and Activities, Multi-screen Activities
UNIT - III
Intents and Broadcasts: Intent – Using intents to launch Activities, Explicitly starting new Activity, Implicit Intents, Passing data to Intents, Getting results from Activities, Native Actions, using Intent to dial a number or to send SMS
Broadcast Receivers – Using Intent filters to service implicit Intents, Resolving Intent filters, finding and using Intents received within an Activity
Notifications – Creating and Displaying notifications, Displaying Toasts
UNIT - IV
Persistent Storage: Files – Using application specific folders and files, creating files, reading data from files, listing contents of a directory Shared Preferences – Creating shared preferences, saving and retrieving data using Shared Preference