Welcome to Engineering Python.
This is a Python programming course for engineers.
In this video, I'll give you a brief overview of this course.
As computers are being increasingly used in a variety of engineering and science disciplines,
people with programming skills are in great need in various industries.
A basic understanding of computer programming is a necessity in nearly every engineering
field.
This course provides an introduction to computer programming, with an emphasis on its applications
in engineering.
Hopefully, it will quickly bring beginner students with little prior programming background
to a level where they can use computing to assist the learning of their other math and
engineering method courses.
It is also my hope that students will be able to use the knowledge they have gained to analyze
data for lab reports and capstone projects, and to showcase their qualification when they
are involved in faculty members' research or when they later get a job.
This course focuses on teaching a single programming language, Python.
This concentration allows students to gain a deeper understanding of its full capability.
But out of hundreds of programming languages, why do we select Python?
This is because Python is a popular object-oriented generic programming language that is especially
suitable for modern software design.
According to the TIOBE Index, which measures the popularity of programming languages, Python
is ranked No. 4 as of December 2017, following Java, C, and C++.
According to IEEE Spectrum, the 2017 Top Programming Languages, Python jumps to No. 1.
This ranking focuses more on the engineering applications.
The third website is the Top Programming Languages.
Again, Python is ranked No. 1.
This website also gives the difficulty levels and average salaries for each programming
language.
For example, Java's difficulty level is 3 out of 5, and the average salary is $102,000.
C is the same as Java.
The difficulty level is 3 and the average salary is $102,000.
C++ is a very difficult language.
The difficulty level is 5, and the salary is $104,000.
Python, however, is very easy to learn.
The difficulty level is 1 and the average salary is $107,000, which is higher than other
programming languages.
If it still doesn't convince you, let's continue to the ACM website.
It shows Python bumps off Java as the top learning language.
Eight out of the top 10 universities now use Python to introduce programming.
KDNuggets, which covers the news in the field of Business Analytics, Data Mining, and Data
Science, reports that Python overtakes R and becomes the leader in Data Science and Machine
Learning platforms.
So, that is why we pick Python as the programming language to teach in this course.
Indeed.com, which is one of the most popular job-listing websites in the United States,
has listed many jobs that require Python programming skills.
This figure is generated using Indeed Job Trends.
The figure shows a growing demand for new employees with Python programming skills.
Let's go to this website.
The listed salaries range from $80,000 to $130,000.
Most of them are full time jobs, although there are also some part-time and internship
jobs.
Amazon is hiring now.
Apple is hiring.
Google, IBM, Oracle, JP Morgan Chase, Lockheed Martin, and many others.
There are entry-levels jobs, mid-level jobs, and senior-level jobs.
Python is still an evolving programming language.
Many volunteers are contributing their time and effort to make it better every day.
If you are interested in the latest development in the Python community, you can visit these
websites.
PyCon is an international Python conference.
It attracts thousands of developers to this event every year.
PyData has organized many great talks about data management, processing, analytics, and
visualization using Python.
In this inspiring YouTube video, you can see what the creators of Facebook, Microsoft,
Apple, Twitter, Dropbox, Valve, and an NBA All-Star say about why everyone should learn
computer programming.
In another YouTube video, you can find the answers to these questions: What is Python?
Who invented Python?
Which companies are using Python?
What are the advantages over Java, C, C++, C#, and other programming languages?
This course doesn't necessarily require a textbook.
But I personally find the following two books very useful.
The first one is Python Programming: An Introduction to Computer Science by John Zelle.
The second one is Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
by Wes McKinney.
Due to the popularity of Python, there are plenty of free resources on the Internet.
Some of the creative commons open source materials will be introduced in this course.
The course can be divided into two parts.
In Part I, I'll introduce basic Python syntax and programming principles.
The contents include introduction to Python programming, integer and float numbers, the
math library, strings, lists, text files, tuples, dictionaries, sets, functions, boolean
operations, decision control, exception handling, for and while loops, random numbers, Monte
Carlo simulation, classes, and Object-Oriented Programming, which is commonly known as OOP.
In Part II, I'll introduce more advanced Python libraries and packages, including NumPy for
matrix and linear algebra, SymPy for calculus and symbolic operations, MatPlotLib for data
visualization, Pandas for data analysis and statistics, PyQt and Qt Designer for Graphical
User Interface, or GUI programming, SciPy and PuLP for optimization, Scikit-Learn for
machine learning, SQLite for database programming, NetworkX and Gephi for social network analysis.
The intended audience of this course includes undergraduate and graduate students in an
engineering major, other students who need an overview of the main topics in Python programming,
and professional programmers in various industries.
It does not really need many prerequisites to learn Python other than your interests.
Some of the advanced libraries and packages may require a basic understanding of algebra,
calculus, probability, and statistics.
Prior programming experience is not required.
A little bit about myself.
My name is Yong Wang, I am an Assistant Professor at Binghamton University in the United States
of America.
So far, I have 20 years of computer programming experience, 10 years of Python programming
experience, and 5 years of experience in teaching Python.
My experience in teaching Engineering Python at Binghamton University has been published
in this journal paper titled Computer programming with Python for industrial and systems engineers:
Perspectives from an instructor and students.
The other two co-authors were undergraduate students in my class.
I use Python on a daily basis in my own research.
You can find more about my information on this web site.
Okay, that is a brief overview of this Engineering Python course.
The course materials are available on YouTube and GitHub.
You can watch the course videos in sequence.
If you like this video, please subscribe and share.
I'm Yong Wang.
Thank you for watching.