Summer Training in Python Programming
Summer Training in Python Programming
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
Page 4 of 19
Data Analysis with Python
Page 5 of 19
Table of Contents
1 Executive Summary
4 Company’s Profile
5 Training Details
6 Skills Acquired
7 Challenges Faced
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'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
• 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.
Page 9 of 19
Company Profile
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:
[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 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.
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.
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
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
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.
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