CST283: Python For Machine Learning

SYllabus

Module 1

Getting started with Python Programming, Running code in the interactive shell, Editing, Saving and running a script. Using editors - IDLE, Jupyter. The software development process. Case study. Basic coding skills - working with datat types, Numeric data types and Character sets, keywords, variables and assignment statement, operators, expressions. Working with numeric data. Type conversions, Comments in the program. Input, processing and output. Formatting output. How python works. detecting and correcting syntax error. Using built in functions and modules in math module.

Lecture Note

Module 2

Control statements- selection structure, iteration structure, testing the control statements, lazy evaluation. Functions-Hiding redundancy and complexity, arguments and return values. Variable scopes and parameter passing, named arguments. Main function. Working with recursion, lambda functions. Strings and number systems - String function. Handling numbers in various formats.

Lecture Note

Module 3

List - basic list operations. List of lists, slicing. Searching and sorting list. List comprehension. Working with tuples, sets, working with dates and times. Dictionaries- dictionary functions, adding and removing keys, accessing and replacing values, traversing dictionaries, reverse lookup. Case study - data structure selection.

Module 4

Design with classes- Objects and classes, methods, instance variables, constructor, accessors and mutators. Structuring classes with inheritance and polymorphism. Abstract classes. Exceptions - Handling an single exception, handling multiple exceptions.

Lecture Note

Module 5

The os and sys modules. Introduction to file I/O. Reading and writing text files. Manipulating binary files. Numpy - basics, Creating arrays, Arithmetic, Slicing, matrix operations, random numbers. Plotting and visualization. Matplotlib - Basic plot, ticks, labels and legends. working with csv files - Pandas. Reading, manipulating and processing data.

Lecture Note - Pandas | Datasets

Lecture Note - Matplotlib

Lecture Note - Numpy