course: ict 301: introduction to python and data science

15

Upload: others

Post on 17-Jan-2022

11 views

Category:

Documents


6 download

TRANSCRIPT

Course: ICT 301: Introduction to Python and Data Science

Course Code ICT 301

Course Title Introduction to Python and Data Science

Credit 4

Teaching per Week 4 Hrs

Minimum weeks per Semester 15 (Including Class work, examination, preparation, holidays etc.)

Last Review / Revision June 2020

Purpose of Course The purpose of this course is to provide introductory knowledge of Python programming and data science.

Course Objective The objective of the course is to impart practical knowledge of Python programming and data science concepts.

Pre-requisite Basic concepts of Programming, Mathematics and Statistics.

Course Out come Students will be able to apply data science concepts using Python programming language.

Course Content Unit : 1 : Introduction to Data science 1.1 Brief history 1.2 Data Science Life cycle 1.3 Application of data science 1.3.1 Natural Language Processing 1.3.2 Computer Vision 1.3.3 Big Data 1.4 Issues in data science

Unit : 2 : Core statistics for data science 2.1 Vectors 2.2 Matrices 2.3 Descriptive Statistics 2.3.1 Mean 2.3.2 Median 2.3.3 Mode 2.3.4 Standard Deviation 2.3.5 Variance and Covariance 2.4 Measures of Central Tendency and Variance 2.5 Normal, Binomial and Poisson Distributions 2.6 Correlations 2.7 Normal and Continues Probability 2.8 Stochastic Gradient Decent 2.9 Confidence Interval 2.10 Root Mean Square Error(RMSE)

Unit : 3 : Basics of Python 3.1 Working with script files in Python 3.2 Data structures and Data types in Python 3.3 Working with Programming Constructs in Python 3.4 Strings 3.5 Exception 3.6 Lists 3.7 Tuples 3.8 Dictionaries Sets 3.9 Sorting 3.10 Object Oriented Programming

Unit : 4 : Working with Python Libraries for Data Science 4.1 NumPy 4.1.1. Arrays and its operations 4.1.2. Indexing and Slicing 4.1.3. Array Shape manipulation and sorting 4.2 Pandas 4.2.1. Working with Data frames 4.2.2. Indexing of data frames 4.2.3. Grouping and Merging of data frames

4.3 Introduction to Scipy and iPython 4.5 Data Visualization with Matplotlib 4.5.1. Bar Chart 4.5.2. Line Chart 4.5.3. Scatter Plot

Unit : 5 : Working with Models 5.1 Descriptive and Predictive Modeling 5.2 Supervised Vs Unsupervised Learning 5.3 Types of data : training, test, validation 5.4 Dataset Preparation 5.5 Model Preparation 5.6 Dimension Reduction : Principal Component Analysis (PCA) 5.7 Classification 5.8 Regression 5.9 Cross-Validation

Reference Book 1. Python Data Science Handbook: Essential Tools for Working with Data, Jake VanderPlas, 1 January 2016,O’Relly Media,ISBN : 978-1491912058

2. Introducing Data Science: Big Data, Machine Learning, and More, Using Python Tools , Davy Cielen et.al. , 1 January 2016,dreamtech,ISBN: 978-1633430037

3. Data Science From Scratch: First Principles with Python, Second Edition, Joel Grus, 5 May 2019,O’Relly Media,ISBN: 9781492041139

4. Python for Data Science For Dummies, 2ed,, Luca Massaron John Paul Mueller, Paperback – 2019, Wiley; January 2019, ISBN: 9781119547648

5. Data Science with Python, Rohan Chopra, Aaron England, Et al, July 19, 2019,Packt , ISBN: 9781838552862

6. Python Data Science Essentials - Third Edition, Alberto Boschetti, Luca Massaron, September 27, 2018,Packt , ISBN: 9781789537864

7. Statistics for Data Science, James D. Miller, November 17, 2017 ,Packt, ISBN: 9781788290678

Teaching Methodology Lectures, Discussion, Independent Study, Seminars and Assignment

Evaluation Method 30% Internal assessment 70% External assessment

Course : ICT 302 : Data Communication and Internet of Things

Course Code ICT 302

Course Title Data Communication and Internet of Things

Credit 4

Teaching per Week 4 Hrs

Minimum weeks per Semester 15 (Including Class work, examination, preparation, holidays etc.)

Last Review / Revision June 2020

Purpose of Course The purpose of this course is to provide understanding ofdata communication and IoT.

Course Objective The objective of this course is to provide knowledge of data communication, understanding of IoT application, IoT development process, IoT reference architecture, security issues of IoT and embedded system role in IoT.

Pre-requisite Computer Network

Course Out come Students will get knowledge of Data communication and IoT concepts

Course Content Unit : 1:Introduction of IoT 1.1 Introduction of IoT. 1.2 Introduction of IoT architecture. 1.3 IOT conceptual framework. 1.4 Technology behind IoT. 1.5 Sources of IoT.

Unit : 2: Prototyping the Embedded Devices for IoT and M2M Data Communication 2.1 Introduction of sensor technology. 2.2 Embedded Computing Basics 2.3 Embedded Platforms for Prototyping 2.4 Wired and wireless communication technologies for M2M

communication. 2.5 Things always connected to the internet.

Unit : 3:Fundamental ofData Acquisition, Data Organizing and Data Processing inIoT 3.1 Data Acquiring and Storage 3.2 Organizing Data and Data Analytics 3.3 Transactions, Business Processes, Integration and Enterprise

System. 3.4 Knowledge acquiring, managing and Storing Processes.

Unit : 4: IoT Privacy, Security and Vulnerabilities Solutions 4.1 Introduction 4.2 Vulnerabilities, security requirements and Threat Analysis 4.3 IoT security Tomography and Layered Attacker Models 4.4 Identity Management and Establishment, access Control and

Secure Message Communication 4.5 Introduction of Security Models, Profiles and Protocols for IoT.

Unit : 5: Business Models and Process using IoT 5.1 Business models and innovations 5.2 Value creation through IoT 5.3 Business Model scenario for IoT 5.4 IoT case studies.

Reference Book 1. Internet of Things architecture and Design Principles, Raj Kamal, McGrawhill Education private limited, 2017

2. Learning Internet of Things, Peter Waher, / Packt Publishing Limited, 2015

3. Internet of Things: Technologies and Applications for a New Age of Intelligence,Vlasios Tsiatsis, Stamatis Karnouskos and Jan Holler, Academic Press,2018

4. Raspberry Pi Cookbook,Simon Monk,, O'Reilly Publishing Limited, 2014

5. The Internet of Things, Olivier Hersent, David Boswarthick, Omar Elloumi, Wiley,2018

6. Designing the Internet of Things, Adrian McEwen & Hakim Cassimally, Wiley,2018

7. The Internet of Things, Hakima Chaouchi, Wiley,2017

Teaching Methodology Lectures, Discussion, Independent Study, Seminars and Assignment

Evaluation Method 30% Internal assessment 70% External assessment

Course : ICT 303 : Cloud Computing

Course Code ICT 303

Course Title Cloud Computing

Credit 4

Teaching per Week 4 Hrs

Minimum weeks per Semester 15 (Including Class work, examination, preparation, holidays etc.)

Last Review / Revision June 2020

Purpose of Course This course helps students to understand concepts of Cloud Computing and Micro Service Architecture implementations.

Course Objective To impart knowledge of Cloud Computing concepts and cloud services for application development, deployment and management on cloud.

Pre-requisite Basic concepts of Programming, Operating System and Networking

Course Out come Students will get knowledge of Cloud Computing concepts along with development, deployment and management of application(s) using Micro Service Architecture.

Course Content Unit : 1: Introduction to Cloud Computing 1.1 Characteristics of Cloud Computing 1.2 Cloud Service Models - Infrastructure as a Service, Platform as a

Service, Software as a Service and Anything as a Service 1.3 Cloud Deployment Models - Private Cloud, Community Cloud,

Public Cloud andHybrid Cloud 1.4 Difference Between Traditional Commuting and Cloud Computing 1.5 Virtualization

1.5.1 Need of Virtualization 1.5.2 Types of Virtualization 1.5.3 Virtualization in Cloud Computing 1.6 Containerization

1.6.1 Concept of Containerization 1.6.2 Need of Containerization 1.6.3 Containerization and Virtualization Unit : 2: Cloud Infrastructure and Architectures

2.1 Cloud Computing Stack 2.1.1 Composability 2.1.2 Infrastructure 2.1.3 Platforms 2.1.4 Virtual Applications 2.1.5 Communication Protocols 2.1.6 Applications 2.2 Cloud Data Center Architecture 2.3 Conceptual View of Networking in Cloud Computing 2.4 Cloud Data Storage (Overview of SAN, DFS, etc.) 2.5 Computing Cluster in Cloud 2.6 Service Level Agreement and Cloud Pricing Model 2.7 Cloud Security Concepts 2.8 QoS Measurement in Cloud 2.9 Inter Cloud Communication

Unit : 3: Service Offerings by Cloud Providers 3.1 Introduction to Amazon Cloud Services 3.1.1 EC2 – Elastic Cloud Compute 3.1.2 Elastic Container Service 3.1.3 Elastic Kubernetes Service 3.1.4 Lambda – Serverless Computing 3.1.5 VPC – Virtual Private Cloud 3.1.6 S3 – Simple Storage Service 3.1.7 EBS – Elastic Block Storage 3.1.8 RDS – Relational Database Service 3.1.9 DynamoDB 3.1.10 Cloud9

3.2 Introduction to Microsoft Azure 3.2.1 Service Fabric 3.2.2 AKS – Azure Kubernetes Service 3.2.3 Container Instances 3.2.4 Azure SQL 3.2.5 Azure DevOps 3.2.6 Security Center 3.2.7 Azure IoT Hub 3.2.8 Traffic Manager 3.2.9 Cognitive Services 3.3 Introduction to Google Cloud Services 3.3.1 Google App Engine 3.3.2 Google Compute Engine 3.3.3 Google Kubernetes Engine 3.3.4 Cloud Functions 3.3.5 Cloud SQL 3.3.6 Cloud BigTable 3.3.7 Cloud Code 3.3.8 Virtual Private Cloud 3.3.9 Knative 3.3.10 Persistent Disk

Unit : 4: Micro Services Architecture (MSA) 4.1 An Overview of Current Architectural Patterns 4.1.1 Monolithic architecture 4.1.2 Enterprise Architecture 4.1.3 Service Oriented Architecture 4.1.4 Micro Services Architecture 4.2 Microservice Architecture 4.2.1 Decomposition 4.2.2 Decompose by Business Capability 4.2.3 Decompose by Subdomain 4.2.4 Self-Contained Service 4.2.5 Service per Team 4.3 Data Management 4.3.1 Database per Service 4.3.2 Saga Design Pattern for Database Transactions in MSA 4.3.3 API Composition 4.3.4 Command Query Responsibility Segregation (CQRS) 4.3.5 Domain Event 4.3.6 Event Sourcing 4.4 Transactional Messaging 4.4.1 Transactional Outbox 4.4.2 Transaction Log Tailing 4.5 Health Check API 4.6 Log Deployments and Changes

Unit : 5: Realizing Micro Services with DevOps 5.1 Ecology for MSA 5.2 Micro Servers 5.3 Rest API 5.4 Packaging Micro Services Applications 5.5 Containerization with Docker 5.6 Docker Client Commands 5.7 Cluster Management with Hazelcast 5.8 Data Caching for Micro Services 5.9 Container Orchestration and Load Balancing 5.10 Security Propagation across Micro Services 5.11 Micro Profile based Application for MSA 5.12 Service Discovery API 5.13 Deploying MSA based Applications on cloud.

Reference Book 1. Cloud Computing and Virtualization by Dac-Nhuong Le, Raghvendra Kumar, Gia Nhu Nguyen, Jyotir Moy Chatterjee, WILEY, 2018

2. Cloud Computing : A Practical Approach by Anthony Velte, Toby Velte, Robert Elsenpeter, Mc Graw Hill, 2017

3. Cloud Computing – Black Book by Kailash Jayaswal, Jagannath kallakurchi, Donald Houde, Deven Shah, Dreamtech Press, 2014

4. Architecting The Cloud by Michael Kavis, WILEY, 2014 5. Learning AWS by Aurobindo Sarkar, Amit Shah, Packt Publication, 2015 6. Google Cloud Platform Cookbook by LegorieRajan, Packt Publication,

2018 7. Building Your Next Big Thing with Google Cloud Platform by S.P.T.

Krishnan, Jose L. Ugia Gonzalez, Apress, 2015 8. Microsoft Azure Fundamentals by Jim Cheshire, Pearson, 2019 9. Microservice Architecture: Aligning Principles, Practices, and Culture by

Mike Amundsen, Ronnie Mitra, SPD publications, 2016 10. Building Microservices Paperbackby Sam Newman, SPD Press, 2017 11. Microservices for Java EE Architects: Addendum for The Java EE

Architect's Handbook by Derek C. Ashmore, 2017 12. Kubernetes Microservices with Docker by Deepak Vohra,Apress

Publication, 2018 13. Docker Quick Start Guide: Learn Docker like a boss, and finally own

your applications by Earl Waud, PACKT publications, 2018 14. Apache ZooKeeper Essentials by Saurav Haloi, PACKT publications,

2015 15. Hazelcast A Complete Guide - 2019 Edition by Gerardus Blokdyk

publication: 5STARCooks, 2019 16. Microservices Patterns: With examples in Java by Chris Richardson,

Publisher: Manning Publications, 2018 17. Microservices and Containers 1st Edition by Parminder Singh, Kocher

Publisher - Addison-Wesley Professional, 2018 18. Hands-On Microservices with Kubernetes: Build, deploy, and manage

scalable microservices on Kubernetes, by Gigi Sayfan,Packt Publications

Teaching Methodology Lectures, Discussion, Independent Study, Seminars and Assignment

Evaluation Method 30% Internal assessment 70% External assessment

Course : ICT 304 : Open Source Web Development

Course Code ICT 304

Course Title Open Source Web Development

Credit 4

Teaching per Week 4 Hrs

Minimum weeks per Semester 15 (Including Class work, examination, preparation, holidays etc.)

Last Review / Revision June 2020

Purpose of Course The purpose of the course is to provide knowledge of web application development using open source web technologies.

Course Objective The objective of the course is to impart knowledge of web application development using PHP and Nodejs.

Pre-requisite Basic concepts of Web development and Object-Orientedprogramming

Course Out come Students will be able to develop web application using PHP and NodeJS.

Course Content Unit : 1 :Open Source Web Technology and PHP Language Basics 1.1 Client server architecture, Web servers , Apache , Nginix 1.2 Understanding of frontend and backend technologies 1.3 PHP Language Characteristics, Features and Extensions 1.4 Dependencies, Use of Composer 1.5 Language Constructs, Variables, Declarations and Types, Constants 1.6 Use of Operators and Control Structures 1.7 Arrays, Functions and References 1.8 PHP Configuration Directives of php.ini file 1.9 Super Global Arrays 1.10 Handling Session, Cookies, Form Data, File Uploads, Server Data,

Server Environment 1.11 OOP Features of PHP, Use Of Constructors, Destructors, Inheritance

Serialization 1.12 Built-In Libraries: String, Array, Mathematics, Graphics Library, File

System, Date and Time, Files and Directory, XML, PDF, HTTP, Network, PHP Options and Information, ZIP File

1.13 Security, Encryption, Securing Request Data, Filtering, Using CAPTCHA

Unit : 2 : Database Integration in PHP 2.1 Configuring and Starting MySQL Server, Database, Tables 2.2 Working with PhpMyAdmin 2.3 MysqlConnection libraries,MySQLi, PDO, Error Handling, SQL

Injection Attack and Prevention 2.4 NoSQL Databases, Types of NoSQL Databases, SQL vs NoSQL 2.5 Any one NoSQL Database Integration with PHP 2.6 Develop REST API, GraphQL 2.7 Test REST API: Use Postman tool, browser tools and CURL 2.8 Call Third Party API from PHP

Unit : 3 : Introduction to PHP Frameworks 3.1 PHP Frameworks and Libraries

3.2 Introduction to Any one MVC framework in PHP 3.3 Use of AJAX with jQuery and JSON

Unit : 4 : Node.js 4.1 Architecture of Node.js Ecosystem 4.2 Familiarity with JavaScript 4.3 Events, Callbacks, Asynchronous execution, I/O 4.4 Prototypal inheritance 4.5 Modules, npm, package.json 4.6 Basic utility packages 4.7 Express framework: Routing, Middleware, Templates, Form data,

URL, Cookies, Session, Authentication 4.8 Working withDatabase Engine like Mongo and Mongoose 4.9 RESTful API

Unit : 5 : Developer Tools 5.1 Browser Tools 5.2 Version control using Git and others

Reference Book 1. Programming PHP - Rasmus Lerdorf, Kevin Tatroe - O'Reilly 2. PHP 7 Programming Cookbook - Doug Bierer- O'Reilly - PACKT 3. Mastering PHP 7 by BrankoAjzele - O'Reilly 4. NoSQL For Dummies 1st Edition by Adam Fowler Publisher: For

Dummies 5. Beginning PHP: Master the latest features of PHP 7 and fully embrace

modern PHP development – 31 Jul 2018 - David Carr - PACKT 6. Learning PHP 7 High Performance - 6 Jan 2016 by Altaf Hussain - PACKT 7. Mastering Laravel - Pecoraro Christopher John - PACKT 8. Node.js for PHP developers - Daniel Howard - First edition - O'Reily 9. Mastering Node.js - Second Edition: Build robust and scalable real-time

server-side web application -- Sandro Pasquali - PACKT

Teaching Methodology Lectures, Discussion, Independent Study, Seminars and Assignment

Evaluation Method 30% Internal assessment 70% External assessment

Course:ICT 305: Practical5

Course Code ICT 305

Course Title Practical 5

Credit 3

Teaching Per Week 3Hrs

Minimum Weeks Per Semester 15 (Including Practical Work, Examination, Preparation, Holidays etc.)

Review/Revision June 2020

Purpose of Course The purpose of this course is to provide introductory practical knowledge of Python programming, data scienceand application development using Micro Services Architecture.

Course Objective The objective of the course is to impart practical knowledge of Python programming, data science conceptsand application development using Micro Services Architecture.

Prerequisite Basic concepts of Programming, Mathematics and Statistics.

Course Outcome Students will be able to apply data science concepts using Python programming language and will be able to develop applications using Micro Services Architecture.

Course Content Practical based on Paper No. ICT 301 – Introduction to Python and Data Science and ICT 303 – Cloud Computing (Unit 4 : Micro Services Architecture)

Reference Books NIL

Teaching Methodology Lab Work

Evaluation Method 30% Internal Assessment 70% External Assessment

Course: ICT 306: Practical6

Course Code ICT 306

Course Title Practical6

Credit 3

Teaching Per Week 3 Hrs

Minimum Weeks Per Semester 15 (Including Practical Work, Examination, Preparation, Holidays etc.)

Review/Revision June 2020

Purpose of Course The purpose of the course is to provide practical knowledge of web application development using open source web technologies.

Course Objective The objective of the course is to impart practical knowledge of web application development using PHP and NodeJS.

Prerequisite Basic concepts of Object-Oriented programming

Course Outcome Students will be able to develop web application using PHP and NodeJS.

Course Content Practical based on Paper No. ICT 304-Open Source Web Development

Reference Books NIL

Teaching Methodology Lab Work

Evaluation Method 30% Internal Assessment 70% External Assessment

Course : ICT 307 : Part Time Project 3

Course Code ICT 307

Course Title Part Time Project3

Credit 3

Teaching Per Week 3 Hrs

Duration -

Minimum Weeks Per Semester 15 (Including Practical Work, Examination, Preparation, Holidays etc.)

Review/Revision June 2020

Purpose of Course The purpose of this course is to develop skills to solve real world problems using Mobile / MEAN stack / IoT / PHP / Data Science / Cloud technologies.

Course Objective The objective of this course is to acquaint students for the development of software application based on Mobile / MEAN stack / IoT / PHP / Data Science / Cloud.

Prerequisite Fundamental of software application development

Course Outcome After completion of this course, students will be able to develop and demonstrate software applications based on Mobile / MEAN stack / IoT / PHP / Data Science / Cloudtechnologies.

Course Content The students are required to develop project usingMobile / MEAN stack / IoT / PHP/ Data Science / Cloud technologies. The students must prepare documentation of the project completed as per the Software Engineering Guidelines. At the end of the semester, the students have to submit their project report in bounded form to the institution. The Project Presentation and Viva – Voce will be conducted as per the University exam schedule. The students have to submit the following reports atthe institution:

1. Project Joining Report 2. Project Title Report 3. Progress Report 4. Project Completion Certificate 5. Institution Certificate 6. Non-disclosure of Source Code Certificate (In case the student

is unable to demonstrate project source code) Note : If student’s performance is not satisfactory then as per the direction of the internal project guide / external examiner student may have to do coding in the lab according to the project work submitted during internal submission / external examination.

Reference Books NIL

Teaching Methodology Project guidance, Review

Evaluation Method 30% Internal Assessment 70% External Assessment

Course : ICT 401 : Project

Course Code ICT 401

Course Title Project

Credit 25

Teaching Per Week -

Duration -

Minimum Weeks Per Semester 15 (Including Practical Work, Examination, Preparation, Holidays etc.)

Review/Revision June 2020

Purpose of Course To acquaint students with technological practices followed in the IT industry by making them work on project for 6 months.

Course Objective To familiarize students with IT projects development and management practices in industry.

Prerequisite Fundamental of software application development

Course Outcome After completion of this course, students will be ready to work as an ICT professional.

Course Content The students are required to do 6 months full time project preferably in industry. The students must prepare documentation of the project completed as per the Software Engineering Guidelines. At the end of the semester, the students have to submit their project report in bounded form to the institution. The Project Presentation and Viva – Voce will be conducted as per the University exam schedule. The students have to submit the following reports atthe institution:

1. Project Joining Report 2. Project Title Report 3. Progress Report 4. Project Completion Certificate 5. Institution Certificate 6. Non-disclosure of Source Code Certificate (In case the student

is unable to demonstrate project source code) Note : If student’s performance is not satisfactory then as per the direction of the internal project guide / external examiner student may have to do coding in the lab according to the project work submitted during internal submission / external examination.

Reference Books NIL

Teaching Methodology Project guidance, Review

Evaluation Method 30% Internal Assessment 70% External Assessment