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||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, ||python-basics.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, ||python-data-types.html||
, , ,
|3||August 26, 2019||Problem Solving, Bitwise Operators, ||python-data-types.html|
|4||September 2, 2019||Problem Solving, Modules Concepts, The ||modules.html|
|5||September 7, 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, ||venv-packages.html|
|6||September 14, 2019||Problem Solving, Class Method and Static Method, Inheritance, ||python-oop.html||-|
|7||September 16, 2019||Problem Solving, Exceptions Handling, Regular Expressions, Practice By Solving Code Interview Questions||python-errors.html, python-regex.html||-|
|8||September 21, 2019||Problem Solving, Using Stack Overflow Effectively, Writing a real-world program using some well-known high-level python packages||-||-||-|
|9||September 23, 2019||Some Basic Terms in Software Engineering, Cohesion and Coupling Levels, Software Development Anti-Patterns||cohesion-coupling.html||-||-|
|10||September 28, 2019||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||git-version-control-system||-||-||-|