forked from yongtwang/engineering-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
213 changed files
with
93,359 additions
and
0 deletions.
There are no files selected for viewing
239 changes: 239 additions & 0 deletions
239
01_Engineering_Python_Course_Overview/01_Engineering_Python_Course_Overview.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,239 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Engineering Python Course Overview" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Introduction" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- Computers are being increasingly used in almost every engineering and science discipline.\n", | ||
"- Computer programming has become an important skill that is highly desired by employers in various industries.\n", | ||
"- This course introduces computer programming, with an emphasis on its applications in engineering.\n", | ||
"- It swiftly brings novice students to a level where they can use the programming skills to (1) assist the learning of other math and engineering methodology courses, (2) analyze data for lab reports, capstone projects, and (3) showcase their qualification when they are involved in faculty members' research or when they get a job." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Why Python?" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- This course focuses on teaching and solidifying a foundation for a single programming language, Python. This concentration allows students to gain a deeper understanding of its full capabilities.\n", | ||
"- Python is an object-oriented generic programming language that is specially suited for modern software design.\n", | ||
"- [TIOBE Index](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html): Popularity of programming languages\n", | ||
"- [IEEE Spectrum](http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages): The 2017 top programming languages\n", | ||
"- [TopProgrammingLanguages](http://www.topprogramminglanguages.com/): Programming languages: Difficulty levels and salaries\n", | ||
"- [Association for Computing Machinery (ACM)](http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext):\n", | ||
" - Python bumps off Java as top learning language\n", | ||
" - Eight out of the top 10 universities now use Python to introduce programming\n", | ||
"- [KDNuggets Poll](https://www.kdnuggets.com/2017/08/python-overtakes-r-leader-analytics-data-science.html): Python overtakes R, becomes the leader in Data Science, Machine Learning platforms" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Job Outlook" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- [Job Outlook](http://www.indeed.com/jobs?q=python): Jobs requiring Python programming skills on Indeed.com\n", | ||
"<img src=\"images/indeed_job_trends.png\" alt=\"Indeed Job Trends\", style=\"width: 600px;\"/>" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Python Community" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- [PyCon](https://en.wikipedia.org/wiki/Python_Conference): The Python Conference\n", | ||
"- [PyData](https://pydata.org/): Talks about data management, processing, analytics, and visualization\n", | ||
"- [Why should we learn computer programming?](https://www.youtube.com/watch?v=IoPx_rSicrM&ab_channel=SmartMtech) See what the creators of Facebook, Microsoft, Apple, Twitter, Dropbox, Valve, and an NBA All-Star say about programming\n", | ||
"- [What is Python?](https://www.youtube.com/watch?v=G8brQdClo9s) Who invented Python? Which companies use Python? What are the advantages over Java, C, C++, and C#?" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Textbooks and Resources" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- Python Programming: An Introduction to Computer Science, 3rd Edition. Author: John Zelle. Publisher: Franklin, Beedle & Associates Inc. (2017)\n", | ||
"- Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. Author: Wes McKinney. Publisher: O'Reilly Media (2012).\n", | ||
"- Due to the popularity of Python, abundant documents and learning materials are available on the Internet. Some of the creative commons/open source materials will be introduced in this course." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Course Outline" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"**Part I: Basic Python syntax and programming principles**" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- Introduction to Python programming\n", | ||
"- Numbers (int and float) and the math library\n", | ||
"- Strings, lists, and files\n", | ||
"- Tuples, dictionaries, and sets\n", | ||
"- Functions\n", | ||
"- Boolean operations (conditions)\n", | ||
"- Decision control\n", | ||
"- Exception handling\n", | ||
"- Loops (for and while)\n", | ||
"- Random numbers and Monte Carlo simulation\n", | ||
"- Classes and Object-Oriented Programming (OOP)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"**Part II: Advanced libraries and packages**" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- NumPy (matrix and linear algebra)\n", | ||
"- SymPy (calculus and symbolic operation)\n", | ||
"- MatPlotLib (data visualization)\n", | ||
"- Pandas (data analysis and statistics)\n", | ||
"- PyQt and Qt Designer (GUI programming)\n", | ||
"- SciPy and PuLP (optimization)\n", | ||
"- Scikit-Learn (machine learning)\n", | ||
"- SQLite (database programming)\n", | ||
"- NetworkX and Gephi (social network analysis)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Target Audience" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- Undergraduate and graduate students in an engineering major\n", | ||
"- Other students who need an overview of the main topics in Python programming\n", | ||
"- Professional programmers in various industries" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Prerequisites" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- Interests in Python programming\n", | ||
"- Basics in algebra, calculus, probability, and statistics\n", | ||
"- Prior programming experience is not required" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### About Me" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- About Me: http://binghamton.edu/seorl\n", | ||
" - Yong Wang, PhD, Assistant Professor, Binghamton University, USA\n", | ||
" - 20 years of computer programming experience\n", | ||
" - 10 years of Python programming experience\n", | ||
" - 5 years of experience in teaching Python\n", | ||
" - Using Python on a daily basis in my research\n", | ||
"- Yong Wang, Kasey J. Hill, Erin C. Foley. (2017). [Computer programming with Python for industrial and systems engineers: Perspectives from an instructor and students](http://dx.doi.org/10.1002/cae.21837). Computer Applications in Engineering Education, 25(5), 800-811." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"### Course Materials on YouTube and GitHub" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"- Course videos are hosted by YouTube (http://youtube.com/yongtwang).\n", | ||
"- Course documents (Jupyter Notebooks and Python source code) are hosted by GitHub (http://github.com/yongtwang)." | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.6.3" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.