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.
All available resources for this course will be added to the following table.
|1||November 22, 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, ||python-basics.html||-||-||-|
|2||December 20, 2019||Some Floating-Point Arithmetic, NaN and Infinity, Bitwise Operators, Unpacking a Tuple, Alternative to do-while loops and switch-case statements in Python, ||python-data-types.html||1, 2, 3, 4||1, 2||-|
|3||January 3, 2020||python-data-types.html||1, 2, 3, 4, 5, 6, 7||1, 2||-|
|4||January 10, 2020||Stacks and Queues, Indexed Lists and Linked Lists, Debugging In PyCharm, Using ||-||1, 2, 3||1, 2||1, 2-1, 2-2|
|5||January 31, 2020||Problem Solving, Modules Concepts, The ||modules.html||1, 2||1, 2, 3, 4||1-1, 1-2, 2, 3-1, 3-2, 4|
|6||February 14, 2020||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, ||venv-packages.html, python-oop.html||1, 2, 3, 4, 5, 6||1, 2, 3||1-1, 1-2, 2, 3|
|7||February 28, 2020||Problem Solving, Class Method and Static Method, Inheritance, ||-||-||1, 2||1, 2|
|8||March 13, 2020||Problem Solving, Exceptions Handling, Regular Expressions, Practice By Solving Code Interview Questions||python-errors.html, python-regex.html||-||1, 2||1-1, 1-2, 2|
|9||March 27, 2020||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||cohesion-coupling.html||1, 2, 3||1||-|
|10||April 10, 2020||What is Version Control, Centralized & Distributed Version Control Systems, Most Preferred Version Control Systems, Online VCS Hostings, What is Git, What Makes GIT Different (Snapshot vs. Difference, Local vs Online), States (Modified, Staged, Committed), Addition & Deletion in Git, Basic Git Commands, The Anatomy of a GIT Commit, Resolving a Merge Conflict Using the Command Line, Working with Remotes, SSH and HTTPS Protocols for Clone URLs||-||-||1||1|