0% found this document useful (0 votes)
21 views19 pages

Summer Training in Python Programming

The summary provides an overview of the student's completion of two online courses from FreeCodeCamp on scientific computing and data analysis with Python. The courses covered topics like Python programming, scientific computing libraries, data manipulation with pandas, data visualization, and statistical analysis. The intensive training helped the student gain valuable skills in Python and data analysis that will be useful for future endeavors.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views19 pages

Summer Training in Python Programming

The summary provides an overview of the student's completion of two online courses from FreeCodeCamp on scientific computing and data analysis with Python. The courses covered topics like Python programming, scientific computing libraries, data manipulation with pandas, data visualization, and statistical analysis. The intensive training helped the student gain valuable skills in Python and data analysis that will be useful for future endeavors.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Maharaja Surajmal Institute

Affiliated to GGSIP University NAAC ‘A’ Accredited

Summer Training Report


(July 3 - August 3)

Scientific Computing with Python


(July 3 - July 15)

Data Analysis with Python


(July 21 - August 3)

Submitted By: Submission Date:


Shresth Jain October 16, 2023
00421202021

Page 1 of 19
Acknowledgement

I acknowledge with immense gratitude the invaluable opportunity I have had to complete my
summer training courses, "Scientific Computing with Python" and "Data Analysis with Python",
offered by FreeCodeCamp.

I would like to express my sincere thanks to the entire team of FreeCodeCamp for their constant
support, guidance, and encouragement throughout the duration of these courses. Their
comprehensive curriculum and practical approach to teaching have been instrumental in enhancing
my understanding of Python and its applications in Scientific Computing and Data Analysis.

I am also grateful for the interactive learning environment provided by FreeCodeCamp, which has
significantly contributed to my learning experience. The well-structured modules, informative video
tutorials, and hands-on projects have not only enriched my knowledge but also honed my practical
skills.

Lastly, I would like to extend my gratitude towards my friends for their constructive feedback and
collaborative learning approach, which has fostered a conducive learning environment.

This training has been an enriching experience, and I am confident that the knowledge and skills
acquired will be invaluable in my future endeavours. I look forward to applying these learnings in
real-world scenarios and making meaningful contributions to the field of Python programming.

-----------------
Shresth Jain

Page 2 of 19
Declaration

I, Shresth Jain, hereby declare that the summer training report titled "Scientific Computing with
Python" and "Data Analysis with Python" is a record of original work done by me under the
guidance of the team at FreeCodeCamp.

I further declare that this report is a true representation of my understanding, effort, and dedication
during the summer training period.

I also declare that I have adhered to all guidelines and norms set by FreeCodeCamp during the
course of my training.

-----------------
Shresth Jain

Page 3 of 19
Certificate of Completion

Scientific Computing with Python

Page 4 of 19
Data Analysis with Python

Page 5 of 19
Table of Contents

S. No. Contents Page No.

1 Executive Summary

2 Introduction to Training Organisation

3 Objectives and Scope of Training

4 Company’s Profile

5 Training Details

6 Skills Acquired

7 Challenges Faced

8 Learnings and Achievements

9 Conclusion

Page 6 of 19
Executive Summary

This report provides a detailed account of the summer training undertaken by the student, which
encompassed the successful completion of two online courses from FreeCodeCamp: Scientific
Computing with Python and Data Analysis with Python.

The first course, Scientific Computing with Python, was undertaken from July 3 to July 15. It
was created by Dr. Charles Severance (a.k.a. Dr. Chuck), a Clinical Professor at the University of
Michigan School of Information. This course served as a comprehensive introduction to the Python
programming language, with a specific focus on its application in scientific computing. The
curriculum was designed to cover a broad spectrum of topics including, but not limited to, data
structures, control flow, functions, and error handling. A significant portion of the course was
dedicated to exploring scientific computing libraries such as NumPy and SciPy. These libraries are
integral for performing complex mathematical operations on large data sets. The knowledge and
skills acquired from this course have equipped the student with a solid foundation in Python and its
application in scientific computing.

The second course, Data Analysis with Python, from July 21 to August 3. This course was
centred around harnessing the power of Python for data analysis. It covered a wide range of relevant
topics such as importing, cleaning, manipulating, and visualising data. The student learned how to
utilise pandas for data manipulation and seaborn for data visualisation. Furthermore, the course
provided an introduction to statistical analysis and machine learning techniques using scikit-learn.
These skills are particularly valuable in today's world where data-driven decision making is
paramount.

Both courses were intensive in nature, demanding a significant commitment of time and effort from
the student. However, they provided invaluable skills that are highly sought after in various industries
today. These valuable skills will undoubtedly serve me well in my future endeavours.

Page 7 of 19
Introduction to the Training Organisation

FreeCodeCamp is a non-profit organisation that aims to make learning software development


accessible to anyone. It offers a free online interactive learning platform, an online community
forum, chat rooms, online publications and local organisations where learners can connect and
collaborate with each other. FreeCodeCamp's mission is to help millions of busy adults transition into
tech careers by providing them with high-quality education and certification in web development and
machine learning.

FreeCodeCamp's core curriculum consists of six certifications that cover the fundamentals of web
development, such as HTML, CSS, JavaScript, React, [Link], MongoDB, and more. Each
certification requires completing a series of challenges and five projects that demonstrate the
learner's skills and knowledge. The certifications are self-paced and can be completed in any order.
Learners can also earn professional certifications in topics such as data analysis, information security,
quality assurance, scientific computing, and TensorFlow.

FreeCodeCamp also prepares learners for the developer job market by providing them with coding
interview prep courses, project Euler challenges, and career advice articles. Learners can showcase
their work on their FreeCodeCamp profile and portfolio, as well as on GitHub and LinkedIn.
FreeCodeCamp also helps learners find local study groups and events where they can network and
learn from other developers.

FreeCodeCamp is run by a donor-supported nonprofit that relies on the generosity of individuals and
organisations who share its vision of creating a world where anyone can learn to code for free.
FreeCodeCamp also welcomes contributions from its community members who want to help improve
its platform, curriculum, publications, or translations. FreeCodeCamp is open source and its
codebase is available on GitHub.

FreeCodeCamp is more than just a training organisation. It is a friendly community where learners
can discover their passion for coding, build their skills and confidence, and achieve their career goals.
If you are interested in joining FreeCodeCamp, you can sign up for free on its website and start your
learning journey today.

Page 8 of 19
Objectives & Scope of Training

The main objectives of the summer training are:

• To learn the fundamentals of programming with Python, a popular and versatile language that
can be used for various applications, such as web development, data analysis, machine learning,
and more.
• To gain hands-on experience with the PyData stack, a collection of open source libraries that
enable efficient and effective data manipulation, processing, and visualisation with Python. These
libraries include NumPy, Pandas, Matplotlib, and Seaborn.
• To apply the skills and knowledge acquired from the training to real-world data sets and
problems, and to create meaningful and insightful reports and visualisations.
• To demonstrate the ability to work independently and collaboratively on data analysis projects,
and to communicate the results clearly and professionally.

The scope of the training covers the following topics:

Course 1: Scientific Computing with Python


• Python basics: variables, data types, operators, expressions, statements, loops, conditionals,
functions, modules, etc.
• Data structures: lists, tuples, dictionaries, sets, etc.
• Object-oriented programming: classes, objects, inheritance, polymorphism, etc.
• File handling: reading and writing files, CSVs, JSONs, etc.
• Networking: sockets, HTTP requests and responses, APIs, web scraping, etc.
• Databases: SQL queries, SQLite3 module, etc.
• Regular expressions: pattern matching, searching, replacing, etc.
• Data visualisation: Matplotlib library, line plots, bar charts, pie charts, histograms, scatter plots,
etc.

Course 2: Data Analysis with Python


• Jupyter Notebook: an interactive web-based environment for data analysis and visualisation
• NumPy: a library for working with multidimensional arrays and matrices
• Pandas: a library for data manipulation and analysis.
• Data cleaning: handling missing values, duplicates, outliers, etc.
• Data transformation: indexing, slicing, filtering, grouping, aggregating, merging, reshaping, etc.
• Data visualisation: Seaborn library, box plots, violin plots, swarm plots, heat maps, correlation
matrices, pair plots, regression plots, etc.

Page 9 of 19
Company Profile

Organization Name: FreeCodeCamp

History:
FreeCodeCamp is a globally recognised non-profit organisation founded in October 2014 by Quincy
Larson. It originated as an online platform with the aim of providing high-quality, accessible, and
free coding education to individuals around the world. Quincy Larson, the founder, started this
initiative with the belief that coding skills should be accessible to everyone, regardless of their
background or financial resources.

Mission:
FreeCodeCamp's mission is to empower people with the skills they need to thrive in the digital age.
Their primary focus is on promoting self-paced, hands-on learning, and fostering a strong and
supportive community of learners. FreeCodeCamp is dedicated to making coding education
accessible, effective, and enjoyable for all, with the ultimate goal of helping individuals land fulfilling
careers in technology.

Services:
FreeCodeCamp offers a comprehensive range of services and resources to support learners on their
coding journey:

i. Free, Self-Paced Curriculum: FreeCodeCamp provides a structured and extensive curriculum


that covers web development, data science, and other coding disciplines. This curriculum
includes interactive coding challenges, projects, and certifications.

[Link] Challenges: Learners can practice their coding skills through a wide variety of coding
challenges that range in complexity, allowing them to progressively build their skills.

[Link] Learning: FreeCodeCamp offers an interactive coding platform that allows users
to code directly within their web browser, making learning convenient and hassle-free.

[Link]: Upon completing sections of the curriculum and successfully passing challenges
and projects, learners receive certificates that validate their skills and accomplishments.

v. Community and Support: FreeCodeCamp has a vibrant online community where learners
can connect with fellow coders, seek help, and share knowledge. This community spirit fosters
collaboration and encourages learners to overcome challenges together.

[Link] Channel and Podcast: They offer a YouTube channel and a podcast where they
share coding tutorials, interviews with industry experts, and valuable insights into the world of
technology.

Page 10 of 19
Location and Size:
FreeCodeCamp is a decentralised organisation with team members and volunteers located all around
the world. The organisation does not have a centralised physical office. Instead, it operates primarily
through its website and online platforms, which are accessible globally.

The size of the FreeCodeCamp community is vast, with millions of learners and contributors
participating in the program. This global reach allows FreeCodeCamp to fulfil its mission of
providing free coding education to a diverse and extensive audience.

Conclusion:
FreeCodeCamp has emerged as a beacon of accessible education in the technology sector,
democratising coding skills and fostering a global community of enthusiastic learners. Through its
free, self-paced curriculum, interactive learning platform, and strong commitment to inclusivity,
FreeCodeCamp continues to empower individuals worldwide to embark on successful careers in
technology.

Page 11 of 19
Training Details

Course 1: Scientific Computing with Python


Provider: FreeCodeCamp
Duration: July 3 to July 15, 2023

Course Overview:
The "Scientific Computing with Python" course offered by FreeCodeCamp is designed to provide
participants with a comprehensive understanding of scientific computing using the Python
programming language. The course covers various technologies, tools, and methodologies to equip
students with the skills necessary for scientific data analysis and computation.

Technologies and Tools:


• Python Programming Language: Python is the primary programming language used
throughout the course. Python is renowned for its simplicity, versatility, and a wide array of
libraries and frameworks suitable for scientific computing.
• NumPy: NumPy is a fundamental library for numerical computations in Python. It provides
support for arrays, matrices, and mathematical functions, making it essential for scientific
computing.
• SciPy: SciPy builds upon NumPy and provides additional tools and libraries for scientific and
technical computing. It includes modules for optimisation, signal processing, integration, and
more.
• Matplotlib: Matplotlib is used for creating data visualisations, including plots, charts, and
graphs. It is essential for representing scientific data effectively.
• Pandas: Pandas is a library for data manipulation and analysis. It is used extensively for
handling datasets, data cleaning, and data transformation.
• Jupyter Notebooks: Jupyter Notebooks are interactive web-based environments for running
Python code, documenting results, and creating reports. They are commonly used in scientific
computing for their ease of use and data exploration capabilities.

Methodologies:
• Hands-on Learning: The course emphasises a hands-on approach, allowing participants to
actively apply what they learn. Practical exercises and projects are integrated into the curriculum
to reinforce concepts.
• Problem-Solving: Participants are encouraged to tackle real-world scientific problems using
Python. They learn how to translate scientific questions into computational tasks and develop
solutions.
• Collaborative Learning: Collaboration is encouraged through group projects and discussions.
Participants work together to solve problems and share insights, fostering a collaborative learning
environment.
• Project Work: The course typically includes a final project where participants apply their skills
to solve a specific scientific problem. This project allows them to showcase their abilities and gain
experience in addressing real-world challenges.

Page 12 of 19
Course 2: Data Analysis with Python
Provider: FreeCodeCamp
Duration: July 21 to August 3, 2023

Course Overview:
The "Data Analysis with Python" course offered by FreeCodeCamp focuses on equipping
participants with the skills necessary to analyse and manipulate data using Python. It covers a wide
range of data analysis techniques and tools.

Technologies and Tools:


• Python Programming Language: Similar to the first course, Python is the primary language
used for data analysis due to its extensive libraries and tools for this purpose.
• Pandas: Pandas is a core tool for data manipulation, cleaning, and transformation. Participants
learn how to efficiently work with large datasets.
• Matplotlib and Seaborn: These libraries are used for data visualisation, helping participants
create meaningful charts and graphs to communicate their findings effectively.
• Jupyter Notebooks: Jupyter Notebooks are used for interactive data analysis and reporting.
Participants learn to create data analysis reports with code and visualisations.
• Scikit-Learn: This machine learning library is introduced to provide an understanding of basic
machine learning techniques and data modelling.

Methodologies:
• Data Exploration: Participants learn how to explore datasets, identify patterns, and gain
insights from data using Python's data manipulation and visualisation tools.
• Data Cleaning: A significant part of the course focuses on data cleaning and preprocessing,
teaching students how to handle missing data, outliers, and other data quality issues.
• Statistical Analysis: Basic statistical analysis techniques are introduced to enable participants
to make data-driven decisions and draw meaningful conclusions.
• Machine Learning: While not a comprehensive machine learning course, participants are
introduced to the basics of machine learning, including data splitting, model training, and
evaluation.
• Project-based Learning: Similar to the first course, participants engage in practical, project-
based learning to apply their data analysis skills to real-world problems.

Page 13 of 19
Skills Acquired

Course 1: Scientific Computing with Python


Course 2: Data Analysis with Python

During the summer of 2023, I completed two online courses from FreeCodeCamp: Scientific
Computing with Python and Data Analysis with Python. These courses helped me to learn and
practice various skills related to Python programming, data science, and scientific computing. In this
report, I will discuss the technical and soft skills that I gained from these courses.

Technical Skills:
• Python Programming: I learned the basics of Python syntax, data structures, functions,
classes, modules, and packages. I also learned how to use Python for web development, web
scraping, automation, testing, and debugging.
• Data Science: I learned how to use Python libraries such as NumPy, pandas, matplotlib,
seaborn, and scikit-learn for data analysis and visualisation. I learned how to perform data
cleaning, manipulation, exploration, and interpretation. I also learned how to apply various
statistical and machine learning techniques such as linear regression, logistic regression, k-means
clustering, decision trees, random forests, and neural networks.
• Scientific Computing: I learned how to use Python libraries such as SciPy, SymPy, and
iPython for scientific computing. I learned how to perform numerical computation, symbolic
computation, and interactive computing. I also learned how to use Jupyter Notebook for creating
and sharing documents that contain live code, equations, visualisations, and explanations.

Soft Skills:
• Problem-Solving: I learned how to approach and solve various problems using Python. I
learned how to break down complex problems into smaller and simpler subproblems. I learned
how to use algorithms, data structures, and design patterns to optimise the efficiency and
readability of my code.
• Creativity: I learned how to use Python for creating various projects that showcase my
creativity and skills.
• Critical Thinking: The training encouraged critical thinking and problem-solving. I learned to
approach challenges systematically and devise innovative solutions.
• Analytical Thinking: The data analysis program, in particular, sharpened my ability to analyse
complex datasets, identify trends, and draw meaningful insights.

Page 14 of 19
Challenges Faced

Course 1: Scientific Computing with Python

Challenge 1: Complex Mathematical Concepts


• One of the initial challenges in the "Scientific Computing with Python" course was
understanding and applying complex mathematical concepts in practical Python programming.
Concepts like numerical integration, differential equations, and linear algebra were daunting.
• Overcoming: I overcame this challenge by seeking additional resources. I watched online
tutorials, read textbooks, and sought help from fellow students and instructors. Additionally, I
practiced solving mathematical problems using Python libraries like NumPy and SciPy to
reinforce my understanding.

Challenge 2: Time Management


• The course schedule was intensive, covering a wide range of topics in a relatively short time.
Balancing coursework with personal commitments and other responsibilities was challenging.
• Overcoming: I implemented effective time management techniques, creating a daily schedule
that allocated specific time blocks for studying and completing assignments. This helped me stay
on track and meet deadlines.

Challenge 3: Debugging Complex Code


• Working on real-world scientific computing projects often involved dealing with complex, lengthy
code. Debugging and troubleshooting errors in such code could be time-consuming and
frustrating.
• Overcoming: I improved my debugging skills by utilising Python's debugging tools, such as print
statements and debugging libraries like pdb. I also learned to break down complex code into
smaller, manageable sections, making it easier to identify and fix errors.

Course 2: Data Analysis with Python

Challenge 1: Handling Large Datasets


• In the "Data Analysis with Python" course, we frequently worked with large datasets that posed
challenges in terms of memory usage and processing speed, especially on personal computers.
• Overcoming: To handle large datasets efficiently, I learned to use data chunking techniques,
which involved processing data in smaller segments. Additionally, I explored cloud computing
platforms like Google Colab, which provided access to more powerful hardware resources.

Challenge 2: Advanced Data Visualisation


• Creating advanced data visualisations with Matplotlib and Seaborn required a deep
understanding of these libraries, which I initially found challenging.
• Overcoming: I dedicated time to studying Matplotlib and Seaborn documentation, and I also
explored online tutorials and examples. I practiced creating various types of plots and charts,
which improved my visualisation skills over time.

Page 15 of 19
Challenge 3: Balancing Theory and Practice
• Data analysis involves both theoretical concepts and practical application. Striking the right
balance between theory and hands-on practice was sometimes tricky.
• Overcoming: I made sure to not only understand the theoretical concepts but also apply them
immediately through practical exercises and projects. This approach allowed me to solidify my
knowledge while gaining practical experience.

Page 16 of 19
Learning Achievements

During the summer training, I completed two online courses from FreeCodeCamp: Scientific
Computing with Python and Data Analysis with Python. These courses helped me to learn the
fundamentals of Python programming, as well as how to use various libraries and tools for scientific
and data analysis.

Scientific Computing with Python:


This course consisted of five modules: Python for Everybody, Introduction to Python Development,
Scientific Computing with Python Projects, Data Analysis with Python Projects, and Machine
Learning with Python Projects. Each module had a series of video lectures, interactive exercises,
quizzes, and projects.

Some of the topics that I learned in this course are:


• Basic syntax, data types, operators, control structures, functions, and modules in Python.
• Object-oriented programming, inheritance, polymorphism, and exception handling in Python.
• How to use built-in and external libraries such as math, random, datetime, requests,
BeautifulSoup, NumPy, pandas, matplotlib, and scikit-learn in Python.
• How to perform web scraping, data cleaning, data manipulation, data visualisation, and data
analysis using Python.
• How to apply various machine learning algorithms such as linear regression, logistic regression,
k-means clustering, decision trees, random forests, support vector machines, and neural networks
using Python.

Data Analysis with Python:


This course consisted of four modules: Numpy Fundamentals, Pandas Fundamentals, Data
visualisation Fundamentals, and Data Analysis with Python Projects. Each module had a series of
video lectures, interactive exercises, quizzes, and projects.

Some of the topics that I learned in this course are:


• How to use NumPy arrays and operations for efficient numerical computation in Python.
• How to use pandas Series and DataFrame objects for data manipulation and analysis in Python.
• How to use matplotlib and seaborn libraries for data visualisation in Python.
• How to perform exploratory data analysis, hypothesis testing, correlation analysis, regression
analysis, and classification analysis using Python.

Page 17 of 19
Achievements

Page 18 of 19
Conclusion

The summer training was a valuable and rewarding experience for me. I learned a lot of new skills
and knowledge in the field of scientific computing and data analysis with Python. I also gained
confidence and motivation to pursue further learning and career opportunities in this domain.

The courses from FreeCodeCamp were well-designed and engaging. They provided a comprehensive
and practical introduction to Python programming, as well as various libraries and tools for scientific
and data analysis. The projects were challenging and fun, and they allowed me to apply what I
learned to real-world problems and datasets. The feedback and support from the instructors and the
community were helpful and encouraging.

The summer training has enhanced my understanding and appreciation of the power and potential
of Python as a versatile and useful language for scientific computing and data analysis. It has also
inspired me to explore more advanced topics and applications of Python in the future. I am grateful
for this opportunity and I would recommend it to anyone who is interested in learning Python.

Page 19 of 19

You might also like