The objective of this course is to improve programming and problem solving capabilities and skills of students using Python with an emphasis on programming practice, efficiency and data science. Pyhton is widely used language in education, scientific computing and data science with a large number of libraries. Students will learn, design, develop and test efficient programs that take advantage of built-in libraries developed for AI and data science without having to know about complex logic and mathematics behind them. Topics include programming efficiency and analysis, study and analysis of some basic algorithms, graphical user interfaces, advanced featues of Python, Python Data Structures, Loading Datasets from Different Data Stores, Array-Oriented Programming with NumPy, High-Performance NumPy Arrays, Pandas Series and DataFrames, Regular Expressions and Data Wrangling, Time Series and Simple Linear Regression, Natural Language Processing (NLP), Web Scraping, Data Mining Twitter: Sentiment Analysis, Machine Learning: Classification, Regression and Clustering, Deep Learning Convolutional and Recurrent Neural Networks, Recommendations with Collaborative Filtering, Optimization.
Introduction to Programming
Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud, Paul Deitel, Harvey Deitel, Pearson, 2020 (html). |
|
- Paul J. Deitel et al., Intro to Python for
Computer Science and Data Science: Learning to Program with AI, Big
Data and The Cloud, Pearson, 2020. [DE]
- Toby Segaran,
Programming Collective Intelligence, O Reilly Press, 2007. [TO]
- Brad Miller and David Ranum, Luther College, Problem Solving with
Algorithms and Data Structures using Python,
Franklin, Beedle & Associates, 2011 (html).
- Introduction to Computation and
Programming Using Python, John V. Guttag (html).
- Starting Out with Python, Global Edition, 4/E, Tony
Gaddis, Pearson, 2019 (html).
- Introduction to Programming in Python: An Interdisciplinary
Approach,
Robert Sedgewick, Kevin Wayne, Robert Dondero, Pearson, 2015. (html)
- Fundamentals of Programming Python, Richard L. Halterman, 2019 (PDF)
- Python Practice Book, Anand Chitipothu , (html)
-
Python Programming (html)
- A Practical Introduction to Python Programming (hmtl)
- w3schools Python Tutorial (html)
- tutorialspoint Learn Python (html)
- LearnPython.org (html)
- javaTPoint Python Tutorial (html)
- Programiz - Learn Python Programming (html)
Evaluation Tool (*) | Weight in % |
---|---|
Programming Assignments | 16 |
Labs | 10 |
In-term Exams - 2 Quizes (14%) - 1 Midterm (20%) |
34 |
Final | 40 |
WEEK | TOPIC(S) |
---|---|
1 | Developing Efficient Algorithms |
2 | Analysis of Searching and Sorting Algorithms |
3 | Python Data Structures |
4 | Data Analysis and Visualization |
5 | Array-Oriented and Scientific Programming with NumPy and SciPy |
6 | Pandas, Regular Expressions and Data Wrangling |
7 | Time Series and Simple Linear Regression |
8 | Exam Week |
9 | Natural Language Processing (NLP), Web Scraping |
10 | Data Mining Twitter: Sentiment Analysis, JSON and Web Services |
11 | Machine Learning: Classification, Regression and Clustering |
12 | Deep Learning Convolutional and Recurrent Neural Networks |
13 | Collaborative Filtering, Making Recommendations |
14 | Optimization |
15 | Review |