Python Programming (Basic to Advanced)
Programming
COURSE OVERVIEW
The Basic to Advance Python Programming Course initially introduces the students to the Basics of Python Programming. After which, the course then provides the students higher concepts and programming logics. Upon completion of this class, the student will be able to write non-trivial Python programs dealing with a wide variety of subject matter domains.
Initially, attendees will start learning the Basic in Python topics such as the introduction, functions, syntaxes, and terminologies. Moving forward, attendees will learn the Intermediate to Advance Python topics such as testing and debugging, working with data, and classes & objects. In the last session of the modules, Learners will then be provided a Hands-on Capstone / Hackathon Project, enabling the Learners apply and test their acquired knowledge and skills from the Training.
Duration: 40 HRS / 5 DAYS)
Delivery Method: Classroom-based, Virtual Instructor Led Training
PRE-REQUISITES
We recommend that attendees of this course have the following prerequisites:
· Previous experience with other programming languages (C, C++, Java, Perl, Lisp, Visual Basic, etc.)
· Students with technical inclination and some experience developing projects like spreadsheets, SPSS scripts, Bash scripts, or macros are welcome to join. Python is a great first language -- it is very approachable and easy to learn
INTENDED AUDIENCE
This course is intended for:
COURSE OBJECTIVES
Upon completion of the class, students should be able to:
COURSE OUTLINE:
MODULE 1 - Basic and Fundamentals of Python (Day 1 to Day 2)
· Data Types
· Function: print
· Math operators: + - / *
· String operator + *
· Functions: int, str
· Function: input
· Optional parameters
· String functions, upper, lower, swapcase, title, format
· multi-line string
· Boolean
· Boolean operators: and, or, not
· If statement
· conditional operators: > < >= <= == !=
· else
· elif
· Lists
· list element assignment (list[] = element)
· list functions: append, remove, len, index, insert, extend
· for-loops.
· Code blocks
· list comprehension
· range function
· list slicing.
· in operator.
· list function: sort, reverse
· Unpacking
· tuple
· string functions: split, join, count
· list function: count
· file function: open()
· with statement
· random library
· shuffle, choice, randint
· help() and dir()
· from import
· help and python manual
· making a function
· optional parameters
· named parameter
· importing function from other files
· while, continue, break
· turtle/logo programming
MODULE 2 - Basic of Python - Part 2 (Day 1 to Day 3)
· enumerate(), zip()
· Set
· Dictionary
o items(), keys(), get(), values()
· None datatype
· Function data type
· Lambda
· Error handling
o try, except, else, finally
· datetime library
· Basic Object Oriented Programming
o constructor
o "private" methods
o inheritance
§ super()
o dunder functions
· dir introspection
· python debugger
· Python IDEs
o visual studio code
o pycharm
o IPython
MODULE 3 - Libraries (Day 2 - 4)
Any libraries or topics requested by audience. Recommended topics:
· Web programming using Flask
· Internet API connectivity (request)
· Database (csv, sqlite, peewee, etc)
· GUI programming (tkinter, Kivy)
· Console/Terminal development
· Test Driven Development
MODULE 4 - Practical Python (Day 4)
· f-strings (python 3.6)
· for-else
· try-except-else
· virtualenv and pipenv
· Python's variables are by-reference
· Shallow and deep copy
· Generators
· args, kwargs
· Positional only and Keyword only parameters (python 3.8, python 3.7)
· OOP
o Instance and Class variables
o dunder methods
o getitem
o repr
o str
o len
o call
o lt
o add
· Context Managers
· Function caching
· OS library
· Pathlib library
· Python Practices
o code organization
§ modules and packages
o PEP-8
o Linters
§ pylint
· more verbose
· configurable
§ pyflake8
· quality assurance
o Idiomatic Python
§ https://jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/
§ https://jeffknupp.com/writing-idiomatic-python-ebook/
MODULE 5 - Practical (Day 5)
Hackathon
Capstone where students use what they've learned to create a new program
REGISTER NOW