holbertonschool-higher_level_programming

An introduction to higher level programming where I start using Python.

0x00-python-hello_world

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

0x01-python-if_else_loops_functions

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 and for loops
  • break and continue statements
  • How to use else clauses on loops
  • What does the pass statement do, and when to use it
  • How to use range

0x02-python-import_modules

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

0x03-python-data_structures

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

0x04-python-more_data_structures

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

0x05. Python - Exceptions

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

0x06-python-classes

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

0x07. Python - Test-driven development

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

0x08. Python - More Classes and Objects

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

0x09-python-everything_is_object

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

0x0A. Python - Inheritance

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

0x0B. Python - Input/Output

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

0x0C-python-almost_a_circle

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

0x0D-SQL_introduction

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

0x0E-SQL_more_queries

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

0x0F-python-object_relational_mapping

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

0x12-javascript-warm_up

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

0x13-javascript_objects_scopes_closures

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

0x10-python-network_0

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

0x11-python-network_1

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

0x14-javascript-web_scraping

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

0x15-javascript-web_jquery

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