Differences

This shows you the differences between two versions of the page.


en:courseware:python_programming:saipa:190805 [2022/07/17 01:19] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +This course covers all basic knowledge needed for programming in python. The course designed based on the assumption that students want to work in the software industry, but it's also useful for academic purposes.
  
 +====== Course Calendar & Materials ======
 +
 +All available resources for this course will be added to the following table.
 +
 +^**Session**^**Date**^**Subjects**^**Slides**^**Codes**^**Homework**^**Solutions**^
 +|1|August 5, 2019|How to Become a Programmer, Python Philosophy, What is Python, Python 2.x vs Python 3.x, Why Python, Python Shell, Python Basic Syntax, Python Enhancement Proposals (PEPs), Variables, Static Typing and Dynamic Typing, High Level and Low Level Programming Languages, Compilers and Interpreters, ''type()'' Function, Computer Keyboard Key Explanations, Mono-space Fonts, Typing with 10 Fingers|{{ :courseware:python_programming:resources:slides:python_basics:py_basics_v2.html |}}|-|-|-|
 +|2|August 10, 2019|Python Installation and Setup, Different Types of Errors, Basic Data Types, Operators, Type Conversion, Truth Value Testing, PyCharm Integrated Development Environment, Some Floating-Point Arithmetic, Strings with Triple-quotes or Single Quotes or Double Quotes, Special Characters in Strings, Sequences, Slicing Sequences, Sequence Operators, List Comprehension, String Formatting, Tuples, ''if'' Statement, ''for'' Statement, ''while'' Statement, ''pass'' Statement, ''range()'' Function, One Line If-condition-assignment, Evaluating Order of Assignments, Mutable and Immutable Data Types, ''id()'' Function, Copy By Reference and Copy By Value, Compare Two Objects with ''=='' and ''is''|{{ :courseware:python_programming:resources:slides:python_data_types:py_dtypes.html |}}|[[courseware/python_programming/resources/code/2|1]], [[courseware/python_programming/resources/code/1|2]], [[courseware/python_programming/resources/code/13|3]], [[courseware/python_programming/resources/code/14|4]]|[[courseware/python_programming/resources/hw/14|1]], [[courseware/python_programming/resources/hw/15|2]]|-|
 +|3|August 26, 2019|Bitwise Operators, ''abs()'' and ''pow()'' and ''round()'' Functions, ''all()'' and ''any()'' Function, ''input()'' Function, ''eval()'' Function, Loops, Sets, Dictionaries, Quick Review on ''str()'' and ''list()'' and ''tuple()'' and ''float()'' and ''bool()'' and ''int()'' and ''dict()'' and ''set()'' and ''complex()''  Functions|{{ :courseware:python_programming:resources:slides:python_data_types:py_dtypes.html |}}|[[courseware/python_programming/resources/code/8|1]], [[courseware/python_programming/resources/code/3|2]], [[courseware/python_programming/resources/code/5|3]], [[courseware/python_programming/resources/code/4|4]], [[courseware/python_programming/resources/code/10|5]], [[courseware/python_programming/resources/code/11|6]], [[courseware/python_programming/resources/code/12|7]]|-|-|
 +|4|September 2, 2019|Stacks and Queues, Indexed Lists and Linked Lists, Debugging In PyCharm, Using ''continue'' and ''break'' and ''else'' Keywords within Loops, Defining Functions, Default Argument Values, Arbitrary Argument Lists, Unpacking Argument Lists, Documentation Strings, Function Annotations, Python Naming Conventions, Standard Output and Standard Error Streams, ''enumerate()'' and ''zip()'' Functions, Python Anti-Patterns, Python Wats, Converse Implication and Boolean Objects, NaN and Infinity, Lambda Functions, ''map()'' and ''filter()'' Functions, Recursive Functions, Big-Oh Analysis|-|[[courseware/python_programming/resources/code/9|1]], [[courseware/python_programming/resources/code/6|2]], [[courseware/python_programming/resources/code/7|3]]|[[courseware/python_programming/resources/hw/16|1]], [[courseware/python_programming/resources/hw/4|2]]|[[courseware/python_programming/resources/answer/16|1]], [[courseware/python_programming/resources/answer/4|2-1]], [[courseware/python_programming/resources/answer/4-2|2-2]]|
 +|5|September 23, 2019|Problem Solving, Modules Concepts, The ''import'' Statement, The search path, The ''from...import'' Statement, Locating Modules, Namespaces and Scoping, ''time'' Module, ''random'' Module, ''math'' Module, ''dir()'' and ''globals()'' and ''locals()'' and ''reload()'' Functions, Packages in python,''<nowiki>__name__</nowiki>'' Special Variable|{{ :courseware:python_programming:resources:slides:py_modules.html |}}|[[courseware/python_programming/resources/code/16|1]], [[courseware/python_programming/resources/code/15|2]]|[[courseware/python_programming/resources/hw/17|1]], [[courseware/python_programming/resources/hw/5|2]], [[courseware/python_programming/resources/hw/8|3]], [[courseware/python_programming/resources/hw/19|4]]|[[courseware/python_programming/resources/answer/17-1|1-1]], [[courseware/python_programming/resources/answer/17-2|1-2]], [[courseware/python_programming/resources/answer/5|2]],  [[courseware/python_programming/resources/answer/8-1|3-1]], [[courseware/python_programming/resources/answer/8-2|3-2]], [[courseware/python_programming/resources/answer/19|4]]|
 +|6|September 28, 2019|Problem Solving, Working with Python Package Manager and VirtualEnv, Writing DRY Code, SoC Principle, Some Tips about Writing Maintainable Code and Software Internal Quality, Managing the Installed Packages in PyCharm, PyCharm Keyboard Shortcuts, Object-Oriented Concepts,  Defining Classes and Creating Objects in Python, Class Variables and Instance Variables, Instance Objects, Method Objects, Self Input, Constructor, ''<nowiki>__dict__</nowiki>'' Variable|{{ :courseware:python_programming:resources:slides:py_libs.html |}}, {{ :courseware:python_programming:resources:slides:py_oop.html |}}|[[courseware/python_programming/resources/code/17|1]], [[courseware/python_programming/resources/code/18|2]], [[courseware/python_programming/resources/code/19|3]], [[courseware/python_programming/resources/code/20|4]], [[courseware/python_programming/resources/code/21|5]], [[courseware/python_programming/resources/code/22|6]]|[[courseware/python_programming/resources/hw/9|1]], [[courseware/python_programming/resources/hw/6|2]], [[courseware/python_programming/resources/hw/18|3]]|[[courseware/python_programming/resources/answer/9|1-1]], [[courseware/python_programming/resources/answer/9-2|1-2]], [[courseware/python_programming/resources/answer/6|2]], [[courseware/python_programming/resources/answer/18|3]]|
 +|7|September 30, 2019|Problem Solving, Class Method and Static Method, Inheritance, ''super()'' Function, ''help()'' Function, Base objects, Multiple Inheritance, ''isinstance()'' Function, Iterators and Iterables, Generator Functions, Decorators, Property Decorator and Getter and Setters and Deleter, Special Methods, Underscore in Python, Polymorphism and Principles of Object Oriented Design, Python Optimizations|-|-|[[courseware/python_programming/resources/hw/11|1]], [[courseware/python_programming/resources/hw/10|2]]|[[courseware/python_programming/resources/answer/11|1]], [[courseware/python_programming/resources/answer/10|2]]|
 +|8|October 5, 2019|Problem Solving, Exceptions Handling, Regular Expressions, Practice By Solving Code Interview Questions|{{ :courseware:python_programming:resources:slides:py_errors.html |}}, {{ :courseware:python_programming:resources:slides:python_regex:py_regex.html |}}|-|[[courseware/python_programming/resources/hw/12|1]], [[courseware/python_programming/resources/hw/13|2]]|[[courseware/python_programming/resources/answer/12-2|1-1]], [[courseware/python_programming/resources/answer/12-1|1-2]], [[courseware/python_programming/resources/answer/13|2]]|
 +|9|October 12, 2019|Problem Solving, Using Stack Overflow Effectively, Writing a real-world program using some well-known high-level python packages, Some Basic Terms in Software Engineering, Cohesion and Coupling Levels, Software Development Anti-Patterns|{{ :courseware:selected_topics_in_software_engineering:resources:slides:cohesion_coupling:coh_coup.html |}}|[[https://gitlab.com/smmsadrnezh/hotels_price_collector/blob/c2f88cbcdf2e203c58c803a807bac353c9e8f223/requirements.txt|1]], [[https://gitlab.com/smmsadrnezh/hotels_price_collector/blob/c2f88cbcdf2e203c58c803a807bac353c9e8f223/main.py|2]], [[https://gitlab.com/smmsadrnezh/hotels_price_collector/blob/c2f88cbcdf2e203c58c803a807bac353c9e8f223/export.py|3]]|[[courseware/python_programming/resources/hw/7|1]]|-|
 +|10|October 14, 2019|-|-|-|[[courseware/python_programming/resources/hw/20|1]]|[[https://github.com/smmsadrnezh/square_packing_problem/archive/master.zip|1]]|
 +
 +====== Additional Resources ======
 +
 +  * [[http://www.ict.ru.ac.za/Resources/cspw/thinkcspy3/thinkcspy3_latest|How to Think Like a Computer Scientist: Learning with Python 3]]
 +  * [[https://docs.python.org/3/tutorial/index.html|Official Python Tutorial]]
 +  * [[https://www.tutorialspoint.com/python3/index.htm|Tutorialspoint Python 3 Tutorial]]
 +
 +====== Useful Links ======
 +
 +  * [[https://quera.ir/course/3491/|Course Quera Page]]
 +  * [[https://www.jetbrains.com/student/|Getting Jetrains Educational License]]
 +  * [[https://www.python.org/ftp/python/3.7.2/python-3.7.2.exe|Download Python 3.7.1 for Windows 32-bit]]
 +  * [[https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64.exe|Download Python 3.7.1 for Windows 64-bit]]
 +  * [[https://download.jetbrains.com/python/pycharm-professional-2018.3.4.tar.gz|Download Pycharm 2018 for Linux]]
 +  * [[https://download.jetbrains.com/python/pycharm-professional-2018.3.4.exe|Download Pycharm 2018 for Windows]]
 +  * [[https://download.jetbrains.com/python/pycharm-professional-2018.3.4.dmg|Download Pycharm 2018 for Mac]]
 +
 +====== What's the next? ======
 +
 +  * Advanced Programming in Python
 +  * Use Python to build web applications with Django
 +  * Web Scraping in Python