An introduction to higher level programming where I start using Python.
Getting started with Python.
Concepts Covered:
- How to use the Python interpreter
- How to print text and variables using print
- How to use strings
- What are indexing and slicing in Python
- How to check your code with PEP 8
Learning about control flow tools and an introduction to functions
Concepts covered:
- Why indentation is so important in Python
- How to use the
if
,if ... else
statements while
andfor
loopsbreak
andcontinue
statements- How to use
else
clauses on loops - What does the
pass
statement do, and when to use it - How to use
range
Learning about python modules
Concepts covered:
- How to import functions from another file
- How to use imported functions
- How to create a module
- How to use the built-in function
dir()
- How to prevent code in your script from being executed when imported
- How to use command line arguments with your Python programs
Learning about python lists and some data structures
Concepts covered:
- What are lists and how to use them
- How to use lists as stacks and queues
- What are list comprehensions and how to use them
- What are tuples and how to use them
- What is a sequence
- What is tuple packing
Learning about python data structures
Concepts covered:
- What are set and how to use them
- What are dictionary and how to use them
- What is a lambda function
- What is map, reduce and map functions
Learning about python errors and exceptions
Concepts covered:
- The difference between errors and exceptions
- What are exceptions and how to use them
- When do we need to use exceptions
- How to correctly handle an exception
Learning about OOP
Concepts covered:
- What is OOP
- What is a class
- What is an object and an instance
- What is the difference between a class and an object or instance
- What is an attribute
- What are and how to use public, protected and private attributes
Learning how to write tests
Concepts covered:
- What’s an interactive test
- Why tests are important
- How to write Docstrings to create tests
- How to write documentation for each module and function
- What are the basic option flags to create tests
- How to find edge cases
Expounding more on classes
Concepts covered:
- What is Data Abstraction, Data Encapsulation, and Information Hiding
- What is a property
- What is the difference between an attribute and a property in Python
- What is the Pythonic way to write getters and setters in Python
- What are the special str and repr methods and how to use them
- What is the difference between str and repr
- What is a class attribute
- What is the difference between a object attribute and a class attribute
- What is a class method
- What is a static method
Looking at how python works with different types of objects
Concepts covered:
- What is the difference between immutable object and mutable object
- What is a reference
- What is an assignment
- What is an alias
- How to know if two variables are identical
- How to know if two variables are linked to the same object
- How to display the variable identifier (which is the memory address in the CPython implementation)
- What is mutable and immutable
- What are the built-in mutable types
- What are the built-in immutable types
Learning about inheritance in Python OOP
Concepts covered:
- What is a superclass, baseclass or parentclass
- What is a subclass
- How to list all attributes and methods of a class or instance
- When can an instance have new attributes
- How to inherit class from another
- How to define a class with multiple base classes
- What is the default class every class inherit from
- How to override a method or attribute inherited from the base class
- Which attributes or methods are available by heritage to subclasses
- What is the purpose of inheritance
- What are, when and how to use isinstance, issubclass, type and super built-in functions
Learning about Reading Files and JSON in python
Concepts covered:
- How to open a file
- How to write text in a file
- How to read the full content of a file
- How to read a file line by line
- How to move the cursor in a file
- How to make sure a file is closed after using it
- What is and how to use the with statement
- What is JSON
- What is serialization
- What is deserialization
- How to convert a Python data structure to a JSON string
- How to convert a JSON string to a Python data structure
A review on everything about python so far.
New concepts covered:
- What is Unit testing and how to implement it in a large project
- How to serialize and deserialize a Class
- How to write and read a JSON file
- What is
*args
and how to use it - What is
**kwargs
and how to use it - How to handle named arguments in a function
Learning about SQL Concepts covered:
- What’s a database
- What’s a relational database
- What does SQL stand for
- What’s MySQL
- How to create a database in MySQL
- What does DDL and DML stand for
- How to CREATE or ALTER a table
- How to SELECT data from a table
- How to INSERT, UPDATE or DELETE data
- What are subqueries
Learning about SQL Concepts covered:
- How to create a new MySQL user
- How to manage privileges for a user to a database or table
- What’s a PRIMARY KEY
- What’s a FOREIGN KEY
- How to use NOT NULL and UNIQUE constraints
- How to retrieve datas from multiple tables in one request
- What are subqueries
- What are JOIN and UNION
Learning about ORMs Concepts covered:
- How to connect to a MySQL database from a Python script
- How to SELECT rows in a MySQL table from a Python script
- How to INSERT rows in a MySQL table from a Python script
- What ORM means
- How to map a Python Class to a MySQL table
An Introduction to Javascript Concepts covered:
- How to run a JavaScript script
- How to create variables and constants
- What are differences between var, const and let
- What are all the data types available in JavaScript
- How to use the if, if ... else statements
- How to use comments
- How to affect values to variables
- How to use while and for loops
- How to use break and continue statements
- What is a function and how do you use functions
- What does a function that does not use any return statement return
- Scope of variables
- What are the arithmetic operators and how to use them
- How to manipulate dictionary
- How to import a file
Learning about JS Concepts covered:
- How to create an object in JavaScript
- What this means
- What undefined means
- Why the variable type and scope is important
- What is a closure
- What is a prototype
- How to inherit an object from another
Learning about networks and requests Concepts covered:
- What a URL is
- What HTTP is
- How to read a URL
- The scheme for a HTTP URL
- What a domain name is
- What a sub-domain is
Learning how to make requests in python Concepts covered:
- How to fetch internet resources with the Python package urllib
- How to decode urllib body response
- How to use the Python package requests #requestsiswaysimplerthanurllib
- How to make HTTP GET request
- How to make HTTP POST/PUT/etc. request
- How to fetch JSON resources
- How to manipulate data from an external service
Learning about webscraping in javasript Concepts covered:
- How to manipulate JSON data
- How to use
request
and fetch API - How to read and write a file using
fs
module
Learning about javascript on the web and JQuery Concepts covered:
- How to select HTML elements in JavaScript
- How to select HTML elements with JQuery
- What are differences between ID, class and tag name selectors
- How to modify an HTML element style
- How to get and update an HTML element content
- How to modify the DOM
- How to make a GET request with JQuery Ajax
- How to make a POST request with JQuery Ajax
- How to listen/bind to DOM events
- How to listen/bind to user events