ICO is the abbreviation of Initial Coin Offering. It means that someone offers investors some units of a new cryptocurrency or crypto-token in exchange against cryptocurrencies like Bitcoin or Ethereum. Since 2013 ICOs are often used to fund the development of new cryptocurrencies. The pre-created token can be easily sold and traded on all cryptocurrency exchanges if there is demand for them.
With the success of Ethereum ICO are more and more used to fund the development of a crypto project by releasing token which is somehow integrated into the project. With this turn, ICO has become a tool that could revolutionize not just currency but the whole financial system. ICO token could become the securities and shares of tomorrow.
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference.
These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property.
This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middleman or counterparty risk.

Ethereum official website https://www.ethereum.org
A Block Explorer is basically a search engine that allows users to easily lookup, confirm and validate transactions that have taken place on the Ethereum Blockchain.

Etherscan https://etherscan.io
A DAO (Decentralized Autonomous Organization) can be seen as the most complex form of a smart contract, where the bylaws of the decentralized organization are embedded into the code of the smart contract, using complex token governance rules.
How DAOs work
Decentralized Autonomous Organisations (DAOs) run through rules encoded as computer programs called smart contracts. It is an entity that lives on the internet and exists autonomously, but also heavily relies on hiring individuals to perform certain tasks that the automaton itself cannot do.
  • Tokens of Transaction: In order to exist a DAO needs some kind of internal property that is valuable in some way, and it has the ability to use that property as a mechanism for rewarding certain activities. The funding takes place directly upon creation of the organization. DAOs do not have a hierarchical structure, nor executives or management.
  • Autonomous: Once deployed the entity is independent of its creators and cannot be influenced by outside forces. DAOs are open source, thus transparent and incorruptible. A DAO’s financial transaction record and program rules are maintained on a blockchain. This approach eliminates the need to involve a bilaterally accepted trusted third party in a financial transaction.
  • Consensus: In order to withdraw or move funds from a DAO, a majority of its stakeholders (this percentage could be specified in the code of the DAO) must agree on the decision. Even if bugs are found in the code, they could not be corrected until a voting procedure has taken place and the majority of voters agreed on it, which could leave known security holes open to exploitation.
  • Contractors: A DAO cannot build a product, write code or develop hardware. It needs a contractor to accomplish its goals. Contractors get appointed via voting of token holders.
  • Proposals: Proposals are the primary way for making decisions in a DAO. To avoid people overloading the network with proposals, a DAO could require a monetary deposit to prevent people from spamming the network.
  • Voting: After submitting a proposal, voting takes place. DAOs allow people to exchange economic value with anyone in the world, like investing, money raising, lending, borrowing, without the need of an intermediary, just by trusting the code.
DApp is an abbreviated form for decentralized application.
A DApp has its backend code running on a decentralized peer-to-peer network. Contrast this with an app where the backend code is running on centralized servers.
A DApp can have frontend code and user interfaces written in any language (just like an app) that can make calls to its backend. Furthermore, its frontend can be hosted on decentralized storage such as Swarm or IPFS.
For an application to be considered a Dapp (pronounced Dee-app, similar to Email) it must meet the following criteria:
  • The application must be completely open-source, it must operate autonomously, and with no entity controlling the majority of its tokens. The application may adapt its protocol in response to proposed improvements and market feedback but all changes must be decided by consensus of its users.
  • The application's data and records of operation must be cryptographically stored in a public, decentralized blockchain in order to avoid any central points of failure.
  • The application must use a cryptographic token (bitcoin or a token native to its system) which is necessary for access to the application and any contribution of value from (miners / farmers) should be rewarded in the application’s tokens.
  • The application must generate tokens according to a standard crytptographic algorithm acting as a proof of the value nodes are contributing to the application (Bitcoin uses the Proof of Work Algorithm).
The Ethereum token standard (ERC20) defines a common list of rules that an Ethereum token has to implement. Giving developers the ability to program how new tokens will function within the Ethereum ecosystem. This token protocol became popular with crowdfunding companies via initial coin offering (ICO).

Technical specification https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
"Gas" is the name for a special unit used in Ethereum. It measures how much "work" an action or set of actions takes to perform.
Every operation that can be performed by a transaction or contract on the Ethereum platform costs a certain number of gas, with operations that require more computational resources costing more gas than operations that require few computational resources.
The reason gas is important is that it helps to ensure an appropriate fee is being paid by transactions submitted to the network. By requiring that a transaction pay for each operation it performs (or causes a contract to perform), we ensure that network doesn't become bogged down with performing a lot of intensive work that isn't valuable to anyone.

Good explanation of Gas https://ethereum.stackexchange.com/questions/3/what-is-meant-by-the-term-gas
How to estimate Gas price https://ethgasstation.info