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:

- Monday 13:30 - 15:30,  Location: CZ_12


- Lab Section I : Tuesday 11:00-13:00, TA: XXXX
- Lab Section II : Wednesday 9:00-11:00, TA: YYYY


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

(*) %70 attendance to laboratories is required, otherwise students will fail from the course. Laboratory assignments should be submitted in order to get laboratory grade.

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