Prerequisite Courses

Introduction to Programming

Textbook (s)

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). 




Recomended Text(s)

- 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)
- (html)
- javaTPoint Python Tutorial (html)
- Programiz - Learn Python Programming (html)

Meeting Times:

- Tuesday 13:30 - 15:30,  LO    Location: Online


- Lab Section I : Friday 16:30-18:00, TA: XXXX
- Lab Section II :


Evaluation Tool (*) Weight in %
Programming Assignments    16
Labs 10
In-term Exams
- 2 Quizes (14%)
- 1 Midterm (20%)
Final 40

(*) After each type of assesment, some of the students may be called for an oral examination. The student's performance in the oral exam will affect the student's grades. If a student does not come for an oral exam or follow the specified exam rules, (s)he will get automatically zero points for that part of the assesment. 

Tentative  Course Outline:

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

Course Syllabus in PDF ()