-
Notifications
You must be signed in to change notification settings - Fork 0
/
tipuesearch_content.js
1 lines (1 loc) · 133 KB
/
tipuesearch_content.js
1
var tipuesearch = {"pages":[{"title":"About","text":"Dr. Gowrishankar S. is currently working as a Professor in the Department of Computer Science and Engineering at Dr. Ambedkar Institute of Technology, Bengaluru, Karnataka, Bharat. He earned his M.B.A. in Marketing Management from Indira Gandhi National Open University ( IGNOU ), New Delhi, Bharat in 2020, Ph.D. in Engineering from the Faculty of Engineering and Technology, Jadavpur University, Kolkata, Bharat in 2010, M.Tech. in Software Engineering from Visvesvaraya Technological University ( VTU ), Belagavi, Bharat in 2005 and B.E. in Computer Science and Engineering from Visvesvaraya Technological University ( VTU ), Belagavi, Bharat, in 2003. From 2011 to 2014, he worked as Senior Research Scientist and Tech Lead at Honeywell Technology Solutions, Bengaluru, Bharat. He was awarded the Technical and Innovation Award and Individual Excellence Award for his contribution to the successful delivery of projects at Honeywell Technology Solutions. He has published several papers in various reputed International Journals and Conferences. He is serving as editor and reviewer for various prestigious International Journals. He is a member of ACM , CSI , ISCA and ISTE . He has delivered many keynote addresses and invited talks throughout Bharat on a variety of topics related to Computer Science and Engineering. He was instrumental in organizing several conferences, webinars, workshops, and seminars. He has served on the panel of several Academic Bodies of Universities and Autonomous Colleges as a BOS and BOE member. He is also on the examination panels of Universities and competitive examination authority bodies of a number of state governments and central government to set the question papers. He has co-authored two books and has edited one book. He holds six granted patents. He has completed a funded project from Vision Group on Science and Technology ( VGST ), Government of Karnataka, Bharat. He regularly carries out consultancy services for other organizations. His current research efforts are mainly focused on the applications and implications of Machine Learning, Deep Learning and Data Analytics for the upliftment of society. Follow me to learn more about: 🐍 Python 💾 Data Analytics 📊 Visualization 🖥️ Machine Learning 🤖 Data Science","tags":"pages","url":"https://www.gowrishankarnath.com/about.html","loc":"https://www.gowrishankarnath.com/about.html"},{"title":"Awards","text":"Software Industry Awards Honeywell Technical and Innovation Award, Honeywell Technology Solutions Pvt. Ltd., Bengaluru, 2013. Individual Honeywell Excellence Award, Honeywell Technology Solutions Pvt. Ltd., Bengaluru, 2012 (Twice). Individual Honeywell Excellence Award, Honeywell Technology Solutions Pvt. Ltd., Bengaluru, 2011.","tags":"pages","url":"https://www.gowrishankarnath.com/awards.html","loc":"https://www.gowrishankarnath.com/awards.html"},{"title":"Books","text":"Authored/Co-Authored Books Gowrishankar S. and Veena A., \"Introduction to Python Programming\", 1st Edition, Published by CRC Press/Taylor and Francis, Boca Raton, USA , 2018. ( ISBN : 978-0815394372) Book Purchase You can purchase the book at the following sources. (Click on the image to buy) Veena A. and Gowrishankar S., \"Machine Learning Interview Questions\", 1st Edition, Published by Clever Fox Publishing, India, 2024. ( ISBN : 978-9356488397) Book Purchase You can purchase the book at the following sources. (Click on the image to buy) Edited Books Gowrishankar S., Hamidah Ibrahim, Veena A., Asha Rani K. P. and Srinivasa A. H., \"Data Science for Agricultural Innovation and Productivity\", Published by Bentham Science Publishers Pte. Ltd., Singapore, 2024 ( ISBN : 978-9815196184) Reviewed Books \"Hands-On Application Development with PyCharm - Build applications like a pro with the ultimate python development tool\", 2nd Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2023. ( ISBN : 978-1837632350) \"Applied Computational Thinking with Python: Algorithm design for complex real-world problems\", 2nd Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2023. ( ISBN : 978-1837632305) \"Applied Computational Thinking with Python: Design Algorithmic Solutions for Complex and Challenging Real-World Problems\", 1st Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2020. ( ISBN : 978-1839219436) \"Hands-On Application Development with PyCharm\", 1st Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2019. ( ISBN : 978-1789348262) \"Hands-On Recommendation Systems with Python\", 1st Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2018. ( ISBN : 978-1788993753) \"Programming and Problem Solving in Python\", 1st Edition, McGraw Hill Education (India) Private Limited, Noida, India, 2017. ( ISBN : 978-9351343080) \"Python Penetration Testing Cookbook\", 1st Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2017. ( ISBN : 978-1784399771) \"Internet of Things – Architecture and Design Principles\", 1st Edition, McGraw Hill Education (India) Private Limited, Noida, India, 2017. ( ISBN : 978-9352605224) \"Python Network Programming Cookbook\", 2nd Edition, Packt Publishing Ltd, Birmingham, United Kingdom, 2017. ( ISBN : 978-1786463999) \"Big Data Management and Analytics\", 1st Edition, Cengage Learning India Private Limited, Delhi, India 2017. ( ISBN : 978-8131532201) \"Internet of Things\", 1st Edition, Cengage Learning India Private Limited, Delhi, India 2017. ( ISBN : 978-9386858955)","tags":"pages","url":"https://www.gowrishankarnath.com/books.html","loc":"https://www.gowrishankarnath.com/books.html"},{"title":"Consultancy","text":"Consultancy Projects Consultancy Project - 1 Ref No Dr. AIT / CSE /572/A/2020 Consultancy Title Development of a Website and Machine Learning tool for the estimation of civil works. Company Name Anjanadhri Constructions, Nonavinakere - 572224, Tiptur, Tumkur, Karnataka. Consultancy Agency CSE Consultancy Cell ( CCC ), Dr.Ambedkar Institute of Technology, Bengaluru - 560056, Karnataka, India. Consultants Dr.Gowrishankar S., Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Mr.Srinivasa A. H., Associate Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Mr.Praveena M. V., Assistant Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Ms.Veena A., Assistant Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Started On January, 2021 Completed On May, 2021 Duration 4 Months Amount ₹ 50000 Consultancy Project -2 Ref No Dr. AIT / CSE /747/2021 Consultancy Title Development of tools for diagnosis and extraction of information about the various machinery in the factory for enhanced productivity. Company Name Samrudhi Corrugated Boxes and Paper Boards, Plot No. 5-A8 & 5-A18, Hitech Defense & Aerospace Park, Hardware Sector, KIADB Industrial Area, Bengaluru – 562149, Karnataka, India. Consultancy Agency Dr.Ambedkar Institute of Technology, Bengaluru - 560056, Karnataka, India. Consultants Dr.Gowrishankar S., Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Ms.Veena A., Assistant Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Ms.Asha Rani K. P., Assistant Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Mr.Srinivasa A. H., Associate Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Mr.Praveena M. V., Assistant Professor, Department of Computer Science & Engineering, Dr.Ambedkar Institute of Technology, Bengaluru – 560056, Karnataka, India. Started On February, 2022 Completed On April, 2022 Duration 2 Months Amount ₹ 50000","tags":"pages","url":"https://www.gowrishankarnath.com/consultancy.html","loc":"https://www.gowrishankarnath.com/consultancy.html"},{"title":"Contact","text":"Feel free to get in touch via the form below, or just send an email to gowrishankarnath@acm.org Your name Your email Your message","tags":"pages","url":"https://www.gowrishankarnath.com/contact.html","loc":"https://www.gowrishankarnath.com/contact.html"},{"title":"Disclaimer","text":"I want to emphasize that this is my personal blog, and the opinions expressed here are mine, and not that of my current or former employer's or anyone else in any way. I speak only for myself, not for them.","tags":"pages","url":"https://www.gowrishankarnath.com/disclaimer.html","loc":"https://www.gowrishankarnath.com/disclaimer.html"},{"title":"Patents","text":"Patents Patent – 1 Patent Number 2021106278 Title Automated Anterior Cruciate Ligament ( ACL ) Tear Detection System Inventors List Ms.Veena A., Dr.Gowrishankar S. Filing Date 21 st August 2021 Grant Date 17 th November 2021 Jurisdiction Australia Domain Deep Learning Patent – 2 Patent Number 2021103367 Title A Big Data Analytics System for Performing Real-Time Analysis for the Wellness of a User Inventors List Dr.Gowrishankar S., Ms.Veena A., Mr.Srinivasa A. H., Dr.Asha Filing Date 15 th June 2021 Grant Date 16 th March 2022 Jurisdiction Australia Domain Big Data Analytics Patent – 3 Patent Number 2021103285 Title Unmanned Aerial Vehicle Based Medicinal Plant Classification System Inventors List Dr.Gowrishankar S., Ms.Veena A., Dr.Asha, Mr.Srinivasa A. H., Dr. T.G. Basavaraju, Dr.Siddaraju, and Ms.Nirmala L. Filing Date 10 th June 2021 Grant Date 23 rd March 2022 Jurisdiction Australia Domain IoT and Machine Learning Patent – 4 Patent Number 2021105629 Title System and Method for Monitoring, Detecting and Counting Fruits in a Field Inventors List Veena A., Dr.Gowrishankar S. , Mr.Srinivasa A. H., Dr.Asha Ramesh, Ms.S.Pushpalatha, Ms.Vidyarani H. J., Ms.Vidya H. A., Mr.Basavesh D. Filing Date 17 th August 2021 Grant Date 10 th November 2021 Jurisdiction Australia Domain Deep Learning Patent – 5 Patent Number 2021103326 Title Deep Learning Based Road Condition Monitoring System Inventors List Mr.Srinivasa A. H., Dr.Siddaraju, Dr. T.G. Basavaraju, Dr.Asha, Dr.Gowrishankar S., Dr.Prabha R., Mr.Praveena M. V., Ms.Veena A. Filing Date 13 th June 2021 Grant Date 21 st July 2021 Jurisdiction Australia Domain Deep Learning Patent – 6 Patent Number 389581 Application Number 202141015896 Title A Floating Platform System for Remotely Monitoring and Analyzing the Quality of Water Bodies Inventors List Dr.Siddaraju, Dr.Gowrishankar S. and Mr.Srinivasa A. H. Filing Date 05 th April 2021 Grant Date 17 th February 2022 Jurisdiction India Domain Internet of Things","tags":"pages","url":"https://www.gowrishankarnath.com/patents.html","loc":"https://www.gowrishankarnath.com/patents.html"},{"title":"Call for Chapters for a Book titled \"The Application and Impact of Data Science on Sports Intelligence\" with Apple Academic Press","text":"Greetings for the day! Dear Authors/Researchers/Academicians/Professors, We are pleased to invite a Call for Chapters for a Book titled \"The Application and Impact of Data Science on Sports Intelligence\" with Apple Academic Press Publishers. Kindly note that there is No Publication Fee and it will be submitted to SCOPUS for indexing. I'm requesting you to kindly contribute a book chapter and also to share this information with your colleagues and research scholars/groups. Important Dates Full Chapter Submission Deadline: 1st June 2024 Review Notification: 31st July 2024 Camera Ready Copy: 31st August 2024 Important Links SUBMISSION LINK https://tinyurl.com/aapsubmission CHAPTER TEMPLATE LINK https://tinyurl.com/aapchaptertemplate EDITORS Dr. Veena A Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Dr. Gowrishankar S Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Dr. Ciro Rodriguez Ingeniería de Sistemas e Informática Principal, Departamento Académico de De Ingenieria De Software, UNMSM Ms. Asha Rani K P Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Dr. Srinivasa A H Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India For more details, please find the book flyer attached along with this post Please share the information with your friends/colleagues","tags":"Articles","url":"https://www.gowrishankarnath.com/Call-for-Chapters-for-a-Book-titled-the-application-and-impact-of-data-science-on-sports-intelligence-with-apple-academic-press-Publishers.html","loc":"https://www.gowrishankarnath.com/Call-for-Chapters-for-a-Book-titled-the-application-and-impact-of-data-science-on-sports-intelligence-with-apple-academic-press-Publishers.html"},{"title":"Model Question Papers for Foundations of DevOps Course","text":"You will find the model question papers for the Foundations of DevOps course prescribed for the Third semester as an Elective course by the Department of Computer Science and Engineering, Dr.Ambedkar Institute of Technology, Bengaluru. Model Question Paper 1 Click on the link below to view or download the model question paper 1. MQP - 1 Model Question Paper 2 Click on the link below to view or download the model question paper 2. MQP - 2 Model Question Paper 3 Click on the link below to view or download the model question paper 3. MQP - 3 Model Question Paper 4 Click on the link below to view or download the model question paper 4. MQP - 4 NOTE: Marks allocated to all the questions are tentative. It may vary.","tags":"Articles","url":"https://www.gowrishankarnath.com/model-question-papers-for-foundations-of-devops-course.html","loc":"https://www.gowrishankarnath.com/model-question-papers-for-foundations-of-devops-course.html"},{"title":"Syllabus for Foundations of Devops course as prescribed for 3rd semester Computer Science and Engineering programme","text":"This is the syllabus for Foundations of Devops course offered to the 3rd Semester Undergraduate students of the Department of Computer Science and Engineering at Dr.Ambedkar Institute of Technology (Dr. AIT ), Bengaluru, Karnataka, India. Course Title: Foundations of Devops Course Code: 22CST306D Exam Duration: 3 hours No. of Credits: 3 = 3: 0: 0 (L: T: P) No. of lecture hours/week: 3 Hours Total No. of Contact Hours: 42 Hours Course Objectives: Apply fundamental principles to DevOps environment and applications to be developed and deployed. Examine continuous feedback practices across DevOps pipeline. Choose collaboration and affinity to improve organizational structure. Determine the devops tools for scaling the team and organization. UNIT I The Big Picture, A Snapshot of Devops Culture, The Evolution of Culture, The Value of the Story, Katherine's Story, Jennifer's Story, Illustrating Devops with Stories, What Is Devops? A Prescription for Culture, The Devops Equation, A History of Devops, Developer as Operator, The Advent of Software Engineering, The Advent of Proprietary Software and Standardization, The Age of the Network, The Beginnings of a Global Community, The Age of Applications and the Web, The Growth of Software Development Methodologies, Open Source Software, Proprietary Services, Agile Infrastructure, The Beginning of devops days, The Current State of Devops. UNIT II Foundational Terminology and Concepts, Software Development Methodologies, Operations Methodologies, Systems Methodologies, Development, Release, and Deployment Concepts, Infrastructure Concepts, Cultural Concepts, Devops Misconceptions and Anti-Patterns, Common Devops Misconceptions, Devops Anti-Patterns, The Four Pillars of Effective Devops, Collaboration, Affinity, Tools, Scaling. UNIT III Collaboration: Individuals Working Together , Sparkle Corp Weekly Planning Meeting, Defining Collaboration, Individual Differences and Backgrounds, Opportunities for Competitive Advantage, Mentorship, Introducing Mindsets, Mindsets and Learning Organizations, The Role of Feedback, Reviews and Rankings, Communication and Conflict Resolution Styles, Empathy and Trust, Humane Staffing and Resources, Effective Collaboration with Sparkle Corp. UNIT IV Affinity: From Individuals to Teams , Sparkle Corp Development Demo Day, People Networks, What Makes a Team? Teams and Organizational Structure, Finding Common Ground Between Teams, Case Study: United States Patent and Trademark Office, Benefits of Improved Affinity, Requirements for Affinity, Measuring Affinity, Sparkle Corp Dev and Ops Affinity. UNIT V Tools: Ecosystem Overview, Software Development, Automation, Monitoring, Evolution of the Ecosystem, Scaling: Inflection Points, Understanding Scaling, Considering Enterprise Devops, Organizational Structure, Team Flexibility, Organizational Lifecycle, Complexity and Change, Scaling for Teams. COURSE OUTCOMES : On completion of the course, student should be able to: CO1 : Establish a strong foundation for effective devops and clarify common misconceptions about devops. CO2 : Examine the collaboration process of building specific outcomes through the interactions, input, and support of multiple people. CO3 : Interpret and critically evaluate the relationship strength between individuals, teams, business units, and even companies. CO4 : Determine appropriate tools for the process of programming, documenting, testing, and fixing bugs in applications and services. Also, to evolve a landscape that can help to scale for future endeavors. TEXT BOOKS : Jennifer Davis and Katherine Daniels, \"Effective DevOps\", 1st Edition, Shroff / O'Reilly Publications, 2021. ( ISBN -13: 978-9352133765) REFERENCE BOOKS : 1. Gene Kim, Jez Humble, Patrick Debois, John Willis, Nicole Forsgren, \"The Devops Handbook\", 2nd Edition, It Revolution Press, 2021. ( ISBN -13: 978-1950508402) DOWNLOADS : Click on the link below to view or download the syllabus for Foundations of Devops course. Foundations of Devops","tags":"Articles","url":"https://www.gowrishankarnath.com/syllabus-for-foundations-of-devops-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme.html","loc":"https://www.gowrishankarnath.com/syllabus-for-foundations-of-devops-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme.html"},{"title":"Endless Python Tricks","text":"Endless Python Tricks These are a collection of some of the beautiful Python snippets I discovered as part of my professional work. Trick 1 You can access/display both index and value by using enumerate() function. In the code, we are specifying two iterating variables, each_value and each_index to hold the individual items in the list and to hold the index number of each item in the list. Output The value a is stored at the index 0 The value b is stored at the index 1 The value c is stored at the index 2 The value d is stored at the index 3 The value e is stored at the index 4","tags":"Articles","url":"https://www.gowrishankarnath.com/endless-python-tricks.html","loc":"https://www.gowrishankarnath.com/endless-python-tricks.html"},{"title":"Call for Chapters for a Book titled \" DATA SCIENCE FOR AGRICULTURE INNOVATION AND PRODUCTIVITY \" with Bentham Science Publishers ( UAE )","text":"Greetings for the day! Dear Authors/Researchers/Academicians/Professors, We are pleased to invite a Call for Chapters for a Book titled \" DATA SCIENCE FOR AGRICULTURE INNOVATION AND PRODUCTIVITY \" with Bentham Science Publishers ( UAE ). Kindly note that there is No Publication Fee and it will be submitted to SCOPUS for indexing. I'm requesting you to kindly contribute a book chapter and also to share this information with your colleagues and research scholars/groups. Important Dates Because of many requests, the submission deadline has been extended. Please note down the new dates. SUBMISSION DEADLINE Full Chapter: ~~31st Aug 2022~~ 31st September 2022 Review Notification: ~~31st Oct 2022~~ 31st November 2022 Revised Chapters: ~~31st Nov 2022~~ 31st December 2022 Camera Ready Copy: ~~10th Dec 2022~~ 10th January 2023 Important Links SUBMISSION LINK https://tinyurl.com/benthamsubmission CHAPTER TEMPLATE LINK https://tinyurl.com/benthambookchaptertemplate EDITORS Dr. Gowrishankar S Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Dr. Hamidah Ibrahim Universiti Putra Malaysia, Malaysia Ms. Veena A Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Ms. Asha Rani K P Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Mr. Srinivasa A H Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India For more details, please find the book flyer attached along with this post","tags":"Articles","url":"https://www.gowrishankarnath.com/Call-for-Chapters-for-a-Book-titled-DATA-SCIENCE-FOR-AGRICULTURE-INNOVATION-AND-PRODUCTIVITY-with-Bentham-Science-Publishers.html","loc":"https://www.gowrishankarnath.com/Call-for-Chapters-for-a-Book-titled-DATA-SCIENCE-FOR-AGRICULTURE-INNOVATION-AND-PRODUCTIVITY-with-Bentham-Science-Publishers.html"},{"title":"Call for Chapters for a Book titled \" INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE IN HEALTHCARE ANALYTICS \" with NOVA Science Publishers ( USA )","text":"Greetings for the day! Dear Authors/Researchers/Academicians/Professors, We are pleased to invite a Call for Chapters for a Book titled \" INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE IN HEALTHCARE ANALYTICS \" with NOVA Science Publishers ( USA ). Kindly note that there is No Publication Fee and it will be submitted to SCOPUS for indexing. I'm requesting you to kindly contribute a book chapter and also to share this information with your colleagues and research scholars/groups. Important Dates SUBMISSION DEADLINE Full Chapter: 1st Aug 2022 Review Notification: 1st Sep 2022 Revised Chapters: 1st Oct 2022 Camera Ready Copy: 20th Oct 2022 Important Links CHAPTER TEMPLATE LINK https://tinyurl.com/bookchaptertemplatelink SUBMISSION LINK https://tinyurl.com/novabookchaptersubmission EDITORS Dr. Gowrishankar S Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Dr. Dac-Nhuong Le Halphong University Halphong, Vietnam Ms. Veena A Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Ms. Asha Rani K P Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India Mr. Srinivasa A H Dr. Ambedkar Institute of Technology Bengaluru, Karnataka, India For more details, please find the book flyer attached along with this post","tags":"Articles","url":"https://www.gowrishankarnath.com/Call-for-Chapters-for-a-Book-titled-INNOVATIVE-APPLICATIONS-OF-ARTIFICIAL-INTELLIGENCE-IN-HEALTHCARE-ANALYTICS-with-NOVA-Science-Publishers.html","loc":"https://www.gowrishankarnath.com/Call-for-Chapters-for-a-Book-titled-INNOVATIVE-APPLICATIONS-OF-ARTIFICIAL-INTELLIGENCE-IN-HEALTHCARE-ANALYTICS-with-NOVA-Science-Publishers.html"},{"title":"Model Question Papers for Data Science Course","text":"You will find the model question papers and question bank for the Data Science course prescribed for Sixth semester Inter Departmental Elective ( IDE ) by the department of Computer Science and Engineering, Dr.Ambedkar Institute of Technology, Bengaluru. Model Question Paper 1 Click on the link below to view or download the model question paper 1. MQP - 1 Model Question Paper 2 Click on the link below to view or download the model question paper 2. MQP - 2 Model Question Paper 3 Click on the link below to view or download the model question paper 3. MQP - 3 Question Bank Unit 1. 1. Write Python program to plot bar chart by assuming your own data and explain the various attributes of bar chart. 6 Marks 2. Write Python program to plot Line chart by assuming your own data and explain the various attributes of line chart. 6 Marks 3. Write Python program to compute the component wise means of a list of vectors and to compute dot product. 6 Marks 4. Explain quantile and write the python code to compute quantiles. 7 Marks Unit 2. 1. Explain confidence intervals in detail. 10 Marks 2. Write Python program to reads in lines of text and returns the ones that match a regular expression. 10 Marks 3. Consider an html file. Write python program to scrap the page extract values associated with tags and properties. 10 Marks 4. Write Python program to perform searches in Twitter. 10 Marks 5. Write Python program that counts the words in its input and returns the most common ones. 10 Marks 6. Explain Dataclasses with an example. 7 Marks 7. Discuss the need for maximum likelihood estimation for least squares. 6 Marks 8. Explain dimensionality reduction with an example. 10 Marks 9. Explain NamedTuples in detail with an example. 10 Marks 10. Explain how gradient is estimated in detail. 10 Marks 11. Explain the necessity to have p-Hacking. 10 Marks Unit 3. 1. Describe the role of correctness in machine learning. 10 Marks 2. Illustrate the curse of dimensionality in detail. 10 Marks 3. Explain the goodness of fitting in multiple regression model. 10 Marks 4. Describe regularization in detail. 10 Marks 5. Explain the simple linear regression model in detail. 10 Marks Unit 4. 1. Discuss random forests in detail. 10 Marks 2. Write Python program to create a decision tree. 10 Marks 3. Discuss decision tree in detail. 10 Marks 4. Explain the need for dropout in neural networks in detail. 10 Marks 5. Construct neural networks as a sequence of layers in Python. 10 Marks 6. Explain entropy and entropy of a partition in detail. 10 Marks Unit 5. 1. Explain topic modeling in detail. 10 Marks 2. Illustrate the role of word vectors in advancing NLP involving deep learning. 10 Marks 3. Write Python program to recommend what's popular. 10 Marks NOTE: Marks allocated to all the questions are tentative. It may vary.","tags":"Articles","url":"https://www.gowrishankarnath.com/model-question-papers-for-data-science-course.html","loc":"https://www.gowrishankarnath.com/model-question-papers-for-data-science-course.html"},{"title":"VS Code Python Environment Setup for Students","text":"I along with my colleagues Prof.Veena A., and Prof.Asha Rani K. P., were discussing which IDE (Integrated Development Environment) has to be recommended for students to code their Python projects. After lots of deliberations, we had two options in front of us. First is the PyCharm Professional edition which is available for free to the students if they can provide their institutional email address. Second is the VS Code which is open source and available for everyone. After lots of brainstorming, we recommended VS Code to students. The advantages that tilted towards favoring VS Code are below: VS Code is used by a huge pool of developers. One IDE for all development environments, including Python Programming, Web Programming, and others. Availability of several extensions that can extend the functionality of VS Code. Popular extensions are available for customizing the VS Code, remote development, linting, and debugging. VS Code is lightweight and open source. VS Code is industry standard. The knowledge of using VS Code can be carried from academia to the industry by the students. We have listed the extensions which we highly recommend for the students to install in order to setup a Python Development Environment. Pylance Python extension for Visual Studio Code Python Indent Remote- SSH Visual Studio Code Remote - SSH : Editing Configuration Files Spell Right Visual Studio IntelliCode Visual Studio Keymap for Visual Studio Code vscode-icons vscode-pdf emojisense CodeSnap GitHub Copilot GitHub Pull Requests and Issues GitLens indent-rainbow Jupyter Jupyter Keymap Jupyter Notebook Renderer Live Share Live Share Audio Live Share Extension Pack Markdown All in One Markdown PDF markdownlint Night Owl open in browser Paste Image Project Manager Happy Coding!!","tags":"Articles","url":"https://www.gowrishankarnath.com/vscode-python-environment-setup-for-students.html","loc":"https://www.gowrishankarnath.com/vscode-python-environment-setup-for-students.html"},{"title":"Model question papers for the Principles of Economics course as prescribed for 6th semester Computer Science and Engineering programme","text":"You will find the model question papers for the Principles of Economics course prescribed for sixth semester at the department of Computer Science and Engineering, Dr.Ambedkar Institute of Technology, Bengaluru. Model Question Paper 1 Click on the link below to view or download the model question paper 1. MQP - 1 Model Question Paper 2 Click on the link below to view or download the model question paper 2. MQP - 2 Model Question Paper 3 Click on the link below to view or download the model question paper 3. MQP - 3 NOTE: Marks allocated to all the questions are tentative. It may vary.","tags":"Articles","url":"https://www.gowrishankarnath.com/model-question-papers-for-the-principles-of-economics-course-as-prescribed-for-6th-semester-computer-science-and-engineering-programme.html","loc":"https://www.gowrishankarnath.com/model-question-papers-for-the-principles-of-economics-course-as-prescribed-for-6th-semester-computer-science-and-engineering-programme.html"},{"title":"Syllabus for Principles of Economics Course as Prescribed for the 6th Semester Computer Science and Engineering Programme","text":"We have taken a new initiative to introduce the engineering students of Computer Science and Engineering department of Dr.Ambedkar Institute of Technology (Dr. AIT ) to the concepts of Economics. Regarding this, we have prescribed the \"Principles of Economics\" course starting from the academic year 2021. This is an elective course. I like to thank OpenStax for providing high quality textbooks as part of their Open Education Resources initiative. Course Title: Principles of Economics Course Code: 18CS644 Exam Duration: 3 hours No. of Credits: 3 = 3: 0: 0 (L: T: P) No. of lecture hours/week: 3 Hours Total No. of Contact Hours: 42 Hours Course Objectives: Choose the concept of scarcity to explain economic trade-offs, opportunity costs, and rational behaviour. Interpret measures of elasticity and investigate the production and costs of the firm. Demonstrate how markets function and what happens in the presence of market failures. Analyse the different types of market structures such as monopoly and a competitive market. Determine how economic growth, unemployment and inflation macroeconomics affects the economy of the nation in the short and long-run. Discover the determinants of foreign trade flows and exchange rates, and their effects on the domestic economy. Unit No Syllabus Content No of Hours 1. Welcome to Economics, What Is Economics, and Why Is It Important? Microeconomics and Macroeconomics, How Economists Use Theories and Models to Understand Economic Issues, How To Organize Economies: An Overview of Economic Systems, Choice in a World of Scarcity, How Individuals Make Choices Based on Their Budget Constraint, The Production Possibilities Frontier and Social Choices, Confronting Objections to the Economic Approach, Demand and Supply, Demand, Supply, and Equilibrium in Markets for Goods and Services, Shifts in Demand and Supply for Goods and Services, Changes in Equilibrium Price and Quantity: The Four-Step Process, Price Ceilings and Price Floors, Demand, Supply, and Efficiency, Labor and Financial Markets, Demand and Supply at Work in Labor Markets, Demand and Supply in Financial Markets, The Market System as an Efficient Mechanism for Information. 09 2. Elasticity, Price Elasticity of Demand and Price Elasticity of Supply, Polar Cases of Elasticity and Constant Elasticity, Elasticity and Pricing, Elasticity in Areas Other Than Price, Consumer Choices, Consumption Choices, How Changes in Income and Prices Affect Consumption Choices, Behavioral Economics: An Alternative Framework for Consumer Choice, Production, Costs, and Industry Structure, Explicit and Implicit Costs, and Accounting and Economic Profit, Production in the Short Run, Costs in the Short Run, Production in the Long Run, Costs in the Long Run. 08 3. SELF - STUDY Perfect Competition, Perfect Competition and Why It Matters, How Perfectly Competitive Firms Make Output Decisions, Entry and Exit Decisions in the Long Run, Efficiency in Perfectly Competitive Markets, Monopoly, How Monopolies Form: Barriers to Entry, How a Profit-Maximizing Monopoly Chooses Output and Price, Monopolistic Competition and Oligopoly, Monopolistic Competition, Oligopoly. 08 4. The Macroeconomic Perspective, Measuring the Size of the Economy: Gross Domestic Product, Adjusting Nominal Values to Real Values, Tracking Real GDP over Time, Comparing GDP among Countries, How Well GDP Measures the Well-Being of Society, Economic Growth, The Relatively Recent Arrival of Economic Growth, Labor Productivity and Economic Growth, Components of Economic Growth, Economic Convergence, Unemployment, How Economists Define and Compute Unemployment Rate, Patterns of Unemployment, What Causes Changes in Unemployment over the Short Run, What Causes Changes in Unemployment over the Long Run. 09 5. Inflation, Tracking Inflation, How to Measure Changes in the Cost of Living, How the U.S. and Other Countries Experience Inflation, The Confusion Over Inflation, Indexing and Its Limitations, The International Trade and Capital Flows, Measuring Trade Balances, Trade Balances in Historical and International Context, Trade Balances and Flows of Financial Capital, The National Saving and Investment Identity, The Pros and Cons of Trade Deficits and Surpluses, The Difference between Level of Trade and the Trade Balance. 08 Course Outcomes Course Outcomes Description RBT Levels CO1 Identify the determinants of supply and demand; demonstrate the impact of shifts in both market supply and demand curves on equilibrium price and output. L2 CO2 Determine the roles that prices and markets play in organizing and directing economic activity. L3 CO3 Calculate and graph the short-run and long-run costs of production, supply and demand elasticities. L3 CO4 Describe governmental efforts to address market failure such as monopoly power, externalities, and public goods. L2 CO5 Examine and interpret a nation's economic performance indicators such as economic growth, unemployment and inflation from a macroeconomic perspective. L3 CO6 Articulate the mechanics and institutions of international trade and their impact on the macro economy. L3 Course Articulation Matrix ( CO - PO Mapping) CO - PO Mapping PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 CO1 1 3 2 2 1 - - - - - - - CO2 1 3 1 1 1 - - - - - - - CO3 1 3 1 1 1 - - - - - - - CO4 1 3 1 1 1 - - - - - - - CO5 1 3 2 2 1 - - - - - - - CO6 1 3 2 2 1 - - - - - - - Strong -3 Medium -2 Weak -1 TEXT BOOKS : Steven A. Greenlaw, David Shapiro, \"Principles of Economics\", 2nd Edition, Rice University - OpenStax, 2020. ISBN -13: 978-1947172371 (Available under CC - BY license at https://openstax.org/details/books/principles-economics-2e) REFERENCE BOOKS : N. Gregory Mankiw, \"Principles of Economics\", 8th Edition, Cengage Learning, 2016. ISBN -13: 978-0357038314. Niall Kishtainy, \"The Economics Book: Big Ideas Simply Explained\", 1st Edition, DK Publishers, 2012. ISBN -13: 978-0756698270. Yves Hilpisch, \"Python for Finance: Mastering Data-Driven Finance\", 2nd Edition, O'Reilly Media, 2018 ISBN -13: 978-1492024330. Quentin Batista, Thomas Sargent and Jesse Perla, \"QuantEcon DataScience: Introduction to Economic Modeling and Data Science\", Center for Innovative Data in Economics, Vancouver School of Economics, UBC , 2020. SELF - STUDY REFERENCES / WEBLINKS : Perfect Competition https://mru.org/teacher-resources/university-video-mappings/openstax-microeconomics-textbook-video-mapped-syllabus#section8 Monopoly https://mru.org/teacher-resources/university-video-mappings/openstax-microeconomics-textbook-video-mapped-syllabus#section9 Monopolistic Competition and Oligopoly https://www.khanacademy.org/economics-finance-domain/ap-microeconomics/imperfect-competition/monopolistic-competition/v/oligopolies-and-monopolisitc-competition DOWNLOADS : Click on the link below to view or download the syllabus for Principles of Economics course. Principles of Economics Syllabus","tags":"Articles","url":"https://www.gowrishankarnath.com/syllabus-for-principles-of-economics-course-as-prescribed-for-the-6th-semester-computer-science-and-engineering-programme.html","loc":"https://www.gowrishankarnath.com/syllabus-for-principles-of-economics-course-as-prescribed-for-the-6th-semester-computer-science-and-engineering-programme.html"},{"title":"Syllabus for Data Science Course offered to 6th Semester Undergraduate students as an InterDepartmental Elective ( IDE ) by the Department of Computer Science and Engineering","text":"This is the syllabus for Data Science course offered to 6th Semester Undergraduate students as an InterDepartmental Elective ( IDE ) by the Department of Computer Science and Engineering starting from the year 2021 at Dr.Ambedkar Institute of Technology (Dr. AIT ), Bengaluru, Karnataka, India. Course Title: Data Science Course Code: 18CSE024 Exam Duration: 3 hours No. of Credits: 3 = 3: 0: 0 (L: T: P) No. of lecture hours/week: 3 Hours Total No. of Contact Hours: 42 Hours Course Objectives: Determine the appropriate natural language processing, machine learning and deep learning models to solve the business-related challenges. Indicate proficiency with statistical analysis of data to derive insight from results and interpret the data findings visually. Demonstrate skills in data management by obtaining, cleaning and transforming the data. Discuss how social networks appraise the ways in which the social clustering shape individuals and groups in contemporary society. Unit No Syllabus Content No of Hours 1. Visualizing Data, matplotlib, Bar Charts, Line Charts, Scatterplots, Linear Algebra, Vectors, Matrices, Statistics, Describing a Single Set of Data, Correlation, Simpson's Paradox, Some Other Correlational Caveats, Correlation and Causation, Probability, Dependence and Independence, Conditional Probability, Bayes's Theorem, Random Variables, Continuous Distributions, The Normal Distribution, The Central Limit Theorem. 08 2. Hypothesis and Inference, Statistical Hypothesis Testing, Example: Flipping a Coin, p-Values, Confidence Intervals, p-Hacking, Example: Running an A/B Test, Bayesian Inference, Gradient Descent, The Idea Behind Gradient Descent Estimating the Gradient, Using the Gradient, Choosing the Right Step Size, Using Gradient Descent to Fit Models, Minibatch and Stochastic Gradient Descent, Getting Data, stdin and stdout, Reading Files, Scraping the Web, Using APIs, Example: Using the Twitter APIs, Working with Data, Exploring Your Data, Using NamedTuples, Dataclasses, Cleaning and Munging, Manipulating Data, Rescaling, An Aside: tqdm, Dimensionality Reduction. 08 3. Machine Learning, Modeling, What Is Machine Learning?, Overfitting and Underfitting, Correctness, The Bias-Variance Tradeoff, Feature Extraction and Selection, k-Nearest Neighbors, The Model, Example: The Iris Dataset, The Curse of Dimensionality, Naive Bayes, A Really Dumb Spam Filter, A More Sophisticated Spam Filter, Implementation, Testing Our Model, Using Our Model, Simple Linear Regression, The Model, Using Gradient Descent, Maximum Likelihood Estimation, Multiple Regression, The Model, Further Assumptions of the Least Squares Model, Fitting the Model, Interpreting the Model, Goodness of Fit, Digression: The Bootstrap, Standard Errors of Regression Coefficients, Regularization, Logistic Regression, The Problem, The Logistic Function, Applying the Model, Goodness of Fit, Support Vector Machines. 09 4. Decision Trees, What Is a Decision Tree?, Entropy, The Entropy of a Partition, Creating a Decision Tree, Putting It All Together, Random Forests, Neural Networks, Perceptrons, Feed-Forward Neural Networks, Backpropagation, Example: Fizz Buzz, Deep Learning, The Tensor, The Layer Abstraction, The Linear Layer, Neural Networks as a Sequence of Layers, Loss and Optimization, Example: XOR Revisited, Other Activation Functions, Example: FizzBuzz Revisited, Softmaxes and Cross-Entropy, Dropout, Example: MNIST , Saving and Loading Models, Clustering, The Idea, The Model, Example: Meetups, Choosing k, Example: Clustering Colors, Bottom-Up Hierarchical Clustering. 09 5. SELF - STUDY Natural Language Processing, Word Clouds, n-Gram Language Models, Grammars, An Aside: Gibbs Sampling, Topic Modeling, Word Vectors, Recurrent Neural Networks, Example: Using a Character-Level RNN , Network Analysis, Betweenness Centrality, Eigenvector Centrality, Directed Graphs and PageRank, Recommender Systems, Manual Curation, Recommending What's Popular, User-Based Collaborative Filtering, Item-Based Collaborative Filtering, Matrix Factorization. 08 Course Outcomes Course Outcomes Description RBT Levels CO1 Interpret the concepts and methods of mathematical disciplines relevant to data analytics and statistical modeling. L3 CO2 Examine, visualize, curate, and prepare data and recognize how the quality of the data and the means of data collection may affect interpretation. L3 CO3 Determine the machine learning, deep learning and natural language processing skills to design and implement efficient, data-driven solutions for real world problems. L3 CO4 Illustrate how network analysis and recommender systems can contribute to increasing knowledge about diverse aspects of societal clustering. L3 Course Articulation Matrix ( CO - PO Mapping) CO - PO Mapping PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 CO1 3 3 2 2 3 - - - - - - - CO2 2 2 2 2 3 - - - - - - - CO3 3 3 3 3 3 - - - - - - - CO4 3 2 2 2 3 - - - - - - - Strong -3 Medium -2 Weak -1 TEXT BOOKS : Joel Grus, \"Data Science from Scratch\", 2nd Edition, O'Reilly Publications/Shroff Publishers and Distributors Pvt. Ltd., 2019. ISBN -13: 978-9352138326. REFERENCE BOOKS : 1. Emily Robinson and Jacqueline Nolis, \"Build a Career in Data Science\", 1st Edition, Manning Publications, 2020. ISBN : 978-1617296246. 2. Aurélien Géron, \"Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems\", 2nd Edition, O'Reilly Publications/Shroff Publishers and Distributors Pvt. Ltd., 2019. ISBN -13: 978-1492032649. 3. François Chollet, \"Deep Learning with Python\", 1st Edition, Manning Publications, 2017. ISBN -13: 978-1617294433. 4. Jeremy Howard and Sylvain Gugger, \"Deep Learning for Coders with fastai and PyTorch\", 1st Edition, O'Reilly Publications/Shroff Publishers and Distributors Pvt. Ltd., 2020. ISBN -13: 978-1492045526. 5. Sebastian Raschka and Vahid Mirjalili, \"Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2\", 3rd Edition, Packt Publishing Limited, 2019. ISBN -13: 978-1789955750. SELF - STUDY REFERENCES / WEBLINKS : 1. Natural Language Processing https://www.youtube.com/watch?v=xvqsFTUsOmc 2. Network Analysis https://www.youtube.com/watch?v=K5xiFDClgjo 3. Recommender Systems https://www.youtube.com/watch?v=39vJRxIPSxw DOWNLOADS : Click on the link below to view or download the syllabus for Data Science course. Data Science Syllabus","tags":"Articles","url":"https://www.gowrishankarnath.com/syllabus-for-data-science-course-offered-to-6th-semester-undergraduate-students-as-an-interdepartmental-elective-by-the-department-of-computer-science-and-engineering.html","loc":"https://www.gowrishankarnath.com/syllabus-for-data-science-course-offered-to-6th-semester-undergraduate-students-as-an-interdepartmental-elective-by-the-department-of-computer-science-and-engineering.html"},{"title":"Is Online Education rending the Traditional Education obsolete?","text":"In present day world, the online education is driven by Massive Open Online Courses (MOOCs) which according to Wikipedia aims at unlimited participation of learners and open access to course contents via the web. Some famous MOOCs companies are Coursera, Udemy, Udacity and edX. There are a plethora of videos on YouTube that teach you every topic conceived under the sun. A learner has unlimited access to resources to gain knowledge. Most of these MOOCs companies allow you to have access to course contents for free and they charge you only when you want a course completion certificate. They ask you to complete a Capstone project which is a project undertaken with rigorous effort to apply the concepts learnt during the duration of the course. Various companies have recognized the values of these MOOCs courses because of the academic rigour involved in earning these certifications. The lockdown period during Corona pandemic crisis has bought the importance of online education forefront. Many universities are encouraging their teachers to impart education through online platforms. Online teaching allows teachers to update their course as and when the technology changes. In Indian context, the government of India under the aegis of the Ministry of Human Resource Development ( MHRD ) , All India Council for Technical Education ( AICTE ) and central government funded institutions like IISC , IITs, IIMs and others premier institutes has started the SWAYAM MOOCs platform. Top quality teaching materials are made available to every person in India irrespective of his state, race, religion, ethnicity, education background thus enabling equality among masses. This idea is revolutionary in the sense that teachers from highly sought premier institutes can now interact with learners throughout the country and their teaching is not restricted to a few students who get admitted to these premier institutions. Learners from rural areas get access to these course contents and they need not lament on the poor teaching conditions in their institutions. Few of the universities in India have recognized these SWAYAM courses and are made as part of their curriculum. Present day Universities should recognize the credits earned through MOOC platforms and they need to enable the smooth transfer of credits from online courses to traditional universities thus facilitating the students to earn their degrees. Many traditional universities in western countries are also offering their courses online that may lead to accredited and recognized degree at fewer cost. These types of accredited online degrees are most sought by the student communities in those countries. Looking at the current situation, the question that arises is whether the online education is making the traditional education irrelevant. Teachers involved in traditional education need to re-invent themselves as change is the only constant thing. With abundant resources available online, students may not be compelled henceforth to take up traditional classes at all. The need of the hour for Teachers is to improve their Pedagogy or the way of teaching. Traditional classroom teaching should stimulate and compel the students to attend their classes. We should make availability of prime quality online videos of traditional teaching. All India Council for Technical Education ( AICTE ) and University Grants Commission ( UGC ) have embarked on funding to enable infrastructure support for teachers to create world class course contents. Teachers must encourage and engage with slow learners and they should not feel like being left behind. A drawback of MOOCs based online teaching is it may lead to boredom among students as they might miss the traditional method of face-to-face interaction. Teachers in traditional teaching setup should come up with assignments that challenge the student's critical thinking. We should give students a choice on how to master their course. We need to make our teaching interesting to students by incorporating novel learning techniques and information and communication technologies ( ICT ) tools. Flipped classroom is one of the most popular ICT teaching method wherein students study at their own pace under the supervision of the teacher. Students are given all the course materials like recorded videos, reading assignments before coming to the class which they need to review. In the class, they are asked to discuss the course materials with their classmates and are expected to learn through this process under the direction of the teacher. Many studies have shown that this approach of blending of both the traditional teaching and online teaching has benefited students and has increased their performance. Teachers in universities should tailor their course to make students industry ready. Recruiters prefer people who have earned their online certifications along with their degrees. Gone are the days when a traditional degree itself would have landed a posh job in a company. Teachers should comprehend that they have to pursue lifelong learning in their quest for excellence and have to update their courses regularly to meet the Industry standards. Stale course contents are a big put-off for students when they have access to newer information elsewhere. Until now, higher education in the country did not have competition, but disruption is being felt across the education sector because of online teaching. Most of the teachers are still in denial about the influence of online teaching on student community and are resistant to adopt innovative teaching methods to challenge the impact of online teaching. Teachers in traditional institutions need to realise that online teaching is here to stay and if they are not proficient enough to compete with online teaching mode, then they are bound to perish.","tags":"Article","url":"https://www.gowrishankarnath.com/is-online-education-rending-the-traditional-education-obsolete.html","loc":"https://www.gowrishankarnath.com/is-online-education-rending-the-traditional-education-obsolete.html"},{"title":"Webinar on Topological Data Analysis","text":"Department of CSE , Dr.Ambedkar Institute of Technology, Bengaluru proudly brings to you a Webinar on \"Topological Data Analysis\". Resource Person Dr.Vijay Natarajan, Mindtree Chair Professor, Department of Computer Science & Automation, Indian Institute of Science (IISc), Bengaluru. Schedule Date: 29th June 2020 Time: 11:00 a.m. - 12:00 p.m. ( IST ) Please find the recorded video of the webinar below Coordinators: Dr.Gowrishankar S., Professor. Mr.Suresha D., Associate Professor. Mr.Srinivasa A.H., Associate Professor. Mr.Praveena M.V., Assistant Professor. Ms.Lavanya Santhosh, Assistant Professor. Ms.Veena A., Assistant Professor.","tags":"Webinar","url":"https://www.gowrishankarnath.com/webinar-on-topological-data-analysis.html","loc":"https://www.gowrishankarnath.com/webinar-on-topological-data-analysis.html"},{"title":"Webinar on Machine Learning - An Industry Practitioner's Perspective","text":"Department of CSE and ACTS - The Startup Cell of Dr.Ambedkar Institute of Technology, Bengaluru proudly brings to you a Webinar on \"Machine Learning - An Industry Practitioner's Perspective\". Resource Person Mr. Chetan Nadiger Researcher in Machine Learning, Intel India Tech. Pvt. Ltd., Bengaluru. Schedule Date: 22nd June 2020 Time: 11:00 a.m. - 12:30 p.m. ( IST ) Please find the recorded video of the webinar below Coordinators: Dr.Gowrishankar S., Professor. Mr.Suresha D., Associate Professor. Mr.Srinivasa A.H., Associate Professor. Mr.Praveena M.V., Assistant Professor. Ms.Lavanya Santhosh, Assistant Professor. Ms.Veena A., Assistant Professor.","tags":"Webinar","url":"https://www.gowrishankarnath.com/webinar-on-machine-learning-an-industry-practitioner's-perspective.html","loc":"https://www.gowrishankarnath.com/webinar-on-machine-learning-an-industry-practitioner's-perspective.html"},{"title":"Webinar on Patents to Boost Innovation","text":"Department of CSE and ACTS - The Startup Cell of Dr.Ambedkar Institute of Technology, Bengaluru proudly brings to you a Webinar on \"Patents to Boost Innovation\". Resource Person Bindu Sharma Founder and CEO , Origiin IP Solutions LLP ., Bengaluru. Schedule Date: 18th June 2020 Time: 11:00 a.m. - 12:30 p.m. ( IST ) Please find the recorded video of the webinar below Coordinators: Dr.Gowrishankar S., Professor. Mr.Suresha D., Associate Professor. Mr.Srinivasa A.H., Associate Professor. Mr.Praveena M.V., Assistant Professor. Ms.Lavanya Santhosh, Assistant Professor. Ms.Veena A., Assistant Professor.","tags":"Webinar","url":"https://www.gowrishankarnath.com/webinar-on-patents-to-boost-innovation.html","loc":"https://www.gowrishankarnath.com/webinar-on-patents-to-boost-innovation.html"},{"title":"Model question papers for Python Programming course as prescribed for 3rd semester Computer Science and Engineering programme","text":"You will find the model question papers and question bank for the Python programming course prescribed for third semester at the department of Computer Science and Engineering, Dr.Ambedkar Institute of Technology, Bengaluru. Model Question Paper 1 Click on the link below to view or download the model question paper 1. MQP - 1 Model Question Paper 2 Click on the link below to view or download the model question paper 2. MQP - 2 Question Bank Unit 1. 1. Explain the different string formats available in Python with examples. 5 Marks 2. Discuss the int(), float(), str(), chr() and complex() type conversion functions with examples. 5 Marks 3. Discuss the ord(), hex(), oct(), complex() and float() type conversion functions with examples. 5 Marks 4. Describe the is and is not operators and type() function. Also, discuss why Python is called as dynamic and strongly typed language. 5 Marks 5. Illustrate the different types of control flow statements available in Python with flowcharts. 5 Marks 6. Write a Program to Prompt for a Score between 0.0 and 1.0. If the Score is out of range, print an error. If the score is between 0.0 and 1.0, print a grade using the following table 6 Marks 7. Write a program to display the fibonacci sequences up to nth term where n is provided by the user. 7 Marks 8. Write a program to repeatedly check for the largest number until the user enters \"done\" . 5 Marks 9. Write a program to find the sum of all Odd and Even numbers up to a number specified by the user. 6 Marks 10. Explain the need for continue and break statements. Write a program to check whether a number is prime or not. Prompt the user for input. 8 Marks 11. Describe the need for catching exceptions using try and except statements. 10 Marks 12. Describe the syntax for the following functions and explain with an example. a) abs() b) max() c) divmod() d) pow() e) len() 5 Marks 13. Write Pythonic code to solve the quadratic equation ax**2 + bx + c = 0 by getting input for coefficients from the user. 8 Marks 14. Find the area and perimeter of a circle using functions. Prompt the user for input. 6 Marks 15. Write a Python program using functions to find the value of nPr and nCr without using inbuilt factorial() function. 8 Marks 16. Write a program to print the sum of the following series 1 + 1/2 + 1/3 +. …. + 1/n 8 Marks Unit 2. 1. Write Python program to replace comma-separated words with hyphens and print hyphen-separated words in ascending order. 5 Marks 2. Explain the need for Unicodes. 5 Marks 3. Discuss the following list functions a) len() b) sum() c) any() d) all() e) sorted() 5 Marks 4. Explain the following list methods with an example. a) append() b) extend() c) insert() d) index() e) sort() 5 Marks 5. Check if the items in the list are sorted in ascending or descending order and print suitable messages accordingly. Otherwise, print \"Items in list are not sorted\" 7 Marks 6. Write Pythonic code to multiply two matrices using nested loops and also perform transpose of the resultant matrix. 8 Marks Unit 3. 1. Write Python program to sort words in a sentence in decreasing order of their length. Display the sorted words along with their length. 7 Marks 2. Write a function which receives a variable number of strings as arguments. Find unique characters in each string. 6 Marks 3. Write Pythonic code to create a function called most_frequent that takes a string and prints the letters in decreasing order of frequency. Use dictionaries. 8 Marks 4. Consider the string ‘brontosaurus'. Write Pythonic code that implements and returns the functionality of histogram using dictionaries for the given string. Also, write the function print_hist() to print the keys and their values in alphabetical order from the values returned by the histogram function. 8 Marks 5. Write Pythonic code that implements and returns the functionality of histogram using dictionaries. Also, write the function print_hist to print the keys and their values in alphabetical order from the values returned by the histogram function. 8 Marks Unit 4. 1. Describe the different access modes of the files with an example. 6 Marks 2. Discuss the following methods associated with the file object a) read() b) readline() c) readlines() d) tell() e) seek() f) write() 6 Marks 3. Write Python Program to Reverse Each Word in \"secret_societies.txt\" file. 6 Marks 4. Write Python Program to Count the Occurrences of Each Word and Also Count the Number of Words in a \"quotes.txt\" File. 7 Marks 5. Write Python Program to Find the Longest Word in a File. Get the File Name from User. 7 Marks 6. Consider a File Called \"workfile\". Write Python Program to Read and Print Each Byte in the Binary File. 5 Marks 7. Write Python program to demonstrate the writing of data to a CSV file using DictWriter class. 6 Marks 8. Discuss the following methods supported by compiled regular expression objects. a) search() b) match() c) findall() 6 Marks 9. Why do you need regular expressions in Python? Consider a file \"ait.txt\". Write a Python program to read the file and look for lines of the form X- DSPAM -Confidence: 0.8475 X- DSPAM -Probability: 0.458 Extract the number from each of the lines using a regular expression. Compute the average of the numbers and print out the average. 8 Marks 10. Consider a line \"From stephen.marquard\\@uct.ac.za Sat Jan 5 09:14:16 2008\" in the file email.txt. Write Pythonic code to read the file and extract email address from the lines starting from the word \"From\". Use regular expressions to match email address. 8 Marks Unit 5. 1. Write Python program to calculate the Arc Length of an Angle by assigning values to the radius and angle data attributes of the class ArcLength. 7 Marks 2. Write Python Program to simulate a Bank Account with support for depositMoney, withdrawMoney and showBalance Operations. 8 Marks 3. Given three Points (x1, y1), (x2, y2) and (x3, y3), write a Python program to check if they are Collinear. 7 Marks 4. Discuss inheritance in Python programming language. Write a Python program to demonstrate the use of super() function. 10 Marks 5. Program to demonstrate the Overriding of the Base Class method in the Derived Class. 8 Marks 6. Write Python program to demonstrate Multiple Inheritance. 8 Marks 7. Given the Coordinates (x, y) of a center of a Circle and its radius, write Python program to determine whether the Point lies inside the Circle, on the Circle or outside the Circle. 8 Marks 8. Write Python Program to Demonstrate Multiple Inheritance with Method Overriding. 8 Marks 9. Write Pythonic code to overload \"+\", \"-\" and \"*\" operators by providing the methods __add__, __sub__ and __mul__. 8 Marks 10. Write Pythonic code to create a function named move_rectangle() that takes an object of Rectangle class and two numbers named dx and dy . It should change the location of the Rectangle by adding dx to the x coordinate of corner and adding dy to the y coordinate of corner. 10 Marks NOTE: Marks allocated to all the questions are tentative. It may vary.","tags":"Articles","url":"https://www.gowrishankarnath.com/model-question-papers-for-python-programming-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme.html","loc":"https://www.gowrishankarnath.com/model-question-papers-for-python-programming-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme.html"},{"title":"Process involved in writing Course Outcomes (COs) and mapping of Course Outcomes with Program Outcomes (POs) for Course Articulation Matrix","text":"Recently, me along with my colleagues Prof. Veena A. (Dept. of CSE , Dr. AIT ) and Prof. Pushpaveni H (Dept. of CSE , Dr. AIT ), were assigned with the task to come up with a process for writing the Course Outcomes (COs) for a course and the mapping of the Course Outcomes with Program Outcomes (POs) for Course Articulation Matrix. Along with listing the process of writing the COs and mapping of CO - PO course articulation matrix, this article starts by giving the background information regarding NBA , Vision and Mission statements, the need for OBE and Rubrics. National Board of Accreditation National Board of Accreditation ( NBA ) is responsible for the accreditation of higher education institutions in India. NBA is also a full member of the Washington Accord . NBA accredits programmes and not the institutions. If an institution is planning to apply for NBA accreditation for a department, then in Criterion 3.1 of Self Assessment Report ( SAR ) of NBA document, you are explicitly asked to mention the CO - PO mapping for a minimum of 8 core courses. So before applying for NBA accreditation, the concerned department should make sure that their COs are well defined and serves the purpose of Outcome Based Education ( OBE ). Institutions adopting OBE try to bring changes to the curriculum by dynamically adopting to the requirements of the different stakeholders like Students, Parents, Industry Personnel and Recruiters. Higher Education Institutions in India are classified into two categories by NBA Tier - 1 Institutions consists of all IITs, NITs, Central Universities, State Universities and Autonomous Institutions. Tier - 1 institutions can also claim the benefits as per the Washington Accord. Tier - 2 Institutions consists of affiliated colleges of Universities. You should define Institute Vision and Mission and Department Vision and Mission to comply with the tradition, culture and ethos of your institution. Institution Vision: Vision is a picture of the future you seek to create, described in the present tense, as if it were happening now. It shows where we want to go, and what we will be like when we get there. Institution Mission: Mission statement defines what an institution is, why the institution exists, its reason for being. It defines what are we here to do together. Department Vision The vision and mission of the department should be correlated with the mission and vision of the institution. Department Mission A mission statement might include a brief history and philosophy of the academic programme, the type of students to be served, the academic environment and primary focus of the curriculum, faculty roles, outreach to the community and the role of research. A senior professor who has undergone NBA training should be designated as NBA coordinator for a programme. What is Outcome Based Education ( OBE )? Institutions adopting OBE try to bring changes to the curriculum by dynamically adapting to the requirements of the different stakeholders like Students, Parents, Industry Personnel and Recruiters. OBE is all about feedback and outcomes. Four levels of outcomes from OBE are: Program Outcomes (POs) Course Outcomes (COs) Program Educational Objectives (PEOs) Program Specific Outcomes (PSOs) Why OBE ? International recognition and global employment opportunities. More employable and innovative graduates with professional and soft skills, social responsibility and ethics. Better visibility and reputation of the technical institution among stakeholders. Improving the commitment and involvement of all the stakeholders. Enabling graduates to excel in their profession and accomplish greater heights in their careers. Preparing graduates for the leadership positions and challenging them and making them aware of the opportunities in the technology development. Benefits of OBE for Faculty Members Faculty members are referred to as Change of Agents in OBE . Teaching will become a far more creative and innovative career. Faculty members will no longer feel the pressure of having to be the \"source of all knowledge\". Faculty members shape the thinking and vision of students towards a course. Program Outcomes (POs) POs describe what students should know and be able to do at the end of the programme. POs are to be in line with the graduate attributes as specified in the Washington Accord. POs are to be specific, measurable and achievable. NBA has defined 12 POs (see below) and you need not define those POs by yourself and it is common for all the institutions in India. In the syllabus book given to students, there should be clear mention of course objectives and course outcomes along with CO - PO course articulation matrix for all the courses. Course Outcomes (COs) Course outcomes are the statements of what a student should know, understand and/or be able to demonstrate after completion of a course. While writing COs for a course, please remember the following points. The COs must state the major skills, knowledge, attitude or ability that students will acquire. COs should be expressed in terms of measurable and/or observable behaviors. COs should be agreed upon by the faculty in a program and should drive program outcomes. All the courses in the department should have a uniform number of COs. The COs should be written by Professors who have demonstrated considerable expertise in that course and then identify the textbook for the course. The syllabus book should have course articulation matrix for CO - PO mapping of all the courses. There should be a minimum of 6 COs according to the NBA . Course outcomes should begin with an action verb from Bloom's taxonomy. Here is a sample list of COs written for Python Programming course. Program Educational Objectives (PEOs) Program Educational Objectives (PEOs) should be defined by the Department HEAD in consultation with the faculty members. PEOs are an promise by the Department HEAD to the aspiring students about what they will achieve once they join the programme. PEO assessment is not compulsory in India as it is quite difficult to measure in Indian context. NBA Assessors usually do not ask for PEO assessment. PEOs are about professional and career accomplishment after 4 to 5 years of graduation. PEOs can be written from different perspectives like Career, Technical Competency and Behavior. While writing the PEOs do not use the technical terms as it will be read by prospective students who wants to join the programme. Three to five PEOs are recommended. Program Specific Outcomes (PSOs) Program Specific Outcomes (PSOs) are statements that describe what the graduates of a specific engineering program should be able to do. A list of PSOs written for the department of Computer Science and Engineering at Dr.Ambedkar Institute of Technology, Bengaluru is given below. PSO1 : To apply the knowledge obtained through rigorous analysis of algorithms for advancing the broad area of computer science and engineering. PSO2 : To bring forth the creative zeal and work efficiently in designing the solution to various software and hardware problems by using state of the art tools. PSO3 : To assimilate professional ethics, managerial skills and to officiate effectively as a leader in a team to manage diverse projects. Blooms Taxonomy Bloom's taxonomy is considered as the global language for education. Bloom's Taxonomy is frequently used by teachers in writing the course outcomes as it provides a ready made structure and list of action verbs. Here is the revised Bloom's document with action verbs, which we frequently refer to while writing COs for our courses. CO - PO Course Articulation Matrix Mapping Course Articulation Matrix shows the educational relationship (Level of Learning achieved) between Course Outcomes and Program Outcomes for a Course. This matrix strongly indicates whether the students are able to achieve the course learning objectives. The matrix can be used for any course and is a good way to evaluate a course syllabus. The below table (Table 1) gives information about the action verbs used in the POs and the nature of POs, stating whether the POs are technical or non-technical. You need to understand the intention of each POs and the Bloom's level to which each of these action verbs in the POs correlates to. Once you have understood the POs then you can write the COs for a course and see to what extent each of those COs correlate with the POs. Table 1: Process for mapping the values for CO - PO Matrix Type POs Action Verb(s) in POs Bloom's level(s) for POs Bloom's level(s) for COs Technical PO1 Apply L3 Bloom's L1 to L4 -> Theory Courses Blooms's L1 to L5 -> Laboratory Courses Bloom's L1 to L6 -> Mini Project and Main Project PO2 Identify L2 Formulate L6 Review L2 PO3 Design L6 Develop L3, L6 PO4 Analyze L4 Interpret L2, L3 Design L6 PO5 Create L6 Select L1, L2, L6 Apply L3 Non-Technical PO6 THUMB RULE If Bloom's L1 Action Verbs of a CO -> Correlates with any of PO6 to PO12 -> then assign 1 If Bloom's L2 to L3 Action Verbs of a CO -> Correlates with any of PO6 to PO12 -> then assign 2 If Bloom's L4 to L6 Action Verbs of a CO -> Correlates with any of PO6 to PO12 -> then assign 3 PO7 PO8 PO9 PO10 PO11 PO12 NOTE : The first five POs are purely of technical in nature, while the other POs are non-technical. For the theory courses, while writing the COs, you need to restrict yourself between Blooms Level 1 to Level 4. Again, if it is a programming course, restrict yourself between Blooms Level 1 to Level 3 but for the other courses, you can go up to Blooms Level 4. For the laboratory courses, while composing COs, you need to restrict yourself between Blooms Level 1 to Level 5. Only for Mini-project and Main project, you may extend up to Blooms Level 6 while composing COs. For a given course, the course in-charge has to involve all the other Professors who teach that course and ask them to come up with the CO - PO mapping. The course in-charge has to take the average value of all of these CO - PO mappings and finalize the values or the course in-charge can go with what the majority of the faculty members prefer for. Ensure that none of the Professors who are handling the particular course discuss with each other while marking the CO - PO values. If you want to match your COs with non-technical POs, then correlate the action verbs used in the course COs with the thumb rule given in the table and map the values. (Applies only for mapping COs to non-technical POs) . Tips for Assigning the values while mapping COs to POs. Select action verbs for a CO from different Bloom's levels based on the importance of the particular CO for the given course. Stick on to single action verbs while composing COs but you may go for multiple action verbs if the need arises. You need to justify for marking of the values in CO - PO articulation matrix. Use a combination of words found in the COs, POs and your course syllabus for writing the justification. Restrict yourself to one or two lines. Values to CO - PO (technical POs in particular) matrix can be assigned by a. Judging the importance of the particular CO in relation to the POs. If the CO matches strongly with a particular PO criterion then assign 3, if it matches moderately then assign 2 or if the match is low then assign 1 else mark with \" - \" symbol. b. If an action verb used in a CO is repeated at multiple Bloom's levels, then you need to judge which Bloom's level is the best fit for that action verb. A sample CO - PO Course Articulation matrix mapping for the Python Programming course. You can also find a list of COs and CO - PO course articulation matrix mapping for the Python programming course here What is Rubrics? We strongly recommend all the institutions to adopt Rubrics. Rubrics is a scoring guide that is used to evaluate the quality of students' constructed responses. Usually Rubrics is designed for laboratory, projects and seminar courses. In Indian universities, there is a trend of allocating the marks based on face value of the students and there is no appropriate breakup of the marks for the course. Usually, a faculty sees a student and allocates marks based on his opinion about the student. This tends to have negative effect on the student as there is no transparency in allocation of marks. We can overcome these kind of problems by adopting and designing Rubrics. More about Rubrics can be found here . Advantages: 1) Sets focus on the stated objectives. 2) Sets a common framework and language for assessment. 3) Grading consistency among the students and faculty members. 4) Enables peer review among the students themselves. 5) Clear Instructions to students on the intended outcomes. 6) Diagnosing specific Strengths and Weaknesses among students. Faculty members should always distribute the Rubrics designed for a course to the students so that they do understand how they are accessed. Few Clarifications Course: A semester consists of 5 to 6 theory courses and 2 to 3 laboratory courses. A course is a unit of teaching. We Indians tend to use the term Subject instead of Course . Please avoid the use of the term \"Subject\". Use the term Course instead of subject. The term Programme is different from the Department. Programme: An programme is a cohesive arrangement of courses, co-curricular and extra-curricular activities to accomplish predetermined objectives leading to the award of individual degrees like B.E., B.Tech, M.Tech and Ph.D. from a department. A department can offer different programmes. Degree: Academic award conferred upon a student upon successful completion of a programme. For example, B.E. Degree Programme, B.Tech Degree Programme, M.E. Degree Programme and M.Tech Degree Programme. Output and Outcome: These two terms can be explained easily with an example. If you produce Ph.D students then it is Output . If the Ph.D students are able to get funds and publish papers then it is Outcome . Take the above information with a pinch of salt and do not consider it as gospel. Hope it helps someone out there!!!","tags":"Articles","url":"https://www.gowrishankarnath.com/process-involved-in-writing-course-outcomes-(co)-and-mapping-of-course-outcomes-with-program-outcomes-(po)-for-course-articulation-matrix.html","loc":"https://www.gowrishankarnath.com/process-involved-in-writing-course-outcomes-(co)-and-mapping-of-course-outcomes-with-program-outcomes-(po)-for-course-articulation-matrix.html"},{"title":"Syllabus and Solutions for Python Programming laboratory course as prescribed for 3rd semester Computer Science and Engineering programme starting from the year 2019","text":"This is the syllabus and solutions for Python Programming Laboratory course prescribed for 3rd Semester Undergraduate Computer Science and Engineering Programme starting from the year 2019 at Dr.Ambedkar Institute of Technology (Dr. AIT ), Bengaluru, Karnataka, India. Course Title: Python Programming Laboratory Course Code: 18CSL38 Exam Duration: 3 Hours No. of Credits: 1 = 0: 0: 1 (L: T: P) No. of Laboratory Hours/Week: 2 Course objectives: Interpret the use of procedural statements like assignments, conditional statements, loops and function calls. Infer the supported data structures like lists, dictionaries and tuples in Python. Illustrate the application of matrices and regular expressions in building the Python programs. Discover the use of external modules in creating excel files and navigating the file systems. Describe the need for Object-oriented programming concepts in Python. Sl. No. Programs 1. a) Write a Python program to print all the Disarium numbers between 1 and 100. b) Write a Python program to encrypt the text using Caesar Cipher technique. Display the encrypted text. Prompt the user for input and the shift pattern. Solution 2. Devise a Python program to implement the Rock-Paper-Scissor game. Solution 3. Write a Python program to perform Jump Search for a given key and report success or failure. Prompt the user to enter the key and a list of numbers. Solution 4. The celebrity problem is the problem of finding the celebrity among n people. A celebrity is someone who does not know anyone (including themselves) but is known by everyone. Write a Python program to solve the celebrity problem. Solution 5. Write a Python program to construct a linked list. Prompt the user for input. Remove any duplicate numbers from the linked list. Solution 6. Perform the following file operations using Python a) Traverse a path and display all the files and subdirectories in each level till the deepest level for a given path. Also, display the total number of files and subdirectories. b) Read a file content and copy only the contents at odd lines into a new file. Solution 7. Create a menu drive Python program with a dictionary for words and their meanings. Write functions to add a new entry (word: meaning), search for a particular word and retrieve meaning, given meaning find words with the same meaning, remove an entry, display all words sorted alphabetically. Solution 8. Using Regular Expressions, develop a Python program to a) Identify a word with a sequence of one upper case letter followed by lower case letters. b) Find all the patterns of \"1(0+)1\" in a given string. c) Match a word containing ‘z' followed by one or more o's. Prompt the user for input. Solution 9. Write a Python program to plot the Line chart in MS Excel Sheet using XlsxWriter module to display the annual net income of the companies mentioned below. MS Excel Data Solution 10. Devise a Python program to implement the Hangman Game. Solution Course Outcomes COs Statements Bloom's Level CO1 Describe the Python language syntax including control statements, loops and functions to write programs for a wide variety problem in mathematics, science, and games. L2 CO2 Examine the core data structures like lists, dictionaries, tuples and sets in Python to store, process and sort the data. L3 CO3 Interpret the concepts of Object-oriented programming as used in Python using encapsulation, polymorphism and inheritance. L3 CO4 Discover the capabilities of Python regular expression for data verification and utilize matrices for building performance efficient Python programs. L2 CO5 Identify the external modules for creating and writing data to excel files and inspect the file operations to navigate the file systems. L2 Course Articulation Matrix ( CO - PO Mapping) COs POs PSOs PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 CO1 3 3 2 2 3 - - - - - - - 1 3 - CO2 3 2 2 3 3 - - - - - - - 2 3 - CO3 3 3 3 2 3 - - - - - - - 2 3 - CO4 2 1 2 2 3 - - - - - - - 1 2 - CO5 2 1 2 1 3 - - - - - - - 1 1 -","tags":"Articles","url":"https://www.gowrishankarnath.com/syllabus-and-solutions-for-python-programming-laboratory-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme-starting-from-the-year-2019.html","loc":"https://www.gowrishankarnath.com/syllabus-and-solutions-for-python-programming-laboratory-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme-starting-from-the-year-2019.html"},{"title":"Syllabus for Python Programming Course as Prescribed for 3rd Semester Computer Science and Engineering Programme Starting from the year 2019","text":"This is the Python Programming syllabus prescribed for the 3rd Semester Undergraduate students of Computer Science and Engineering department and also offered as InterDepartmental Elective ( IDE ) for the 5th Semester students starting from the year 2019 at Dr.Ambedkar Institute of Technology (Dr. AIT ), Bengaluru, Karnataka, India. Course Title: PYTHON PROGRAMMING Course Code: 18CS34 / 18CSE012 Exam Duration: 3 hours No. of Credits: 3= 3: 0: 0 (L: T: P) No. of lecture hours/week: 3 Hours Total No. of Contact Hours: 42 Hours Course objectives: Describe the core syntax and semantics of Python programming language. Discover the need for working with the strings and functions. Illustrate the process of structuring the data using lists, dictionaries, tuples and sets. Indicate the use of regular expressions and built-in functions to navigate the file system. Infer the Object-oriented Programming concepts in Python. Unit No Syllabus Content No of Hours 1 Parts of Python Programming Language, Identifiers, Keywords, Statements and Expressions, Variables, Operators, Precedence and Associativity, Data Types, Indentation, Comments, Reading Input, Print Output, Type Conversions, The type() Function and Is Operator, Dynamic and Strongly Typed Language, Control Flow Statements, The if Decision Control Flow Statement, The if…else Decision Control Flow Statement, The if…elif…else Decision Control Statement, Nested if Statement, The while Loop, The for Loop, The continue and break Statements, Catching Exceptions Using try and except Statement, Functions, Built-In Functions, Commonly Used Modules, Function Definition and Calling the Function, The return Statement and void Function, Scope and Lifetime of Variables, Default Parameters, Keyword Arguments, *args and **kwargs, Command Line Arguments. 09 2 Strings, Creating and Storing Strings, Basic String Operations, Accessing Characters in String by Index Number, String Slicing and Joining, String Methods, Formatting Strings, Lists, Creating Lists, Basic List Operations, Indexing and Slicing in Lists, Built-In Functions Used on Lists, List Methods, The del Statement. 08 3 SELF - STUDY Dictionaries , Creating Dictionary, Accessing and Modifying key:value Pairs in Dictionaries, Built-In Functions Used on Dictionaries, Dictionary Methods, The del Statement, Tuples and Sets, Creating Tuples, Basic Tuple Operations, Indexing and Slicing in Tuples, Built-In Functions Used on Tuples, Relation between Tuples and Lists, Relation between Tuples and Dictionaries, Tuple Methods, Using zip() Function, Sets, Set Methods, Traversing of Sets, Frozenset. 08 4 Files, Types of Files, Creating and Reading Text Data, File Methods to Read and Write Data, Reading and Writing Binary Files, The Pickle Module, Reading and Writing CSV Files, Python os and os.path Modules, Regular Expression Operations, Using Special Characters, Regular Expression Methods, Named Groups in Python Regular Expressions, Regular Expression with glob Module. 08 5 Object-Oriented Programming, Classes and Objects, Creating Classes in Python, Creating Objects in Python, The Constructor Method, Classes with Multiple Objects, Class Attributes versus Data Attributes, Encapsulation, Inheritance, The Polymorphism. 09 Course Outcomes: COs Statements Bloom's Level CO1 Interpret the fundamental Python syntax and semantics and be fluent in the use of Python control flow statements. L2 CO2 Express proficiency in the handling of strings and functions. L2 CO3 Determine the methods to create and manipulate Python programs by utilizing the data structures like lists, dictionaries, tuples and sets. L3 CO4 Identify the commonly used operations involving file systems and regular expressions. L2 CO5 Articulate the Object-Oriented Programming concepts such as encapsulation, inheritance and polymorphism as used in Python. L3 Course Articulation Matrix ( CO - PO Mapping) CO - PO Mapping PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 CO1 3 3 2 1 3 - - - - - - - CO2 2 2 2 1 3 - - - - - - - CO3 3 3 2 2 3 - - - - - - - CO4 2 2 2 2 3 - - - - - - - CO5 3 3 2 2 3 - - - - - - - TEXT BOOK Gowrishankar S, Veena A, \"Introduction to Python Programming\", 1st Edition, CRC Press/Taylor & Francis, 2018. ISBN -13: 978-0815394372 REFERENCE BOOKS / WEBLINKS : Jake VanderPlas, \"Python Data Science Handbook: Essential Tools for Working with Data\", 1st Edition, O'Reilly Media, 2016. ISBN -13: 978-1491912058 Aurelien Geron, \"Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems\", 2nd Edition, O'Reilly Media, 2019. ISBN – 13: 978-9352139057. Wesley J Chun, \"Core Python Applications Programming\", 3rd Edition, Pearson Education India, 2015. ISBN -13: 978-9332555365 Miguel Grinberg, \"Flask Web Development: Developing Web Applications with Python\", 2nd Edition, O'Reilly Media, 2018. ISBN -13: 978-1491991732. SELF - STUDY REFERENCES / WEBLINKS : Dictionaries https://www.youtube.com/watch?v=daefaLgNkw0 Tuples and Sets https://www.youtube.com/watch?v=W8KRzm-HUcc","tags":"Articles","url":"https://www.gowrishankarnath.com/syllabus-for-python-programming-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme-starting-from-the-year-2019.html","loc":"https://www.gowrishankarnath.com/syllabus-for-python-programming-course-as-prescribed-for-3rd-semester-computer-science-and-engineering-programme-starting-from-the-year-2019.html"},{"title":"Tips for passing the courses offered by NPTEL","text":"I'm happy to inform that I have passed the Introduction to Internet of Things course offered by NPTEL with Elite + Gold certification. What is NPTEL ? NPTEL is an acronym for National Programme on Technology Enhanced Learning which is an initiative by seven Indian Institutes of Technology ( IIT Bombay, Delhi, Guwahati, Kanpur, Kharagpur, Madras and Roorkee) and Indian Institute of Science (IISc) for creating course contents in engineering and science. NPTEL provides E-learning through online Web and Video courses in Engineering, Science and humanities streams. Course contents will be useful for training the faculty members and through them improve the quality of students. You can join/register NPTEL courses and access the materials for free. You have to pay a nominal amount only if you are registering for exams, leading to certification in your chosen course. Also, most of the institutions refund the amount that you have paid for NPTEL certification. Advantages of Earning Certification from NPTEL Most of the NPTEL courses are offered by premier institutions like IITs and IISc. NPTEL certifications have become mandatory for promotions in most of the academic institutions and recruiters prefer students with NPTEL certifications. Few universities are also asking their students to take up and get certified as part of their course work. Credits earned from NPTEL courses are also recognized by most of the universities. NPTEL Certifications are also approved and recognized as Faculty Development Programme ( FDP ) by AICTE . So, NPTEL offers a scintillating opportunity to move our career forward and also to enhance our knowledge at our own pace and at less cost. Here are few tips to ace the NPTEL courses drawn from my personal experience. Rather than watching the videos, download the transcripts in PDF format. Personally, I feel it is easy to go through the transcripts. Take the printouts of all the PDFs beforehand itself. Do not wait for the arrival of the mail saying that video has been released for the particular week. You can find the PDFs of all the week at the beginning of the course. Try to solve the assignments religiously. Remember that for 4 week courses, only 3 best assignments are considered out of 4 assignments 8 week courses, only 6 best assignments are considered out of 8 assignments 12 week courses, only 8 best assignments are considered out of 12 assignments As you can see, you can miss few assignments but DO NOT if you are really serious about your course. Try to submit the assignments within deadline as there will not be any extension. For NPTEL courses, assignment marks contribute 25% of the final score and exam marks contribute to 75% of the final score. NPTEL Final Score = 25% of Assignment Marks + 75% of the Exam Marks With good effort, you can easily crack most of the courses as the pass percentage is 40% (Assignment Marks + Exam Marks). By analyzing the assignments questions, you can gauge the kind of questions that will be asked in exams. These NPTEL courses are part of a life long learning process. Prepare notes for each unit. You can always come back and refer these notes whenever necessary. Most of the courses have questions in Multiple Choice Questions (MCQs) format. Programming courses tend to be a little difficult in comparison to theoretical courses. You need to put a lot of effort into understanding the basics of programming concepts. Usually, NPTEL allocates exam centers at different locations rather than nearer to the residential/office address that you had provided while registering for your exam. Plan and Schedule your travel appropriately. Revise your course notes the previous day of your exam and get good sleep. Do not forget to drink lots of water. All I say is, take the course that is of interest to you, put effort and hope for good. Good Luck!!","tags":"Articles","url":"https://www.gowrishankarnath.com/tips-for-passing-the-courses-offered-by-nptel.html","loc":"https://www.gowrishankarnath.com/tips-for-passing-the-courses-offered-by-nptel.html"},{"title":"Introduction to Python Programming","text":"Introduction to Python Programming The Git repository for the book containing the code examples from the book \"Introduction to Python Programming\" , authored by Gowrishankar S. and Veena A. and published by CRC Press/Taylor and Francis, Boca Raton, USA can be found here Book Purchase You can purchase the book at following sources. (Click on the image to buy) Book Details Hardcover: 464 pages Publisher: Chapman and Hall/ CRC Press; 1 edition (November 7, 2018) Language: English ISBN -10: 0815394373 ISBN -13: 978-0815394372 Software Requirements All the code in the book works with Python 3.6 version or above. Since f -strings are used throughout the book which was introduced in Python 3.6 version, you need to have Python interpreter 3.6 or above for the code to work as it is. Install the latest version of 64-bit Anaconda Distribution with support for Python 3.6 or above. If you want to make the code work with Python 3.1 to 3.5 versions, use str.format() statements within the print() function instead of f-strings. The rest of the statements within the code remains the same and the code should work fine. It is highly recommended that you use the latest version of PyCharm Community Edition to execute the programs. You will gain valuable insights in to Python programming language by using this IDE , no matter whether you are a beginner or an experienced professional. Book Source Code You need to download the folder Book_Code and open it in PyCharm IDE . Each of the code files are numbered and they appear under a Chapter number. The numbering of the code files corresponds to the order in which they appear in the book. Each of the code file is a self-contained file. To run a code file, right-click on the file name in the PyCharm IDE and select the \"Run\" from the context menu. Who Should Read This Book? This book is for beginners to Python programming who are interested in learning the basics of Python programming language. Citing this Book You are very welcome to re-use the code snippets for academic purpose; in this case, we would appreciate citations to the original source: BibTeX: @Book{gsva2018python, author = {Gowrishankar S., Veena A.}, title = {Introduction to Python Programming}, publisher = {Chapman and Hall/ CRC Press}, year = {2018}, address = {Boca Raton, USA }, isbn = {0815394373} } MLA : S, Gowrishankar, and A, Veena. Introduction to Python Programming. Chapman & Hall/ CRC Press, 2018. Contributing to the book Please don't make pull requests here. I don't accept pull requests on this repository. If you notice an issue, please file an issue instead. Errata We hope to improve this book continually. If you have any suggestions for improving this text or if an error should be found, the authors would be grateful if notification were sent by e-mail to gowrishankarnath@acm.org . To ensure your messages do not end up in our junk mail folder, please include subject as \"Introduction to Python Programming.\" You can see a list of known issues that have been found in each chapter by looking at Errata and the corresponding corrections. If you have found a mistake and don't see it listed there, please create a new issue. Thank you for your help! Contact If you are interested in keeping in touch, I am active on twitter and my id is @g_s_nath . Table of Contents 1. Introduction 1.1 What Is a Program? 1.2 Programming Languages 1.3 Software Development 1.4 History of Python Programming Language 1.5 Thrust Areas of Python 1.6 Installing Anaconda Python Distribution 1.7 Installing PyCharm IDE to Set Up a Python Development Environment 1.8 Creating and Running Your First Python Project 1.9 Installing and Using Jupyter Notebook 1.10 Open Source Software 1.11 Summary Multiple Choice Questions Review Questions 2. Parts of Python Programming Language 2.1 Identifiers 2.2 Keywords 2.3 Statements and Expressions 2.4 Variables 2.5 Operators 2.6 Precedence and Associativity 2.7 Data Types 2.8 Indentation 2.9 Comments 2.10 Reading Input 2.11 Print Output 2.12 Type Conversions 2.13 The type() Function and Is Operator 2.14 Dynamic and Strongly Typed Language 2.15 Summary Multiple Choice Questions Review Questions 3. Control Flow Statements 3.1 The if Decision Control Flow Statement 3.2 The if…else Decision Control Flow Statement 3.3 The if…elif…else Decision Control Statement 3.4 Nested if Statement 3.5 The while Loop 3.6 The for Loop 3.7 The continue and break Statements 3.8 Catching Exceptions Using try and except Statement 3.9 Summary Multiple Choice Questions Review Questions 4. Functions 4.1 Built-In Functions 4.2 Commonly Used Modules 4.3 Function Definition and Calling the Function 4.4 The return Statement and void Function 4.5 Scope and Lifetime of Variables 4.6 Default Parameters 4.7 Keyword Arguments 4.8 *args and **kwargs 4.9 Command Line Arguments 4.10 Summary Multiple Choice Questions Review Questions 5. Strings 5.1 Creating and Storing Strings 5.2 Basic String Operations 5.3 Accessing Characters in String by Index Number 5.4 String Slicing and Joining 5.5 String Methods 5.6 Formatting Strings 5.7 Summary Multiple Choice Questions Review Questions 6. Lists 6.1 Creating Lists 6.2 Basic List Operations 6.3 Indexing and Slicing in Lists 6.4 Built-In Functions Used on Lists 6.5 List Methods 6.6 The del Statement 6.7 Summary Multiple-Choice Questions Review Questions 7. Dictionaries 7.1 Creating Dictionary 7.2 Accessing and Modifying key:value Pairs in Dictionaries 7.3 Built-In Functions Used on Dictionaries 7.4 Dictionary Methods 7.5 The del Statement 7.6 Summary Multiple Choice Questions Review Questions 8. Tuples and Sets 8.1 Creating Tuples 8.2 Basic Tuple Operations 8.3 Indexing and Slicing in Tuples 8.4 Built-In Functions Used on Tuples 8.5 Relation between Tuples and Lists 8.6 Relation between Tuples and Dictionaries 8.7 Tuple Methods 8.8 Using zip() Function 8.9 Sets 8.10 Set Methods 8.10.1 Traversing of Sets 8.11 Frozenset 8.12 Summary Multiple Choice Questions Review Questions 9. Files 9.1 Types of Files 9.2 Creating and Reading Text Data 9.3 File Methods to Read and Write Data 9.4 Reading and Writing Binary Files 9.5 The Pickle Module 9.6 Reading and Writing CSV Files 9.7 Python os and os.path Modules 9.8 Summary Multiple Choice Questions Review Questions 10. Regular Expression Operations 10.1 Using Special Characters 10.2 Regular Expression Methods 10.3 Named Groups in Python Regular Expressions 10.4 Regular Expression with glob Module 10.5 Summary Multiple Choice Questions Review Questions 11. Object-Oriented Programming 11.1 Classes and Objects 11.2 Creating Classes in Python 11.3 Creating Objects in Python 11.4 The Constructor Method 11.5 Classes with Multiple Objects 11.6 Class Attributes versus Data Attributes 11.7 Encapsulation 11.8 Inheritance 11.9 The Polymorphism 11.10 Summary Multiple Choice Questions Review Questions 12. Introduction to Data Science 12.1 Functional Programming 12.2 JSON and XML in Python 12.3 NumPy with Python 12.4 Pandas 12.5 Altair 12.6 Summary Multiple Choice Questions Review Questions","tags":"Book","url":"https://www.gowrishankarnath.com/introduction-to-python-programming.html","loc":"https://www.gowrishankarnath.com/introduction-to-python-programming.html"},{"title":"Python Application Programming Course Material VTU , Belagavi","text":"I have uploaded the course material for \"Python Application Programming\", ( 18CS752 , Open Elective) as prescribed by Visvesvaraya Technological University, Belagavi popularly known as VTU . You will find slide deck (ppts) for all the units with programming examples here . Also, few model question papers are provided for reference.","tags":"Articles","url":"https://www.gowrishankarnath.com/python-application-programming-course-material-vtu-belagavi.html","loc":"https://www.gowrishankarnath.com/python-application-programming-course-material-vtu-belagavi.html"},{"title":"Model question papers for Internet of Things (IoT) course as prescribed for 8th semester Computer Science and Engineering programme","text":"You will find the model question papers for the Internet of Things (IoT) course prescribed for eighth semester at the department of Computer Science and Engineering, Dr.Ambedkar Institute of Technology, Bengaluru. Model Question Paper 1 Click on the link below to view or download the model question paper 1. MQP - 1 Model Question Paper 2 Click on the link below to view or download the model question paper 2. MQP - 2 Model Question Paper 3 Click on the link below to view or download the model question paper 3. MQP - 3 NOTE: Marks allocated to all the questions are tentative. It may vary.","tags":"Articles","url":"https://www.gowrishankarnath.com/model-question-papers-for-internet-of-things-course-as-prescribed-for-8th-semester-computer-science-and-engineering-programme.html","loc":"https://www.gowrishankarnath.com/model-question-papers-for-internet-of-things-course-as-prescribed-for-8th-semester-computer-science-and-engineering-programme.html"},{"title":"Syllabus for Internet of Things Course as Prescribed for 8th Semester Computer Science and Engineering Programme","text":"This is the Internet of Things (IoT) syllabus prescribed for 8th Semester Undergraduate Computer Science and Engineering Programme at Dr.Ambedkar Institute of Technology (Dr. AIT ), Bengaluru, Karnataka, India. Course Title: Internet of Things Course Code: CS822 Exam Duration: 3 hours No. of Credits: 4 = 4: 0: 0 (L: T: P) No. of Lecture Hours/Week: 4 Hours Total No. of Contact Hours: 52 Hours Course objectives: To assess the vision and introduction of IoT. To Understand IoT Market perspective. To Implement Data and Knowledge Management and use of Devices in IoT Technology. To Understand State of the Art - IoT Architecture. To classify Real World IoT Design Constraints, Industrial Automation and Commercial Building Automation in IoT. UNIT No Syllabus Content No of Hours 1 M2M to IoT -The Vision-Introduction, From M2M to IoT, M2M towards IoT-the global context, A use case example, Differing Characteristics. 10 2 M2M to IoT - A Market 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 M2M and IoT Technology Fundamentals- Devices and gateways, Local and wide area networking, Data management, Business processes in IoT, Everything as a Service(XaaS), M2M and IoT Analytics, Knowledge Management 11 4 IoT Architecture-State of the Art - Introduction, State of the art. 10 5 IoT Reference Architecture- Introduction, Functional View, Information View, Deployment and Operational View, Other Relevant architectural views. Real-World Design Constraints- Introduction, Technical Design constraints-hardware is popular again, Data representation and visualization, Interaction and remote control. Industrial Automation- Service-oriented architecture-based device integration, SOCRADES : realizing the enterprise integrated Web of Things, IMC - AESOP : from the Web of Things to the Cloud of Things 11 Course Outcomes: CO1 : Interpret the vision of IoT from a global context. CO2 : Determine the Market perspective of IoT. CO3 : Compare and Contrast the use of Devices, Gateways and Data Management in IoT. CO4 : Implement state of the art architecture in IoT. CO5 : Illustrate the application of IoT in Industrial Automation and identify Real World Design Constraints. TEXT BOOK Jan Holler, Vlasios Tsiatsis, Catherine Mulligan, Stefan Avesand, Stamatis Karnouskos, David Boyle, \"From Machine-to-Machine to the Internet of Things: Introduction to a New Age of Intelligence\", 1st Edition, Academic Press, 2014. ( ISBN -13: 978-0124076846) REFERENCE BOOKS / WEBLINKS : Vijay Madisetti and Arshdeep Bahga, \"Internet of Things (A Hands-on-Approach)\", 1stEdition, VPT , 2014. ( ISBN -13: 978-8173719547) Francis daCosta, \"Rethinking the Internet of Things: A Scalable Approach to Connecting Everything\", 1st Edition, Apress Publications, 2013. ( ISBN -13: 978-1430257400)","tags":"Articles","url":"https://www.gowrishankarnath.com/syllabus-for-internet-of-things-course-as-prescribed-for-8th-semester-computer-science-and-engineering-programme.html","loc":"https://www.gowrishankarnath.com/syllabus-for-internet-of-things-course-as-prescribed-for-8th-semester-computer-science-and-engineering-programme.html"},{"title":"Remote Programming of Raspberry Pi using PyCharm","text":"This tutorial is about using PyCharm IDE on a Windows machine to remotely execute Python 2.7 programs on Raspberry Pi. Despite my best efforts, I could not find a step by step tutorial on how to remotely connect PyCharm to Raspberry Pi and use the Raspberry Pi python interpreter to execute the programs. So I'm listing out the steps here. This tutorial is tested on a Windows 10 machine and Raspberry Pi running Raspbian OS . Step 1: Ensure the Windows Machine and Raspberry Pi are part of the same Network. Step 2: Install PyCharm Professional Edition on your Windows machine. Step 3: You need to get the IP Address of Raspberry Pi. To do so, open the Terminal window on raspberry pi and type the following command ifconfig As can be seen from the screenshot, Raspberry Pi is connected to the Wireless LAN and the address is 172.16.2.100. It may vary on your Raspberry Pi. Make a note of this address. Step 4: Once you have obtained the Address, go to your home directory and create a folder as shown in the below screenshot. This folder is used to store the Python programs. Step 5: Invoke your PyCharm IDE . Create a new Project. Go to File —> New Project —> Pure Python —> Give a Project Name. In my case it is RaspberryPiProject. Step 6: Right Click on RaspberryPiProject and select New —> Python File and give a name to python file. In my case it is rasp.py Step 7: Write the line print \"Hello RaspberryPi\" in the editor. Step 8: Now go to File —> Settings On the left pane of the window you should see Project:RaspberryPiProject. (If you have given a different name then it may differ from what is displayed here) Expand it and Click on Project Interpreter On the right pane of the window, click at the end of Project Interpreter and select Add Remote option as shown below. A Remote Python Interpreter window pops up. Step 9: Configure the Remote Python Interpreter window. Write the IP address of the Raspberry Pi you earlier made note of in the Host option. Give the user name and password. Specify the Python interpreter path on raspberry pi. Click OK . Now you should see the Python Interpreter found in Raspberry Pi. Step 10: Now go to Tools —> Deployment —> Configuration and click on + sign on the left pane. You should see a window. At this stage Raspberry Pi will be treated as a Server machine. Give a name to your Raspberry Pi server (in my case it is GS_Research) and select the type as SFTP and click OK Step 11: Click on the Connections tab and specify the IP address of the Raspberry Pi again in SFTP host Leave the port and Root path as it is. Specify the User Name and Password Then click on Mappings tab. Specify the local path where you have stored the python project in the Windows machine. Then specify the path which we had created to store the Python programs on raspberry pi i.e., /home/pi/pywork and click OK . Step 12: Now we need to upload the Python file created on a Windows machine on to Raspberry Pi and compile the program using Raspberry Pi Python Interpreter. Go to Tools —> Deployment —> Upload to GS_Research. Remember, here GS_Research is the name given to the Raspberry Pi server. At the bottom pane, you can see that the file is successfully uploaded. Now open the terminal window again on the Raspberry Pi and go to the path where you intended to store Python programs. If you have followed the instructions then the path is /home/pi/pywork. You should see the rasp.py file in there. Step 13: You need to sync the Python code with Raspberry Pi as and when you write your code in PyCharm. To do that go to Tools —> Deployment —> Sync with Deployed to GS_Research. Happy Coding…","tags":"Articles","url":"https://www.gowrishankarnath.com/remote-programming-of-raspberry-pi-using-pycharm.html","loc":"https://www.gowrishankarnath.com/remote-programming-of-raspberry-pi-using-pycharm.html"},{"title":"Nomenclature for Naming Published Research Papers","text":"Recently, I was asked to collect the research papers published by all the faculty member in our department. This made me to think, what might be the best way to collect and sort these papers? I thought of coming up with a naming convention for these papers based on requirements as mentioned below. On any given day, I should be able to pick the exact paper belonging to a particular faculty. Keep track of number of papers published by each faculty. Whether the paper is published in Journal or Conference. Ability to sort the papers year wise. Based on the above requirements I devised the following way to name each file. Paper name is divided into six components. Each of these components is separated by a Hyphen. First component is the type of paper. If the paper is published in International Journal then use the Keyword IJ , likewise for International Conference use IC , for National Journal use NJ and for National Conference use NC Second component is the name of the concerned faculty. Use the first three letters of the faculty name. For e.g., if the faculty name is Patrick.G.S then the second component will be PAT . Third component is the initials of the concerned faculty. So w.r.t. the above name the third component will be GS (exclude dots). Fourth component is the month in which the paper was published. For e.g., if the paper is published in the month of March then use the numeral 03. (prefix 0 for single digits) Fifth component is the year in which the paper was published. For e.g., if the paper is published in the year 2016 then it'll be the fifth component. Sixth component is the count of the number of papers the faculty has published under a particular category of IJ or IC or NJ or NC . Based on the requirements discussed, if for e.g., Prof. Patrick.G.S has published in 2 International Journals and in 2 International Conferences then the nomenclature for these papers will be as shown below: For International Journal IJ - PAT - GS -03-2016-1 IJ - PAT - GS -05-2016-2 For International Conference IC - PAT - GS -10-2016-1 IC - PAT - GS -11-2016-2","tags":"Articles","url":"https://www.gowrishankarnath.com/nomenclature-for-naming-published-research-papers.html","loc":"https://www.gowrishankarnath.com/nomenclature-for-naming-published-research-papers.html"},{"title":"Traverse and Rename files in folder","text":"I recently encountered a problem wherein I had to traverse through all the files in a folder and rename each file. The original files is as shown below having a set of characters and the number separated by an \"-\" (hyphen) with jpg extension. d6445cef9361a2bf-1.jpg d6445cef9361a2bf-2.jpg d6445cef9361a2bf-3.jpg and so on. Here, the requirement was to remove the left part of the \"-\" (hyphen) and retain only the number and the extension. So, here is my approach. from glob import glob import os pathFromUser = input ( \"Enter the Path: \" ) files_list = glob ( os . path . join ( pathFromUser , '*.jpg' )) for each_file in files_list : number = os . path . basename ( each_file ) . split ( \"-\" )[ 1 ] . split ( \".\" )[ 0 ] os . rename ( each_file , number + \".jpg\" ) Output Enter the Path: C:\\Test_Data\\Images In line 4, we ask the user to enter the path for the folder which contains all the files. In line 5, a list of all the files in the folder is assigned to the list called files_list . One should be aware that it's not only the filename but a combination of both path and filename i.e., C:\\foldername\\d6445cef9361a2bf-1.jpg. In line 6, we loop through each file in the list. In line 7, the basename() method is used to obtain the name of the file from the path and then we split the filename based on \"-\" (hyphen) and we again split the resultant value based on \".\" (dot). This line results in a number present in the file and is assigned to the variable number. Then we use the method rename() to rename each file to the value that is present in the number.","tags":"Articles","url":"https://www.gowrishankarnath.com/traverse-and-rename-files-in-folder.html","loc":"https://www.gowrishankarnath.com/traverse-and-rename-files-in-folder.html"},{"title":"Copy the Contents of Multiple Files into Single File or Merge Multiple Files into Single File","text":"Problem: I was facing a situation wherein I had hundreds of files lying around and had to take printout of all the files. Having to take printout of each and every file proved to be nightmare. Solution: The solution was to merge all the files into a single file or copy the contents of multiple files into single file. Before issuing these commands at the command prompt change to the directory where all the files are present. The code shown below copies the contents from all the files ending with .py extension into a new file called mergedFile.doc . The reason I created a word doc file is, it'll be easier to take printout and had no reason to think otherwise. copy /b *.py mergedFile.doc To merge multiple text files into a single document file the command used is given below. copy /b *.txt mergedFile.doc To merge multiple text files into a single text file the command used is given below. copy /b *.txt mergedFile.txt To merge multiple java files into a single document file the command used is given below. copy /b *.java mergedFile.doc Code shown here is tested on Windows 7/8/10 machine.","tags":"Articles","url":"https://www.gowrishankarnath.com/copy-the-contents-of-multiple-files-into-single-file-or-merge-multiple-files-into-single-file.html","loc":"https://www.gowrishankarnath.com/copy-the-contents-of-multiple-files-into-single-file-or-merge-multiple-files-into-single-file.html"},{"title":"MySQL Programming with Python using MySQL Python Connector","text":"Introduction This article is about programming MySQL with Python using MySQL Python Connector. MySQL is a popular Open Source Database that finds its way in the software stack of almost all newer billion dollar companies. Let's try to do some basic operations like Insert , Read , Update and Delete . For creating the database schema we have used MySQL workbench, even though it is fully possible to do the same programmatically using Python and the MySQL Python Connector. For our article I have considered this below database schema. You can read more about designing this schema here . The illustrated code has been tested on Python 3.5 with MySQL Python Connector. MySQL Programming With Python Using MySQL Python Connector Install the latest version of MySQL Python Connector as shown below In line 1, we import mysql.connector module. In line 2 we also import the errorcode class which can be used to various errors related to Database query. In line 3-4 we import faker module and create fake object. The reason for using this awesome module is I wanted to have some real world values generated for me instead of writing the values manually. You can read more about faker module here . You need to declare and provide values for user , password , host , database and raise_on_warnings . Here, config is declared as a dictionary. You need to pass this config dictionary to connect method as an argument (see ** in the connect method). In line 21 we create cursor object which can be used to execute the Database query. We write a query to insert a row to the contactperson table. The query is stored in the variable addContactPerson which is passed to the execute method as an argument. In this program we will use an for loop to insert ten rows. Once we have performed our operation we need to close the cnx and cursor objects. import mysql.connector from mysql.connector import errorcode from faker import Factory fake = Factory . create () config = { 'user' : 'root' , 'password' : 'mysql123' , 'host' : 'localhost' , 'database' : 'contactmanagerapplication' , 'raise_on_warnings' : True , } #This is the most efficient way of toggling between the values import itertools toggle = itertools . cycle ([ 'Male' , 'Female' ]) #next(toggle) try : cnx = mysql . connector . connect ( ** config ) cursor = cnx . cursor () #Let's insert ten rows to contactperson table for person in range ( 1 , 11 ): contactPersonID = person firstName = fake . first_name_male () #generate fake first name lastName = fake . last_name_male () #generate fake middle name middleName = fake . last_name_male () #generate fake last name dateOfBirth = fake . date () #generate fake DOB contactPersonType = next ( toggle ) #In SQL statement the values need to be enclosed within double quotes #I'm providing the same by explicity specifying double quotes and removing it's special meaning addContactPerson = \"INSERT INTO contactmanagerapplication.contactperson(\" \\ \"ContactPersonID, FirstName, MiddleName, LastName, DateOfBirth,\" \\ \"ContactPersonType)VALUES( {} , \\\" {} \\\" , \\\" {} \\\" , \\\" {} \\\" , \\\" {} \\\" , \\\" {} \\\" )\" . \\ format ( contactPersonID , firstName , lastName , middleName , dateOfBirth , contactPersonType ) cursor . execute ( addContactPerson ) cnx . commit () except mysql . connector . Error as err : if err . errno == errorcode . ER_ACCESS_DENIED_ERROR : print ( \"Something is wrong with your user name or password\" ) elif err . errno == errorcode . ER_BAD_DB_ERROR : print ( \"Database does not exist\" ) else : print ( err ) else : cursor . close () cnx . close () In the below code we select and display all the rows from the contactperson table. Once we have composed and executed the select query, we have to use the cursor object along with for loop to display all the rows. In line 19, we specify variable names that correspond to the attributes in the table contactperson . We then use these variable names to display the values. import mysql.connector from mysql.connector import errorcode config = { 'user' : 'root' , 'password' : 'mysql123' , 'host' : 'localhost' , 'database' : 'contactmanagerapplication' , 'raise_on_warnings' : True , } try : cnx = mysql . connector . connect ( ** config ) cursor = cnx . cursor () #Let's read all the rows in the table readContactPerson = \"select * from contactmanagerapplication.contactperson\" cursor . execute ( readContactPerson ) #specify the attributes that you want to display for ( contactPersonID , firstName , lastName , middleName , dateOfBirth , contactPersonType ) in cursor : print ( \" {} , {} , {} , {} , {} , {} \" . format ( contactPersonID , firstName , middleName , lastName , dateOfBirth , contactPersonID )) cnx . commit () except mysql . connector . Error as err : if err . errno == errorcode . ER_ACCESS_DENIED_ERROR : print ( \"Something is wrong with your user name or password\" ) elif err . errno == errorcode . ER_BAD_DB_ERROR : print ( \"Database does not exist\" ) else : print ( err ) else : cursor . close () cnx . close () </ pre > Below code asks the user to enter the contactPersonID number which needs to be deleted. Based on the value that the user has entered the related row gets deleted in the table. import mysql.connector from mysql.connector import errorcode config = { 'user' : 'root' , 'password' : 'mysql123' , 'host' : 'localhost' , 'database' : 'contactmanagerapplication' , 'raise_on_warnings' : True , } try : cnx = mysql . connector . connect ( ** config ) cursor = cnx . cursor () contactPersonID = input ( \"Enter the ContactPersonID to be deleted\" ) #Let's remove a row in contactperson table by specifying the contactPersonID deleteContactPerson = \"DELETE FROM contactmanagerapplication.contactperson where ContactPersonID = {} \" . format ( contactPersonID ) cursor . execute ( deleteContactPerson ) cnx . commit () except mysql . connector . Error as err : if err . errno == errorcode . ER_ACCESS_DENIED_ERROR : print ( \"Something is wrong with your user name or password\" ) elif err . errno == errorcode . ER_BAD_DB_ERROR : print ( \"Database does not exist\" ) else : print ( err ) else : cursor . close () cnx . close () Below code is used to update an attribute of a particular row based on user input. import mysql.connector from mysql.connector import errorcode from faker import Factory fake = Factory . create () config = { 'user' : 'root' , 'password' : 'mysql123' , 'host' : 'localhost' , 'database' : 'contactmanagerapplication' , 'raise_on_warnings' : True , } try : cnx = mysql . connector . connect ( ** config ) cursor = cnx . cursor () contactPersonID = input ( 'Enter the Contact Person ID whose records needs to be updated' ) firstName = fake . first_name_male () #generate fake first name #Let's update a row in contactperson table by specifying the contactPersonID updateContactPerson = \"UPDATE contactmanagerapplication.contactperson SET FirstName = \\\" {} \\\" WHERE ContactPersonID = {} \" . format ( firstName , contactPersonID ) cursor . execute ( updateContactPerson ) cnx . commit () except mysql . connector . Error as err : if err . errno == errorcode . ER_ACCESS_DENIED_ERROR : print ( \"Something is wrong with your user name or password\" ) elif err . errno == errorcode . ER_BAD_DB_ERROR : print ( \"Database does not exist\" ) else : print ( err ) else : cursor . close () cnx . close () Conclusion As you can see with few lines of Python code we can perform various database operations. You can find the source code for all the programs discussed @ https://github.com/gowrishankarnath/MySqlProgrammingWithPython","tags":"Articles","url":"https://www.gowrishankarnath.com/mysql-programming-with-python-using-mysql-python-connector.html","loc":"https://www.gowrishankarnath.com/mysql-programming-with-python-using-mysql-python-connector.html"},{"title":"Designing Database Schema Using MySQL Workbench","text":"Introduction This article is about designing Database schema using MySQL Workbench. MySQL Workbench helps us to create visual data model which can be translated into a physical database on the MySQL Database Server. For demonstration purpose we'll be designing an Contact Manager Application Database. This DB has four tables namely ContactPerson, Address, EmailAddress and PhoneNumber. I'll not be discussing various DB issues like Normalization, Entity-Relationship( ER )/Enhanced Entity-Relationship( EER ) models or SQL programming. Please refer to the various fine materials available. Below are few recommended textbooks: Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design Beginning Database Design: From Novice to Professional SQL in 10 Minutes, Sams Teach Yourself Learning SQL Head First SQL : Your Brain on SQL — A Learner's Guide Download the latest version of MySQL Database here . Make sure that you have downloaded the community edition of MySQL. Steps Involved In Designing Database Schema I presume that you already have a working copy of MySQL installed in your system. Step 1: Invoke MySQL workbench. That should look like the below screen. The top Window Pane displays MySQL Connections. There can be any number of MySQL instances. Here we have one instance of MySQL connection with root user. The bottom pane shows the Models that you have created. The right window pane shows shortcuts to various MySQL tools. We'll create Visual Data Models and then it'll be converted to the actual physical database schema on the MySQL database server. Remember, creation of Data Models doesn't mean that you have already created actual physical database schema. In the Models window pane click on the + sign. Step 2: You will see a screen as shown below. By default the DB schema is named as mydb. Let's change this. Double click on mydb in the Physical Schemas window pane. In the bottom window pane change the name from mydb to ContactManagerApplication. In the Refactor Schema windows click on OK button. Step 3: Double click on Add Table. Step 4: You will see the below screen. Step 5: Change the table name to ContactPerson. Also, fill the Column Name or attributes with various values with appropriate data types as shown in the below screen. Step 6: Add another table called Address and fill the Column Name with various values with appropriate data types as shown in the below screen. Step 7: Add another table called EmailAddress and fill the Column Name with various values with appropriate data types as shown in the below screen. Step 8: Add another table called PhoneNumber and fill the Column Name with various values with appropriate data types as shown in the below screen. Step 9: Click on Save button in the Menu bar. Save the data model as ContactManagerApplication in some folder. At this stage we have created all the tables for our schema and have saved the model. We have still not converted this model to actual physical database on MySQL database server. Lets' migrate these models to connect to MySQL Database. Step 10: Go to the menu bar and click on Database and select Forward Engineer. In the Forward Engineer to Database window, various parameters have been set. This depends on your configuration while installing MySQL database. I'm using the Local Instance of MySQL and root user. Leave the Default Schema blank. This forward engineering generates all the SQL code to create a physical database on the target server. Click on Next button. Give the Password for the root User and click on OK button. Click on Next button. In the window you can see the SQL script that has been generated by the MySQL workbench. You can review the script and save the script as a file and click on Next button. Again, give the Password for the root User and click on OK . Click on Close button. Step 11: From the previous step(Forward Engineering) we have generated the SQL script for our models. We'll use Reverse Engineering to connect the generated SQL script to the SQL Server database thereby creating the actual physical database on the SQL Server. Go to Database in the menu and click on Reverse Engineer. Again, you see the default parameters that are set and click on Next button. Give the Password for root User and click on OK button. Click on Next button. Now at this stage you can see the available list of various Database schemas. Select the contactmanagerapplication checkbox and click on Next button. Give Password for the root User and click on OK button. Click on Next button. Click on Execute button. Click on Next button. Click on Finish button. Step 12: An EER diagram will be automatically generated by the MySQL workbench. It shows the data model which we have created. Let's establish relation between various tables. Click on the highlighted button (which is an 1 to many relation) in the column bar. First click on the name on whose side the many relationship should come and then click on the name on whose side 1 relationship should come. For e.g., to establish 1 to many relationship between address table and contactperson table, first click on ContactPersonID in the address table and then click on ContactPersonID in the contactperson table. Repeat the above process between other tables to establish a relationship as shown below. Step 13: In the previous step, we have established the relationship between various tables as seen in the EER diagram. But this relationship is not reflected in the actual physical database schema which we have created. To do so, we have to synchronize between the actual physical database schema and the data model. Go to menu and click on Database and select Synchronize Model. When ever there is some changes done to the data model as seen in the EER diagram it won't get reflected automatically in the Database Schema. We have to synchronize the changes done to the data model as displayed in EER diagram with the Database Schema to see the changes. Click on Next button. Click on Next button. Enter the Password for root User. Click on OK button. Click on Next button. Select the checkbox and click on Next button. Click on Next button. The tool compares all aspects of the current data model with the actual physical MySQL Database schema and lists out the difference between the current data model and the actual physical Database schema. Click on Next button. You'll be able to see a sequence of SQL scripts. Click on execute button. Give the Password for root User and click on OK button. Click on close button. Step 14: To see whether the data model has been migrated to the MySQL database, go to menu and click on Database and select Connect to Database. Click on OK button. On the left pane you can see the contactmanagerapplication database schema and expand it see the list of tables. Conclusion I have shown the various steps involved in creating an Database Schema using MySQL workbench GUI without any coding. You can find MySQL Workbench file and SQL code for ContactManagerApplication Schema @ https://github.com/gowrishankarnath/MySQL_Workbench","tags":"Articles","url":"https://www.gowrishankarnath.com/designing-database-schema-using-mysql-workbench.html","loc":"https://www.gowrishankarnath.com/designing-database-schema-using-mysql-workbench.html"},{"title":"Generate Fake Data Programmatically Using Faker With Python","text":"Introduction Recently, I had a requirement to fill the database with some data. Filling the tables manually proved to be very tedious enough. So, I was looking for some software that could do the heavy lifting for me and also that could be used with Python natively. Voila!! After a bit of search came across this awesome software. FAKER Faker can be used to generate fake data which resembles the real world values rather than some gibberish values. Using FAKER With Python The following code has been tested using Python 3.5 on a Windows 10 machine. Type the below command in the Command Prompt to install Faker module. Let's start with a very simple example. Import the faker module and make use of the Factory Class. Use create() method to create an object called fake. Say, if you want to print a name then use the object fake along with name() method as shown below. from faker import Factory fake = Factory . create () print ( fake . name ()) Output Susan Craig You can even localize the names according to your preferences. For example, if you want to display name in Hindi (India), then pass the string argument \"hi_IN\" to create() method. from faker import Factory fake = Factory . create ( \"hi_IN\" ) print ( fake . name ()) Output रामशर्मा, निशा If you want to display 10 random currencies from faker import Factory fake = Factory . create () for i in range ( 10 ): print ( fake . currency_code ()) Output IDR TZS SZL TZS JOD MZN RSD HUF SZL USD You can randomly generate addresses using address() method. Below code is localized for \"en_US\" . from faker import Factory fake = Factory . create ( \"en_US\" ) for i in range ( 10 ): print ( fake . address ()) Output 84510 Cindy Trail Suite 830 South Jennifer, NC 08359 Unit 7559 Box 9529 DPO AE 67015 502 Thomas Points Apt. 560 Villarrealfurt, KY 87444 31098 Davis Road Suite 959 Conniemouth, NV 35490 918 Mark Lakes East Amyborough, IN 18369 4382 Shelly Run Suite 212 South Stevenmouth, OH 60501 29782 Karen Turnpike Apt. 373 Underwoodside, PA 50883 415 Andrews Canyon Kerrstad, AK 38784 5889 Michael Prairie Apt. 678 Masonchester, TX 67688 0629 Warren Islands Fullerburgh, DE 75136 You can generate various information about a person using different methods as shown below. from faker import Factory fake = Factory . create ( \"en_US\" ) print ( fake . last_name_male ()) print ( fake . name_female ()) print ( fake . prefix_male ()) print ( fake . prefix ()) print ( fake . name ()) print ( fake . suffix_female ()) print ( fake . name_male ()) print ( fake . first_name ()) print ( fake . suffix_male ()) print ( fake . suffix ()) print ( fake . first_name_male ()) print ( fake . first_name_female ()) print ( fake . last_name_female ()) print ( fake . last_name ()) print ( fake . prefix_female ()) King Natasha Oliver Mr. Mr. Michael Conley MD James Ferrell Stacy DVM MD Paul Danielle Cook Taylor Dr. You can read various methods available in Faker Module in detail @ https://faker.readthedocs.io/en/master/# You can find the above code @ https://github.com/gowrishankarnath/FakerPythonExamples","tags":"Articles","url":"https://www.gowrishankarnath.com/generate-fake-data-programmatically-using-faker-with-python.html","loc":"https://www.gowrishankarnath.com/generate-fake-data-programmatically-using-faker-with-python.html"},{"title":"Using pytest Testing Tool to test Python Code by Configuring PyCharm IDE","text":"Introduction The aim of this article is to bring all the related information of configuring the PyCharm IDE with pytest Testing Tool in one place. Here, I'll not dwell deep into how testing is done in Python. But I'll discuss the proper way of configuring PyCharm IDE with pytest testing tool to get the things up and running. This article is tested on a Windows 10 machine running PyCharm Professional Edition 4.5 with Python 2.7.9 interpreter. Background PyCharm is a popular IDE for Python Programming. More information about PyCharm can be obtained at https://www.jetbrains.com/pycharm/ . As a rule, the code we develop should be thoroughly tested before its release. Testing is a very important topic and has been discussed in great detail in the fine material. More information about pytest testing tool can be obtained at http://pytest.org/. To gain more knowledge about testing techniques in general please refer to below books. Clean Code: A Handbook of Agile Software Craftsmanship Agile Testing: A Practical Guide for Testers and Agile Teams Software Testing: A Craftsman's Approach, Fourth Edition Pragmatic Unit Testing in Java 8 with JUnit Practical Unit Testing with JUnit and Mockito Effective Unit Testing: A guide for Java developers The Art of Unit Testing: with Examples in . NET Even though some of these books target other programming languages, still the knowledge that you gain from reading these books can be applied to Python Testing also. Steps Involved in Configuring PyCharm to work with pytest Testing Tool Here I assume that you have already configured your PyCharm IDE to run Python Interpreter. If not, you can download anaconda from https://www.anaconda.com/distribution/ and use it to configure the Python interpreter in PyCharm IDE . Step 1: In order to follow this tutorial, create a folder called PyArticle in C: drive. Install pytest testing tool using pip command as shown below. Step 2: Invoke PyCharm IDE and go to File -> New Project. Specify the path to the folder you created and also specify the name of the project. In our case the name of the project is TestExample. Press Create button. This takes you to the PyCharm editor. Step 3: Right Click on TestExample folder on the left pane of the PyCharm editor. Select New -> Python File Step 4: Give the file name as add_two_numbers Step 5: Write the below given code in add_two_numbers.py file. This is a very simple code that adds up two numbers and returns the result. Step 6: Now go to File -> Settings Step 7: In the Settings window, click on Python Integrated Tools in the right pane and select py.test as the Default test runner. Click on OK button. Step 8: Now right click on TestExample directory and select New -> Directory. Step 9: Enter the directory name as Tests. We will have all our test files in a separate directory which is a good practice. Step 10: Right click on Tests directory and select New -> Python File. Step 11: Give the file name as test_add_two_numbers and click OK . Step 12: Write the below code in test_add_two_numbers.py file. Notice that the word test_ has been prefixed for the test method. All test methods should start with test_. This is a very important step in the configuration and if the test method doesn't start with test_ then you won't be able to get proper output. assert is used to check whether the condition is True or False. Step 13: Go to Run -> Edit Configurations. Step 14: In the Run/Debug Configurations window click on the + button found on the upper left corner. Go to Python tests and select py.test. Click OK button. Step 15: On the left pane you can see Python tests is created. In the right pane for the Name text box give the value as py.test in test_add_two_numbers.py You should always prefix the Python test file name with the words py.test in. For the Target text box specify the path to the Python test file. For the Working directory text box specify the path to the directory which has the Python test files. Click on OK button. Step 16: Right click on the Python test file and select Run. As you can see in the Test Results the green color indicates that the test has successfully passed. Step 17: What if you want to specify more than one test method? Lets find out the process to achieve the same. Create another python file called multiply_two_numbers and fill it up with the code shown below. Create another Python test file called test_queue_example. Fill it up with the code shown below. While configuring the Python test file as shown in Step 13 – 15 check the Options check box and give the value as -q . Here q stands for queue. Click on OK button after all the configurations are done. Now right click on the latest test file and run. As you can see one test got passed while the other got failed. Change the code in test_queue_example as shown below and run the test program again. You can see that both the tests have passed. Happy Coding!!! Points of Interest Testing our code is a very important aspect of software development. Using testing tools like pytest along with PyCharm IDE goes in a long way in developing quality code.","tags":"Articles","url":"https://www.gowrishankarnath.com/using-pytest-testing-tool-to-test-python-code-by-configuring-pycharm-ide.html","loc":"https://www.gowrishankarnath.com/using-pytest-testing-tool-to-test-python-code-by-configuring-pycharm-ide.html"}]};