This course covers all the 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||January 2, 2020||Python Installation and Setup, How to Become a Programmer, Typing with 10 Fingers, Python Philosophy, Python Enhancement Proposals (PEPs), What is Python, High Level and Low Level Programming Languages, Compilers and Interpreters, Python 2.x vs Python 3.x, Why Python, Python Shell, PyCharm Integrated Development Environment, Python Basic Syntax, Computer Keyboard Key Explanations, Mono-space Fonts, Code Comments, Different Types of Errors, Variables, Static Typing and Dynamic Typing, ||python-basics.html||-||1, 2||-|
|2||January 9, 2020||Some Floating-Point Arithmetic, NaN and Infinity, Unpacking a Tuple, Alternative to do-while loops and switch-case statements in Python, ||python-data-types.html||1, 2|
|3||January 23, 2020||Problem Solving, ||python-data-types.html|
|4||January 30, 2020||Problem Solving, Stacks and Queues, Indexed Lists and Linked Lists, Debugging In PyCharm, Defining Functions, Default Argument Values, Arbitrary Argument Lists, Unpacking Argument Lists, Documentation Strings, Function Annotations, Python Naming Conventions, Standard Output and Standard Error Streams, ||-|
|5||February 6, 2020||Problem Solving, Writing DRY Code, SoC Principle, Some Tips about Writing Maintainable Code and Software Internal Quality, Modules Concepts, The ||modules.html|
|6||February 13, 2020||Problem Solving, Working with Python Package Manager and VirtualEnv, 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|
|7||February 20, 2020||Problem Solving, Class Method and Static Method, Inheritance, ||-||-|
|8||March 5, 2020||Problem Solving, Errors in Python, Handling Exceptions, Raising Exceptions, User-defined Exceptions, Defining Clean-up Actions, Predefined Clean-up Actions, Regular Expressions, Matching Characters, Metacharacters, Repeating Things, Using Regular Expressions in Python, Performing Matches, Using Stack Overflow Effectively||python-errors.html, python-regex.html||-|
|9||March 12, 2020||Writing a real-world program using some well-known high-level python packages, Practice Programming By Solving a Code Interview Question, Some Basic Terms in Software Engineering, Cohesion and Coupling Levels, Software Development Anti-Patterns||cohesion-coupling.html||1||-|
|10||-||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||-||-||-||-|