This course is a one-semester course intended for graduate students in Data Science graduate programs. It is designed to introduce object-based programming and programming concepts with Python, Algorithm analysis and design, basic data structures, and Scientific computation and visualization with Python. The course will include the following sub topics; Introduction to Python and its basic data types; Object-oriented programming with Python; Recursion; Algorithm analysis; Searching and sorting; Abstract data types such as linked lists, stacks, queues, priority queues, trees, hashes and their implementation in Python; Vectors and matrices in Python; Plotting and visualization with Python; Solving systems of linear equations with Python. Students will gain experience through assignments and projects, with an emphasis on proper data science practices with appropriate applications. Outline of major topics: 1) Introduction to the Python interpreter, data types, and container data types, control structures using sequential, iterative and conditional execution; 2) functions, scopes and namespaces, recursion; 3) object-oriented programming with Python; 4) algorithm analysis, time and space complexity, basic notations, analyzing complexity of algorithms; 5) searching and sorting, linear search, binary search, bubble sort, selection sort, insertion sort, quicksort; 6) abstract data types, linked lists, stacks, queues, priority queues, trees, hashing and their implementation in Python; 7) towards data science and engineering with Python - vectors and matrices in Python; plotting and visualization with Python; solving systems of linear equations with Python; data storage; data analysis [All these items based on Numpy, Pandas, Scipy libraries].
Source note: the Program Specification Report contains an additional sentence in the DS 501 description that is visibly truncated in the original PDF; the intact description and the complete formal course learning outcomes are reproduced here.
Course learning outcomes
1. Evaluate, prepare, and analyze data using typical data science methods.
2. Design coding solutions using the Python language and relevant libraries.
3. Implement selected machine learning methods.
4. Recognize ethical issues and observe professional guidelines regarding the use of machine learning and applied artificial intelligence in data science.