Thứ Ba, 27 tháng 12, 2011

Software Development Life Cycle Models

Software Development Life Cycle Models

I was asked to put together this high-level and traditional software
life cycle information as a favor for a friend of a friend, so I
thought I might as well share it with everybody.

The General Model

Software life cycle models describe phases of the software cycle and
the order in which those phases are executed. There are tons of
models, and many companies adopt their own, but all have very similar
patterns. The general, basic model is shown below:

General Life Cycle Model

GeneralModel

Each phase produces deliverable required by the next phase in the
life cycle. Requirements are translated into design. Code
is produced during implementation that is driven by the design.
Testing verifies the deliverable of the implementation phase against
requirements.

Requirements

Business requirements are gathered in this phase. This phase
is the main focus of the project managers and stake holders.
Meetings with managers, stake holders and users are held in order to
determine the requirements. Who is going to use the system?
How will they use the system? What data should be input into the
system? What data should be output by the system? These are
general questions that get answered during a requirements gathering
phase. This produces a nice big list of functionality that the
system should provide, which describes functions the system should
perform, business logic that processes data, what data is stored and
used by the system, and how the user interface should work. The
overall result is the system as a whole and how it performs, not how it
is actually going to do it.

Design

The software system design is produced from the results of the
requirements phase. Architects have the ball in their court
during this phase and this is the phase in which their focus
lies. This is where the details on how the system will work is
produced. Architecture, including hardware and software,
communication, software design (UML is produced here) are all part of
the deliverable of a design phase.

Implementation

Code is produced from the deliverable of the design phase during
implementation, and this is the longest phase of the software
development life cycle. For a developer, this is the main focus
of the life cycle because this is where the code is produced.
Implementation my overlap with both the design and testing
phases. Many tools exists (CASE tools) to actually automate the
production of code using information gathered and produced during the
design phase.

Testing

During testing, the implementation is tested against the
requirements to make sure that the product is actually solving the
needs addressed and gathered during the requirements phase. Unit
tests and system/acceptance tests are done during this phase.
Unit tests act on a specific component of the system, while system
tests act on the system as a whole.

So in a nutshell, that is a very basic overview of the general
software development life cycle model. Now lets delve into some
of the traditional and widely used variations.

Waterfall Model

This is the most common and classic of life cycle models, also
referred to as a linear-sequential life cycle model. It is very
simple to understand and use. In a waterfall model, each phase
must be completed in its entirety before the next phase can
begin. At the end of each phase, a review takes place to
determine if the project is on the right path and whether or not to
continue or discard the project. Unlike what I mentioned in the
general model, phases do not overlap in a waterfall model.

Waterfall Life Cycle Model

WaterFallModel

Advantages

  • Simple and easy to use.
  • Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very well understood.

Disadvantages

  • Adjusting scope during the life cycle can kill a project
  • No working software is produced until late during the life cycle.
  • High amounts of risk and uncertainty.
  • Poor model for complex and object-oriented projects.
  • Poor model for long and ongoing projects.
  • Poor model where requirements are at a moderate to high risk of changing.

V-Shaped Model

Just like the waterfall model, the V-Shaped life cycle is a
sequential path of execution of processes. Each phase must be
completed before the next phase begins. Testing is emphasized in
this model more so than the waterfall model though. The testing
procedures are developed early in the life cycle before any coding is
done, during each of the phases preceding implementation.

Requirements begin the life cycle model just like the waterfall
model. Before development is started, a system test plan is
created. The test plan focuses on meeting the functionality
specified in the requirements gathering.

The high-level design phase focuses on system architecture and
design. An integration test plan is created in this phase as well
in order to test the pieces of the software systems ability to work
together.

The low-level design phase is where the actual software components
are designed, and unit tests are created in this phase as well.

The implementation phase is, again, where all coding takes
place. Once coding is complete, the path of execution continues
up the right side of the V where the test plans developed earlier are
now put to use.

V-Shaped Life Cycle Model

VShapedModel

Advantages

  • Simple and easy to use.
  • Each phase has specific deliverable.
  • Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle.
  • Works well for small projects where requirements are easily understood.

Disadvantages

  • Very rigid, like the waterfall model.
  • Little flexibility and adjusting scope is difficult and expensive.
  • Software is developed during the implementation phase, so no early prototypes of the software are produced.
  • Model doesn’t provide a clear path for problems found during testing phases.

Incremental Model

The incremental model is an intuitive approach to the waterfall
model. Multiple development cycles take place here, making the
life cycle a “multi-waterfall” cycle. Cycles are divided up into
smaller, more easily managed iterations. Each iteration passes
through the requirements, design, implementation and testing phases.

A working version of software is produced during the first
iteration, so you have working software early on during the software
life cycle. Subsequent iterations build on the initial software
produced during the first iteration.

Incremental Life Cycle Model

SpiralModel

Advantages

  • Generates working software quickly and early during the software life cycle.
  • More flexible – less costly to change scope and requirements.
  • Easier to test and debug during a smaller iteration.
  • Easier to manage risk because risky pieces are identified and handled during its iteration.
  • Each iteration is an easily managed milestone.

Disadvantages

  • Each phase of an iteration is rigid and do not overlap each other.
  • Problems may arise pertaining to system architecture because not
    all requirements are gathered up front for the entire software life
    cycle.

Spiral Model

The spiral model is similar to the incremental model, with more
emphases placed on risk analysis. The spiral model has four
phases: Planning, Risk Analysis, Engineering and Evaluation. A
software project repeatedly passes through these phases in iterations
(called Spirals in this model). The baseline spiral, starting in
the planning phase, requirements are gathered and risk is
assessed. Each subsequent spirals builds on the baseline spiral.

Requirements are gathered during the planning phase. In the
risk analysis phase, a process is undertaken to identify risk and
alternate solutions. A prototype is produced at the end of the
risk analysis phase.

Software is produced in the engineering phase, along with testing at
the end of the phase. The evaluation phase allows the customer to
evaluate the output of the project to date before the project continues
to the next spiral.

In the spiral model, the angular component represents progress, and the radius of the spiral represents cost.

Spiral Life Cycle Model

SpiralModel

Advantages

  • High amount of risk analysis
  • Good for large and mission-critical projects.
  • Software is produced early in the software life cycle.

Disadvantages

  • Can be a costly model to use.
  • Risk analysis requires highly specific expertise.
  • Project’s success is highly dependent on the risk analysis phase.
  • Doesn’t work well for smaller projects.

And that’s it. If you have any input, especially your views on
advantages and disadvantages of any particular model, feel free to
leave them in the comments and I can add them to my copy.

Some link about Software Development Life Cycle Models

Overview: http://www.oxagile.com/article/228-software-development-models

Lecture: http://www.ccs.neu.edu/home/matthias/670-s05/Lectures/2.html

Fun Example: http://my.opera.com/nhanbh/blog/software-development-process

Vietnamese link: http://www.aptech.edu.vn/chitiet.php?id=292

http://www.htmedsoft.com/kythuat/congngheweb/congngheweb016.htm

http://thinh1808.wordpress.com/2008/02/27/t%E1%BB%95ng-quan-cac-mo-hinh-phat-tri%E1%BB%83n-ph%E1%BA%A7n-m%E1%BB%81m/


Thứ Ba, 29 tháng 11, 2011

Test estimation

<!--[if gte mso 9]> Normal 0 false false false EN-US JA X-NONE

In my opinion, one of the most difficult and critical activities in IT is the estimation process. I believe that it occurs because when we say that one project will be accomplished in such time by at such cost, it must happen.

If it does not happen, several things may follow: from peers' comments and senior management's warnings to being fired depending on the reasons and seriousness of the failure.

Before even thinking of moving to Systems test at my organization, I always heard from the development group members that the estimations made by the Systems test group were too long and expensive. Then, when I arrived at my new seat, I tried to understand the testing estimation process.

The testing estimation process in place was quite simple. The inputs for the process, provided by the development team, were: the size of the development team and the number of working days needed for building a solution before starting systems tests.

The testing estimation process said that the number of testing engineers would be half of the number of development engineers and one third of the number of development working days.

A spreadsheet was created in order to find out the estimation and calculate the duration of tests and testing costs. They are based on the following formulas:

Testing working days = (Development working days) / 3.

Testing engineers = (Development engineers) / 2.

Testing costs = Testing working days * Testing engineers * person daily costs.

As the process was only playing with numbers, it was not necessary to register anywhere how the estimation was obtained.

To exemplify how the process worked, if one development team said that to deliver a solution for systems testing it would need 4 engineers and 66 working days then, the systems test would need 2 engineers (half) and 21 working days (one third). So, the solution would be ready for delivery to the customer after 87 (66+21) working days.

Just to be clear, in testing time, it was not included the time for developing the testcases and preparing the testing environment. Normally, it would need an extra 10 days for the testing team.

Thứ Ba, 22 tháng 11, 2011

Paper making process essay 2

The Full paper making process

Timber

Timber used for papermaking comes from well managed forests where more trees are planted than harvested to ensure sustainable growth.

Papermakers usually use only the parts of the tree that other commercial industries don't want - such as saw mill waste and forest thinnings.

Go to publications for details of a Trees used for Papermaking Poster.

De-Barker

Bark is stripped from the logs by knife, drum, abrasion, or hydraulic barker. The stripped bark is then used for fuel or as soil enrichment.

Chipping Machine

Stripped logs are chipped into small pieces by knives mounted in massive steel wheels (used in chemical pulping process).

The chips pass through vibrating screens, whereby both undersized chips, dust etc and oversized chips are rejected.

Accepted chips are then stored in huge bins ready for the next process.

Chemical Pulping Process

Chips from the storage bins are fed into a digester to which chemicals have been added. The woodchips are then 'cooked' to remove lignin. Lignin is the binding material which holds the cellulose fibres together.

The chips are 'cooked' by heat and pressure in caustic soda and sulphur.

The chemical process is energy self-sufficient as nearly all by-products can be used to fire the pulp mill power plant. The chemical pulping process produces lower fibre yield than mechanical pulping, typically 50-60%.

Mechanical Pulping Process

Mechanical pulp yields over 90% of the wood as fiber is produced by forcing debarked logs, about two meters long, and hot water between enormous rotating steel discs with teeth that literally tear the wood apart. Alternatively, logs can be pressed against grindstones which is why this process is also known as ground wood pulp.

Trees contain up to 30% lignin, a material which is sensitive to light and degrades, and turns brown in sunlight, which explains why papers made from mechanical pulp will discolor. An example of this is newsprint. Newsprint is designed to have a short life span, and if left for a long period of time will lose its whiteness and strength. The special advantages of mechanical pulp are that it makes the paper opaque and bulky.

Hydrapulper

When the bales of wood pulp or waste paper arrive at the paper mill they are loaded onto a conveyor and passed into a circular tank containing water. This has a very powerful agitator at the bottom which breaks up the bales into small pieces.

The pulp mass created begins to look like thick porridge. This machine is known as a Hydrapulper. It operates automatically and when the disintegrating process is complete it discharges the pulp into large storage tanks.

Hydrapulpers used mainly for handling waste paper are fitted with special devices for removing unwanted contraries such as wire, plastic, paper clips, staples etc.

Blend Chest

The stock passes to a blend chest where numerous chemicals can be added to obtain the required characteristics to the finished paper. Dyes are also added, as necessary, to color the paper. Dyes fix themselves to the cellulose fibers and are fast to light and water.

Each grade of paper and board requires a very accurate blend of pulps and additives and the properties of the paper are continually monitored by computers during manufacture.



Waste Paper

Waste paper is collected from Waste Paper Banks and Commercial collections. When you deposit your used papers into a waste paper bank, you are sorting the paper into grades before the merchant collects it. This is why you can only put certain papers into a particular bank.

Many offices have in place an office recycling scheme. Again the waste paper is usually segregated ready to be collected.

Waste paper currently represents 67% of the raw material used in the UK to make paper and board.

The waste paper merchant collects the used paper which is then sorted by hand into different grades. Paper not suitable for recycling is removed.

The waste paper merchant will then bale the waste paper ready to be taken to the paper mill

De-inking

Before printed paper, such as office waste and newspapers, can be recycled the ink needs to be removed, otherwise it will be dispersed into the pulp and a dull grey paper would result.

There are two main processes for de-inking waste paper - these are known as washing and flotation.

Washing
The waste paper is placed into a pulper with large quantities of water and broken down into a slurry. Contraries -such as staples - are removed using centrifugal screens. Most of the water containing the dispersed ink is drained through slots or screens that allow the dispersed ink particles through, without taking the pulp. Adhesive particles, known as 'stickies' are removed by fine screening.

Flotation
Again the waste is made into a slurry and contaminants removed. Special surfactant chemicals are added which makes a sticky froth on the top of the pulp.

Air bubbles are blown through the pulp and these carry the inks to the surface. As the bubbles reach the top a foam layer is formed that traps the ink. The foam must be removed before the bubbles break or the ink will go back into the pulp. Because the ink is removed from the flotation machine in a concentrated form, the flotation system does not require a large water treatment plant.


Refining

This is where the cellulose fibers pass through a refining process which is vital in the art of papermaking. Before refining, the fibers are stiff, inflexible and form few bonds. The stock is pumped through a conicle machine which consists of a series of revolving discs. The violent abrasive and bruising action has the effect of cutting, opening up and declustering the fibers and making the ends divide. This is called fibrillation. In this state, the fibers are pliable and have greater surface area, which significantly improves the fiber bonding. The properties of the paper are directly related to the refining process. Refining used to be called beating.

Screening and Cleaning

Pulps contain undesirable fibrous and non-fibrous materials, which should be removed before the pulp is made into paper or board.

Cleaning involves removing small particles of dirt and grit using rotating screens and centrifugal cleaners.

Papermaking Machine

The Paper Machine is a very large piece of machinery. A typical machine is about the length of two football pitches and around 4 metres wide. It can run up to speeds of 2000 m per minute - or 60 miles per hour! The machine itself consists of 7 distinct sections. The flow box, wire, press section, drier section, size press, calendar and reeling up.

The first section of the machine is called the 'Wet End'. This is where the diluted stock first comes into contact with the paper machine. It is poured onto the machine by the flow box which is a collecting box for the dilute paper stock. A narrow apperture running across the width of the box allows the stock to flow onto the wire with the fibres distributed evenly over the whole width of the paper machine.

The machine is operated by computer control. The computer will monitor the paper for moisture content, weight etc and computer screens will show pictures of the process and should any adjustments need to be made, an alarm will sound.

Conversion and Printing

Once the paper is made, a great deal of it is converted into a product. Converters specialize in transforming reels and sheets of paper and board into a vast array of finished products for distribution such as boxes, cartons and stationery. Converters sell their products to the public or to other manufacturers.

Not all paper and board is processed by converters. Some papermakers do their own converting, for example, the manufacturers of soft tissues market their own products and sell directly to the public.

The printing industry converts large quantities of paper and board, much of which reaches the customer as newspapers, magazines or books.

Papermaking Process essay 1


The craft of making paper basically is still the same as it was when the whole notion of paper invention emerged in AD 105. The core of paper making involves preparation of stock, formation of the paper web, drying the sheet and finally application of coating and additives. Nowadays the only difference is the technology and new innovations involved in the craft.


The paper making process

European paper makers for instance, chose to craft it out of materials like cotton and linen fiber from rags. Initially, sorted and cleaned rags are heated in an alkali solution. This is done in an open vat before the rags are passed under steam pressure. Then the drained and seasoned rags are washed and macerated to a pulp that will be bleached as to remove the unwanted traces of dyes and residual darkening due to the cooking process.

Paper get its form when a paper mold is lifted out horizontally after being dipped into the vat of stock. This happens when the fibers gets trapped against the screen of the mold. Hand made paper molds consists of parallelly lengthen wires being laced together either by fine wires, threads or even woven wire mesh.

Removed sheet from the mold is pressed on the felts or woolen cloth. Post, a stack of paper sheets and felts placed in a large wooden screw press will then be tightened by the workers of the mill by pushing or pulling a long wooden lever. This leads to the production of an average of 6-8 inches post out of a 2- foot. Once this task is completed, the pressed sheets will be lifted and left to dry in relatively low number of groups known as "spurs". Far away from soot and dust the "spurs" are dried at the highest level of the mill.

Animal glue and gelatin is used to make the paper less absorbent, and this is particularly important for writing papers. Early 17th century witnessed the pioneer method for smoothing paper using glossy stone and a water-powered hammer as a finishing touch.

Thứ Hai, 21 tháng 11, 2011

The Process of Academic Writting

Writing task one: processes









You will be given a diagram of a process. Your task is to describe the information given in the diagram by writing a 150 word report. You are not asked to give your opinion.

What is being tested
Task one questions asking you to describe a process rarely appear on the IELTS test. They are different from table, graph and chart description because they test your ability to:

  • describe each important stage in the process and expand where necessary
  • link your descriptions of each stage
  • use the present simple passive

As process tasks can vary widely, it is essential that you look at a lot of examples in IELTS preparation books.
You should spend around 20 minutes on the task.

Sample task

You should spend about 20 minutes on this task.

The flow chart below shows how national examination papers are marked in Someland.

Write a report for a university lecturer describing the information below.

You should write at least 150 words.

IELTS

Your task
Complete the Task One report exercise above. Spend only 20 minutes.
Then look at the notes and the sample answer below.

Guidelines for a good answer

Does the report have a suitable structure?

  • Does it have an introduction, body and conclusion?
  • Does it include connective words to make the writing cohesive within sentences and paragraphs?

Does the report use suitable grammar and vocabulary?

  • Does it include a variety of sentence structures?
  • Does it include a range of appropriate vocabulary?

Does the report meet the requirements of the task?

  • Does it meet the word limit requirements?
  • Does it describe the whole process adequately?

Sample answers
The sample task given is simplified for the sake of explaining this kind of report task clearly. In a genuine test you can expect the process to be more complex.

The flow chart shows the marking procedures for national exam papers in Someland.

After the papers are collected, the Reading and Listening papers are marked by an administrator and then collated. The writing papers are treated differently. After collection, the writing papers are marked by an examiner. The marks are then sent to an administrator for collation while the exam papers are sent to an examination board. The board either stores the papers or reassesses them.

Strategies for improving your IELTS score

Meeting the task requirements
When you begin the writing test, look at the illustration (flow chart, diagram etc) and try to work out what the important stages are, the order they occur and any obvious reasons for the order. Your report must include every stage shown in the diagram or flow chart.

When looking at the illustration, be careful to distinguish stages which happen concurrently. (A is performed at the same time as B) and others which are alternatives (either A or B is performed). The flow chart given in the Sample Task demonstrates this problem. Look at the stages for the writing test. In the second stage we can see that the writing paper is marked by an examiner. It is then sent to the examination board while at the same time the marks are sent to an administrator. These events occur concurrently. In the final stage, the papers are either stored or reassessed. These events are alternatives.

It may happen that the diagram does not make much sense to you at first glance. Look for a starting point and follow through the stages in your mind before beginning to write. If it’s still not making sense, then go on to Task Two but make sure that you give yourself 20 minutes to complete the report before the end of the writing test time. It often happens that our brains can sort problems out for us even when we are focusing on something else.

Report structure
Like the line graphs, your report should be structured simply with an introduction, body and conclusion. Tenses should be used appropriately.

Use one standard opening sentence to introduce the report. This opening sentence will make up the first paragraph. You should state simply what the process is. For example:

The flow chart shows the marking procedures for national exam papers in Someland.

Notice that the sample opening sentence does not simply copy the words used in the task instructions. Copied sentences will not be assessed by the examiner and so you waste your time including them.

The body of the report will describe the process in a logical order.

A conclusion will generally not be necessary in this kind of report.

Grammar and vocabulary
You will receive a higher mark if your writing uses a range of structures and vocabulary correctly rather than a limited number.

If the flow chart is simple and linear then you may be able to link the stages together by simply using some of the following transition signals.

To begin with
First of all
First
Secondly, thirdly, etc
Then
Next
After that
Finally


If the process is more complex, as in the example above, then you may need to also use these words

Alternatively
Otherwise
In addition
At the same time
Concurrently

Using the present simple passive

The passive is associated with an impersonal formal style. It is often used in notices, announcements and describing processes. Compare the following sentences:

Active: The examiner marks the test paper
Passive: The test paper is marked

The two sentences have the same meaning but the emphasis is different. In the active sentence we are more interested in the person or thing doing the action (the agent).

In the passive sentence we are more interested in the person or thing affected by the action. If we want to mention the agent we use by:

The test paper is marked by the examiner

But often the agent is not important.

The passive is not another way of expressing the same sentence in the active. We choose the active or passive depending on what we are more interested in. In the first sentence we are more interested in the examiner. In the second sentence we are more interested in the test paper.

Subject is / arePast Participle(by agent)
rapidIsmarked(by the examiner)

Thứ Tư, 27 tháng 7, 2011

Conjunction in English

Conjunctions
I/To connect opposite ideas
+ but, yet, while, whereas (trong khi đó)
+ however, nevertheless (trước có dấu phẩy, dấu chấm, dấu chấm phẩy)
+ Although + clause
Though + clause
Even though + clause
Much as + clause
= Inspite of + Noun phrase
+ V-ing
+ the fact that – Noun phrase
Despite of+ Noun phrase
+ V-ing
+ the fact that – Noun phrase
II/ To connect additional ideas:
+ and
+ morrover, besides, furthermore (trước có dấu phẩy, dấu chấm, dấu chấm phẩy)
+ In addition / In addition to + Noun phrase
+ Not only… but also = Not only… but… as well.
+ What’s more
III/ To express reasons:
+ Because, as, since (đầu câu), for (giữa câu trước đó có dấu phẩy), now that
+ Because of + Noun phrase (NP)
Thanks to + NP
Due to + NP
Owing to + NP
On account of + Np
IV/ To express consequence:
+ so, therefore, thus, hence
+ consequently, as a result
+ as a consequence , the result of… , the consequence of…
+ as a result of…, as a consequence of…
V/ Expresse purposes
+ Why…?
+ What … for ?
1/
+ (not) to + V
+ in order (not) to + V
+ so as + (not) to V
2/
+ so that + S + can/will/could/would/may/might/ + V
= in order that + S + can/could/will/would/may/might + V
3/
+ to be used for + V-ing
(general purpose of a thing)
4/
+ to avoid/ to prevent (negative purposes)

Nomatter+ how+ adj+Subject+V, clause
Nomatter how hard he tried, he couldn't get a job
Nomatterwhat=whatever
nomatterwhen=whenever
nomatterhow=however
nomatterwhere= wherever
nomatterwhich= whichever
No matter + who/what/which/where/when/how + Subject + verb in present: Dù có... đi chăng nữa... thì


I.7. Liên từ và cách sử dụng
1. Liên từ kết hợp (coordinating conjunctions)
  • Dùng loại liên từ này để nối những các từ loại hoặc cụm từ/ nhóm từ cùng một loại, hoặc những mệnh đề ngang hàng nhau (tính từ với tính từ, danh từ với danh từ ...)
  • Gồm có: for, and, nor, but, or, yet
  • Ví dụ:
She is a good and loyal wife.
Use your credit cards frequently and you'll soon find yourself deep in debt.
He is intelligent but very lazy.
She says she does not love me, yet I still love her.
We have to work hard, or we will fail the exam.
He will surely succeed, for (because) he works hard.
That is not what I meant to say, nor should you interpret my statement as an admission of guilt.
Chú ý: khi dùng liên từ kết hợp để nối hai mệnh đề, chúng ta thêm dấu phẩy sau mệnh đề thứ nhất trước liên từ
Ulysses wants to play for UConn, but he has had trouble meeting the academic requirements.

2. Tương liên từ (correlative conjunctions)
  • Một vài liên từ thường kết hợp với các từ khác để tạo thành các tương liên từ. Chúng thường được sử dụng theo cặp để liên kết các cụm từ hoặc mệnh đề có chức năng tương đương nhau về mặt ngữ pháp
  • Gồm có: both . . . and…(vừa….vừa…), not only . . . but also… (không chỉ…mà còn…), not . . . but, either . . . or (hoặc ..hoặc..), neither . . . nor (không….cũng không…), whether . . . or , as . . . as, no sooner…. than…(vừa mới….thì…)
  • Ví dụ:
They learn both English and French.
He drinks neither wine nor beer.
I like playing not only tennis but also football.
I don't have either books or notebooks.
I can't make up my mind whether to buy some new summer clothes now or wait until the prices go down.

3. Liên từ phụ thuộc (subordinating conjunctions)
  • Loại liên từ phụ thuộc nối kết các nhóm từ, cụm từ hoặc mệnh đề có chức năng khác nhau - mệnh đề phụ với mệnh đề chính trong câu.
  • Ví dụ như các liên từ sau và nghĩa kèm theo của chúng:
As
1. Bởi vì: As he is my friend, I will help him.
2. Khi: We watched as the plane took off.
After: sau khi
After the train left, we went home.
Although/ though: mặc dù
Although it was after midnight, we did not feel tired.
Before: trước khi
I arrived before the stores were open.
Because: bởi vì
We had to wait, because we arrived early.
For: bởi vì
He is happy, for he enjoys his work.
If: nếu, giá như
If she is here, we will see her.
Lest: sợ rằng
I watched closely, lest he make a mistake.
Chú ý: sử dụng động từ nguyên thể trong mệnh đề “lest”
Providing/ provided: miễn là
All will be well, providing you are careful.
Since
1. Từ khi: I have been here since the sun rose.
2. Bởi vì: Since you are here, you can help me.
So/ so that
1. Bởi vậy: It was raining, so we did not go out.
2. Để (= in order that): I am saving money so I can buy a bicycle.
Supposing (= if)
Supposing that happens, what will you do?
Than: so với
He is taller than you are.
Unless: trừ khi
Unless he helps us, we cannot succeed.
Until/ till: cho đến khi
I will wait until I hear from you.
whereas
1. Bởi vì: whereas this is a public building, it is open to everyone.
2. Trong khi (ngược lại): He is short, whereas you are tall.
Whether: hay không
I do not know whether she was invited.
While
1. Khi: While it was snowing, we played cards.
2. Trong khi (ngược lại): He is rich, while his friend is poor.
3. Mặc dù: While I am not an expert, I will do my best.
As if = in a similar way
She talks as if she knows everything.
As long as
1. Nếu: As long as we cooperate, we can finish the work easily.
2. Khi: He has lived there as long as I have known him.
As soon as: ngay khi
Write to me as soon as you can.
As though = in a similar way
It looks as though there will be a storm.
In case: Trong trường hợp...
Take a sweater in case it gets cold.
Or else = otherwise: nếu không thì
Please be careful, or else you may have an accident.
So as to = in order to: để
I hurried so as to be on time.
Chú ý: Ngoài liên từ, chúng ta có thể sử dụng các trạng từ liên kết như therefore, otherwise, nevertheless, thus, hence, furthermore, consequently…
Ví dụ:
We wanted to arrive on time; however, we were delayed by traffic.
I was nervous; therefore, I could not do my best.
We should consult them; otherwise, they may be upset.
4. Phân biệt cách sử dụng của một số liên từ và giới từ có cùng nghĩa.

Liên từ Giới từ
because
although
while
because of
despite
during

– Sự khác biệt giữa chúng là: liên từ + một mệnh đề, trong khi đó giới từ + một danh từ hoặc ngữ danh từ
– Ví dụ:
They were upset because of the delay
They were upset because they were delayed.

Despite the rain, we enjoyed ourselves.
Although it rained, we enjoyed ourselves.

We stayed indoors during the storm.

Thứ Sáu, 3 tháng 6, 2011

Spring Framkework

Spring là tên gọi của một framework mới nổi trong thời gian gần đây. Có rất nhiều cách định nghĩa giải thích về Spring nhưng việc hiểu biết về Spring thì phụ thuộc nhiều vào trình độ, kinh nghiệm của người tìm hiểu. Nếu bạn hiểu biết càng nhiều về Java và J2EE thì bạn càng dễ dàng tiếp cận với Spring. Nói như vậy để thấy rằng việc đòi hỏi có một định nghĩa thật chính xác và dễ hiểu về Spring là việc không đơn giản.

Không nên nghĩ đơn giản rằng đọc một bài báo hay vài trang sách là thấu suốt mọi chuyện cũng không nên coi Spring là cái gì đó cao siêu quá. Tất cả đều bắt đầu rất logic và dễ hiểu.

Spring bắt nguồn từ J2EE với mong muốn làm đơn giản hóa các phức tạp nhiều khi không cần thiết của J2EE. Do bắt nguồn từ J2EE nên nếu bạn chưa biết gì về J2EE thì sẽ khó tiếp cận với Spring đúng không nào.

Các giải thích trước nay về Spring đều được dẫn dắt từ J2EE cho nên nó trở nên khó hiểu với độc giả chưa biết về J2EE. Sự khó hiểu của Spring còn bởi nó đề cập đến vô số khái niệm mà đa số chưa có thuật ngữ tiếng Việt tương ứng như: container (thùng chứa), business layer, persistent layer, IOC - Inversion of Control (Sự đảo ngược điều khiển), Injection Dependency (Sự phụ thuộc được tiêm vào từ bên ngoài chứ không do các đối tượng tự tạo ra)
)..

Vậy thì cách nào để tiếp cận dễ nhất với Spring?

Mọi lý thuyết đều vô nghĩa nếu như bạn chưa tự tay chạy thử một ví dụ về Spring

Các bước tiến hành

1. Download file spring jar, file chứa toàn bộ spring framework tại địa chỉ http://www.springframework.org/download.

2. Bây giờ viết 1 chương trình hello spring theo cách bước sau:
Tạo thư mục SpringExample
Tạo một project tên SpringExample nằm tại thư mục trên
Tạo lớp tên Speaker (nôm na là cái loa có một phương thức là sayHello) nằm tại thư mục SpringExample cho đơn giản

//Bat dau lop

import java.io.FileInputStream;
import java.io.InputStream;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;


public class Speaker{

public void sayHello(){

System.out.println("Hello Spring");

}

//cài đặt một hàm main ngay trong lớp này để test cho nhanh

public static void main( String args[]) throws Exception{

InputStream is = new FileInputStream("beans.xml");

BeanFactory factory = new XmlBeanFactory(is);

Speaker speaker = (Speaker)factory.getBean("Speaker");

speaker.sayHello();

}
}

//ket thuc lớp

Trong hàm main chúng ta có truy cập đến 1 file tên là beans.xml. Đây là file rất quan trọng đối với ứng dụng chạy trên Srping. Nó chứa các thông tin về cấu hình của các bean được dùng trong ứng dụng của bạn.

Bây giờ bạn tạo file beans.xml nằm cùng với file java của lớp Speaker với nội dung như sau

//beans.xml


http://www.springframework.org/dtd/spring-beans.dtd">






Bây giờ thử chạy xem bạn sẽ thấy dòng chữ Hello Spring được in ra.

Mặc dù là một ví dụ đơn giản nhưng cũng giúp bạn hình dung phần nào về Spring. Nó sẽ giúp ích rất nhiều cho bạn khi đi vào các khái niệm khá phức tạp của Spring sau này.

Như bạn đã thấy trong hàm main, việc khởi tạo đối tượng Speaker từ lớp Speaker không làm theo cách truyền thống nghĩa là

Speaker speaker = new Speaker ();

Thay vào đó, speaker được tạo thành bằng cách

Speaker speaker = (Speaker)factory.getBean("Speaker");

Trong đó, factory là một đối tượng của lớp BeanFactory (Spring có hơn một ngàn lớp/interface như vậy) có tác dụng như một nhà máy sản xuất (tạo ra) các đối tượng khi người dùng đưa các yêu cầu vào, ở trường hợp này người dùng đã yêu cầu factory tạo ra 1 đối tượng từ mẫu có tên là Speaker.


FAQ

Tôi đã xem qua ví dụ trên vậy thì IoC (inversion of control, sự đảo ngược của điều khiển) mà mọi người hay nhắc tới như là nguyên lý nền tảng của Spring nằm ở chỗ nào? Đảo ngược điều khiển là đảo ngược cái gì và đảo ngược như thế nào? Nó có gì hay không? Còn Injection Dependency (việc tiêm sự phụ thuộc vào từ bên ngoài) là gì?

Các câu hỏi này sẽ trả lời bằng 1 ví dụ minh họa trong bài tới.
----------------------------------------
Tập tin đính kèm commons-logging-1.0.3.jar (31605 bytes) (Số lần tải về: 208)

Cái gì là nguyên lý nền tảng của Spring?


Trong ví dụ rất đơn giản của bài trước, lớp Speaker có một phương thức sayHello dùng để in ra câu Hello Spring. Ta sẽ mở rộng ví dụ này ra giải thích khái niệm IoC. Mặc dù đã cố găng hết sức đơn giản hóa ví dụ nhưng nó vẫn còn tương đối phức tạp (vì ứng dụng phải phức tạp mới phải dùng đến Spring mà!).

Tuy nhiên, bản chất của nó chỉ đơn giản là khi 2 đối tượng có sự phụ thuộc lẫn nhau (ví dụ đối tượng A là một thuộc tính của đối tượng B) thì cách chương trình giải quyết sự phụ thuộc này như thế nào mà thôi.

Bây giờ, giả sử các cái loa trước khi sayHello thì cần phải đi qua một bộ phiên dịch Translator. Ta sẽ viết lớp Translator có một phương thức traslate in ra dòng chữ Hello. Để lớp này có thể in ra được nhiều thứ tiếng ta sẽ viết dưới dạng 1 interface

public interface Translator {

public void translate();

}

Sau đó viết lớp EnglishTranslator để hiện thực interface này:

public class EnglishTranslator implements Translator{

public void translate(){

System.out.println("Hello Spring");

}
}


Ta thêm vào lớp Speaker thêm một thuộc tính gọi là translator

//Bat dau lop

import java.io.FileInputStream;
import java.io.InputStream;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;


public class Speaker{

private Translator translator;

public Speaker(Translator translator) {

this.translator = translator;

}

public void sayHello(){

translator.translate();

}

//ham main viet luon trong lop Speaker de test cho nhanh. Khong su dung Spring de tao doi tuong bang factory nua ma tao bang tay de so sanh su khac biet

public static void main( String args[]) throws Exception{

Translator translator = new EnglishTranslator();

Speaker speaker = new Speaker (translator);

speaker.sayHello();

}
}

//ket thuc lớp Speaker

Chạy thử xem có in được câu Hello Spring không

Nếu không thích in ra câu Hello ta có thể viết thêm hàm VietnameseTranslator

public class VietnameseTranslator implements Translator{

public void translate(){

System.out.println("Xin chao Spring");

}
}

Để in ra đuợc tiếng Việt ta phải chỉnh lại hàm main một chút. Thay vì viết

Translator translator = new EnglishTranslator();

ta viết

Translator translator = new VietnameseTranslator();

Như vậy rõ ràng sự bất tiện xuất hiện mỗi khi ta muốn thay đổi qua lại giữa tiếng Anh và tiếng Việt. Sự phụ thuộc giữa đối tượng thuộc lớp Speaker và Translator được giải quyết trong chương trình nghĩa là khi nào muốn tiếng Việt thì ta chỉnh lại đoạn code một ít. Sự điều khiển (control) phụ thuộc (dependency) giữa các đối tượng do chương trình đảm trách. Nó là cách thông thường ta vẫn làm. Gọi là sự điều khiển bình thường.

Bây giờ ta sửa lại hàm main để sử dụng Spring

public static void main( String args[]) throws Exception{

InputStream is = new FileInputStream("beans.xml");

BeanFactory factory = new XmlBeanFactory(is);

Speaker speaker = (Speaker)factory.getBean("Speaker");

speaker.sayHello();

}

Ta thấy hàm main bây giờ không dính dáng gì đến Vietnamese và English nữa.

Và sửa lại file beans.xml


http://www.springframework.org/dtd/spring-beans.dtd">













File beans.xml bây giờ đảm nhận việc lắp ráp EnglishTranslator hoặc là VietnameseTranslator. Sự điều khiển (control) đã được đảo ngược (inversion) sang cho BeanFactory đảm trách. Hay nói cách khác Spring đã tiêm đối tượng EnglishTranslator (hoặc là VietnameseTransslator) vào trong đối tượng Speaker (Injection Dependency).

Đó là nguyên lý chính yếu nhất, nổi tiếng nhất của Spring.

FAQ

Lập trình theo khía cạnh (Aspect oriented programming) là gì? Nó liên quan gì đến Spring?

Spring dính dáng gì đến framework nổi tiếng nhất của Java J2EE?

Sping là J2EE được đơn giản hóa cho nên nó giữ nguyên các nguyên lý thiết kế của J2EE (MVC - Module View Controler gọi nôm na là 3 lớp, Transaction, Persistence, Remoting...). Thật vậy, Spring ra đời khi Rod Johnson viết cuốn sách lừng danh Expert One-on-One J2EE Development without EJB (khoảng 1000 trang, bán tại Amazon giá khoảng 27 đô http://www.amazon.com/exec/obidos/tg/detail/-...3909193-5919055?v=glance)

nghĩa là dùng Spring có thể viết các ứng dụng J2EE mà không phải dùng đến EJB làm chi cho rắc rối.

Spring đóng vai trò là tầng (không nên dùng từ lớp bởi vì dễ nhầm với class) business (thường gọi là tầng nghiệp vụ) nằm giữa tầng GUI (giao diện người dùng) và tầng database (còn gọi persistence). Triết lý mô hình 3 lớp là tầng GUI không truy cập trực tiếp xuống database mà sẽ truy cập thông qua tầng business (tầng trung gian mà).

Tại sao 3 lớp hay hơn 2 lớp?
Có rất nhiều lập luận chứng minh điều này (dài dòng và kinh viện1!) nhưng để cho dễ thuyết phục thì cứ lấy ví dụ một cái máy tính. Máy tính được lắp ráp bởi các linh kiện rời cho nên một ngày nào đó nếu nó hư CPU thì bạn thay CPU mới, rất nhanh chóng và rẻ tiền. Chuyện gì xẩy ra nếu máy tính là một cục gắn liền CPU, RAM và ổ cứng. Vậy thì có phải càng tách rời các thành phần trong 1 ứng dụng, ứng dụng càng dễ phát triển, bảo trì.


Bởi vì Spring chỉ đóng vai trò là tầng business cho nên không thể dùng mỗi Spring để xây dựng ứng dụng được mà cần thêm 2 tầng nữa (thực chất Spring cũng cung cấp các dịch vụ ở tầng GUI là Webspring nhưng hẳn nhiên là Microsoft nổi tiếng về phần mềm chứ phần cứng thì còn phải học hỏi nhiều). Spring cũng biết khả năng của mình cho nên trong số 1000 lớp/interface Spring dành khá nhiều để hỗ trợ cho các framework khác tích hợp với nó.

Lựa chọn framework cho 2 tầng còn lại (Hiện Spring đang hỗ trợ)
Tùy theo thói quen và sở trường của mỗi người, sau đây là một số gợi ý:
+ Tầng persistence: JDBC, Hibernate, JDO, iBATIS, OJB..
Trong số này Hibernate là framework ORM (Object Relation Mapping) nổi tiếng nhất.

+ Tầng GUI: web (spring MVC, Velocity, FreeMarker, Strut, Tapestry, JSF, Webwork..) (tham khảo [1]), desktop (Swing..)
Strut là web framework rất nổi tiếng ở Việt nam cũng như thế giới nhưng hiện nay project này đã bị đóng băng, giống như Honda không sản xuất Cub81 nữa.
JSF là web framework do Sun đề xướng, Sun là cha đẻ của Java mà, cho nên chắc cũng có nhiều tuyệt chiêu lắm.
Webwork là một web framework mới khá mạnh mẽ. Điểm đặc biệt là webwork còn có khả năng Inversion of Control như Spring nữa.

Nếu có dịp, tôi sẽ trở lại so sánh cụ thể hơn về mạnh yếu của cá c web framework trên.

FAQ
Làm thế nào để viết một ứng dụng tích hợp giữa mấy cái nổi tiếng lại với nhau (ví dụ Hibernate, Spring, Webwork)?
Tôi sẽ minh hoạ bằng cách ví dụ trong bài tới

Tham khảo
[1] Walls Craig, Ryan Breidenbach ,"Spring in Action", Manning 2005

Hãy bắt đầu bằng một ví dụ đơn giản theo kiểu workthrough
Yêu cầu: viết 1 ứng dụng cho quản lý sinh viên đơn giản cho phép thêm xoá sửa các sinh viên. Thông tin mỗi sinh viên bao gồm: mã số (id, khóa chính, kiếu số), họ tên (kiểu String), tuổi (kiểu số).


DEMO SPRING + HIBERNATE

Bước 1. Thiết kế database
Database này có 1 bảng tên là Student(id, name, age). Để đơn giản, ta sẽ không tạo database bằng mysql hay access mà dùng hsql là 1 dbms ảo chạy trong bộ nhớ.

Bước 2. Tạo project bằng 1 IDE cụ thể như Eclipse hoặc JBuilder. Để đơn giản thì tất cả các file class java, file cấu hình xml sẽ được để cùng 1 thư mục.

Bước 3. Tạo class Student

Bước 4. Tạo file cấu hình cho Hibernate (hibernate.cfg.xml)

Bước 5. Tạo file cấu hình để ánh xạ lớp Student vào database (Student.hbm.xml)

Bước 6. Tạo file cấu hình cho Spring (beans.xml)

Bước 7. Tạo lớp để quản lý sinh viên StudentManager.

Thứ Sáu, 8 tháng 4, 2011

Developing Skills for the TOEIC Test

Mục lục:
Introduction
Unit 1: Gerunds and Infinitives
Unit 2: Auxiliary Verbs
Unit 3: Subject - Verbs Agreement
Unit 4: Verb Form and Tenses
Unit 5: Participial Forms
Unit 6: Comparatives and Superlatives

Unit 7: Negation

Unit 8: Pronouns and Determiners
Unit 9: Nouns and Articles
Unit 10: Ralative Clauses
Unit 11: Conjunctions and Prepositions
Unit 12: Conditionals
Unit 13: Other Possible Questions
Unit 14: Review
Practice Test
Transcript and Answer Key
Appendix
Answer Sheet

DOWNLOAD
Audio CD: ttp://www.mediafire.com/?a59m6errm9f91
Ebook : http://www.mediafire.com/?2n5ge7x1sag82z1

Password : ebooktienganh.com

Chủ Nhật, 13 tháng 2, 2011

Các website hữu ích về du học bậc sau đại học (Graduate level) tại Hoa Kỳ

Các website hữu ích về du học bậc sau đại học

(Graduate level) tại Hoa Kỳ



Theoyêu cầu của nhiều bạn quan tâm đến việc học tiếng Anh, du học và xinhọc bổng tại Hoa Kỳ, Viện Giáo Dục Quốc Tế IIE Việt Nam đã lập danhsách và tóm tắt những thông tin cơ bản về một số các website hữu íchdành riêng cho bậc học Graduate để các bạn tham khảo. IIE khuyến khíchviệc phổ biến rộng rãi những thông tin này. Tuy nhiên, khi đăng tải bảndanh sách này, xin ghi rõ nguồn cung cấp:Viện Giáo Dục Quốc Tế, IIEViệt Nam, www.iievn.org.


1. HỌC TIẾNG ANH


www.talkenglish.com: Website hiệu quả để luyện speaking. Website cung cấp hàng ngàn bài học miễn phí cótính tương tác cao – người sử dụng có thể ghi âm và gửi file đến trangnày để được chấm và nhận xét; ngoài ra trang này đặc biệt hữu ích vớingười nói chậm, nói không lưu loát.
Nhữngbài học này được cung cấp bởi những giáo viên giàu kinh nghiệm và đượcchia thành nhiều chủ đề phù hợp với mục đích của người học.


www.paltalk.com: Là cộng đồng chat voice lớn nhất hiện nay với trên 4 triệu thành viên, hàng nghìn phòng chat với các chủ đề khác nhau.Đặcbiệt có những phòng chat dành riêng cho việc học TOEFL (do các nhóm họctập nước ngoài hoặc Việt Nam lập ra)hoặc chuyên luyện phát âm(do ngườibản xứ là moderator), nghe nói tiếng Anh đơn thuần, chơi trò chơi, câuđố chữ bằng tiếng Anh. Đây là một công cụ hữu ích để nâng cao khả năng nghe nói tiếng Anh của các bạn. Cácphòng chat này chỉ có vào một giờ nhất định nên các bạn cần kiểm tralại lịch học từ xa trên trang web của nhóm minh muốn tham gia.


www.dethi.com: Websitehọc tiếng Anh miễn phí với các lớp học online được chia thành nhiềutrình độ, các kiến thức tiếng Anh được giới thiệu một cách súc tích vàđộc đáo cùng các tin tức về giáo dục và du học bổ ích.


www.bbc.co.uk:
Websitethông tin về mọi lĩnh vực đời sống giúp nâng cao khả năng đọc hiểu cũngnhư nghe tin tức qua radio. Chuyên mục Learning English còn cung cấpcác bài học nghe, nói, đọc, viết về mọi chủ đề vô cùng hữu ích.


www.vietanhedu.com: Website cung cấp thông tin giáo dục du học và học tiếng Anh trực tuyến.


www.manythings.org:Cung cấp những bài giảng về ngữ pháp, các bài luyện nghe, các bàiquizzes cung cấp tin tức hàng ngày giúp người học tiếng Anh nâng cao cả4 kĩ năng của mình.


www.english-test.net: Cung cấp các bài tests miễn phí để chuẩn bị cho các kì thi đã được chuẩn hoá cũng như để nâng cao khả năng tiếng Anh nơi chung.


www.courseworkbank.co.uk: (thay cho essaybank đã đóng cửa)kho tài liệu với rất nhiều bài luận chất lượng cao được viết bởinhững sinh viên Anh quốc về nhiều đề tài phong phú. Những bài luận nàyđược cung cấp đến người sử dụng miễn phí.


www.englishforvietnamese.com:Kho tài liệu essays và các bài luyện thi TOEFL, IELTS, TOEIC, SAT,GMAT… Ngoài ra website còn có thông tin học bổng và hỗ trợ tàii chínhcho sinh viên quốc tế.


www.effective-public-speaking.com:Những bài học để luyện tập kĩ năng thuyết trình, được soạn bởi giáo sưPearson Brown, người đã có 25 năm kinh nghiệm giảng dạy kĩ năng thuyếttrình cho mọi đối tượng.


www.englishtips.org:Kho tài liệu trực tuyến lớn nhất cung cấp các sách luyện thi, sách rènluyện kĩ năng tiếng Anh, audiobooks, tạp chí và phần mềm học tiếng Anhmiễn phí.


www.englishtime.us:Website cung cấp tài liệu tiếng Anh và các khoá học phù đạo các môn họcnhư Toán, Lý, Hoá, Văn,… bằng tiếng Anh cho những người chuẩn bị đi duhọc và học sinh ôn thi Đại học.


www.ttvnol.com (mục Ngoại ngữ) cónhiều câu lạc bộ (online và offline) với các hình thức học tập hết sứcđa dạng, kết hợp với những họat động ngoại khóa bổ ích để nâng caotiếng Anh như du lịch, clb thuyết trình v.v…


www.vietnameseonline.net: Diễn đàn trao đổi ngôn ngữ, văn hóa giữa người Việt Nam và những người nước ngoài muốn học tiếng Việt.


www.knowledgerush.com: Kho sách văn học khổng lồ bao gồm truyện nhiều thể loại, thơ, vănxuôi và kịch. Kèm theo còn có tiểu sử, cuộc đời nhiều nhà văn và thảoluận về những cuốn sách hay. Bên cạnh đó, website còn có một 1 bộ báchkhoa toàn thư với rất nhiều thông tin bổ ích và 1 khu vực để bạn đọclàm thơ. Nếu bạn có niềm đam mê với thơ ca thì đây là 1 website lýtưởng để đăng tải và chia sẻ những tác phẩm của bản thân!


www.worldebookfair.com:Cung cấp ebooks miễn phí trong thời điểm cụ thể, được tổ chức hàngnăm. Bạn có thể vào mục Collections để tham khảo danh sách các đủ loạiebook miễn phí từ truyện thiếu nhi cho đến audio books đủ các thể loại,với trên 100 ngôn ngữ.



2. CHUẨN BỊ CHO CÁC KỲ THI ĐÃ ĐƯỢC CHUẨN HÓA (GRE, TOEFL, GMAT, etc…)


www.number2.com:

Trangweb duy nhất cung cấp những bài thi hoàn chỉnh và miễn phí củac Sat,Act, Gre…Ngoài ra còn cho phép các bạn luyện tập từ vựng của mình dùbạn ở trình độ nào. Website không chỉ phục vụ cho học sinh mà còn nhắmđến đối tượng là giáo viên, gia sư… cùng học và theo dõi trình độ họcsinh của mình.


www.duhocvn.org: Là kho tài liệu tiếng Anh với rất nhiều đầu sáchvà phần mềm
hay để luyện thi TOEFL, IELTS, SAT, GMAT, GRE…Website còn cung cấp các thông tin về các nhóm học ôn thi kỳ thi chuẩn hóa TOEFL, GRE, SAT
và học bổng của Hoa Kì, Anh, Nhật cùng nhiều nước khác.


www.urch.com/forumsiễn đàn có những thông tin rất bổ ích cho các kỳ thi chuẩn hoá cũngnhư việc nộp đơn du học ở Hoa Kỳ. Các bậc học đại học, sau đại học,thạc sỹ, tiến sỹ, các chuyên ngành như Luật được thể hiện khá đầy đủ vàchi tiết.


supervocab.com:
Mộttrang tuyệt vời để học từ vựng cho TOEFL, SAT hay GRE. Ở đây bạn có thểtìm thấy danh sách những từ cần học với định nghĩa đầy đủ dễ hiểu cùngcách phát âm. Một vài tính năng đặc biệt của trang web là danh sách vídụ mà trong đó những từ SAT, GRE hoặc TOEFL được áp dụng vào hoàn cảnhthực tế; các bài kiểm tra trắc nghiệm có tính tương tác cao, trò chơiHangman, virtual Flashcard để kiếm tra vốn từ cần phải học của bạn.Ngoài ra bạn cũng có thể luyện kỹ năng nghe hiểu bằng những bài diễnvăn, nói chuyện hết sức bổ ích với bài tập nghe và điền câu vào chỗtrống khá độc đáo (Có kèm theo lời thoại để bạn đối chiếu).


www.wordhacker.com/en/articles.htm:
Các kỹ năng và cách học tiếng Anh(đặc biệt là từ vựngvà cách phát âm) hiệu quả cùng danh sách từ TOEFL, SAT và GRE – tàiliệu không thể thiếu để ôn thi các kỳ thi chuẩn hóa với những địnhnghĩa đơn giản và dễ hiểu!



3. THÔNG TIN VỀ CÁC KỲ THI ĐÃ ĐƯỢC CHUẨN HÓA


www.iievn.org/Academic.htm:
Website của IIE, cung cấp thông tin về các kỳ thi chuẩn hoá và dự thi Toefl nội bộ, SAT, GRE tại Việt Nam.


www.ets.org/toefl TOEFL) Website chính thức để đăng ký dự thi và tìm hiểu thông tin về bài thi TOEFL.Bạncó thể tìm mọi thông tin về kỳ thi TOEFL tại đây như địa điểm và ngàythi TOEFL (pbt, cbt và ibt) trên toàn thế giới, tìm hiểu cách chấm điểmcác phần thi, nội dung bài thi v.v…. Bạn cũng có thể mua bài thi thử,đăng ký tham gia chương trình học TOEFL từ xa và tham gia diễn đàn củanhững người cùng thi TOEFL như bạn để trao đổi thông tin hoặc tham giacác nhóm học tập ảo trên mạng. Để xem trang thông tin chính thức về kỳthi TOEFL bằng tiếng Việt, các bạn cũng có thể tham khảo trang web
www.toefl.com.vn.


www.ets.org/toeic TOEIC) Websitechính thức để đăng ký dự thi và tìm hiểu thông tin về bài thi TOEIC.Các chức năng và lợi ích tương tự như website về TOEFL.


www.ets.org/gre: (GRE) Websitechính thức để đăng ký dự thi và tìm hiểu thông tin về bài thi GRE. Cácchức năng và lợi ích tương tự như website về TOEFL.


www.mba.com GMAT) Website cung cấp thông tin chính thức về kỳ thi GMAT. Ngoài ra còn có
giới thiệu về ngành học những lời khuyên bổ ích trong việc lựa chọn trường cũng như các hìnhthức học phù hợp với bạn (một năm, hai năm, học bán phần hoặc toànphần…). Website cho phép bạn đăng ký tham dự kỳ thi và cung cấp các bước chuẩn bị cần thiết cho bài thi
GMAT.


www.lsac.org: (LSAT)Là kho tài liệu phong phú đối với những thí sinh quan tâm đến ngànhluật. Website cung cấp những thông tin hữu ích về kỳ thi LSAT, họcbổng, những forum liên quan cũng như những câu hỏi thường gặp. Bạn cũngcó thể download những tài liệu cần thiết, videos cũng như thứ tự xếphạng của các trường Luật hàng đầu.


4. THÔNG TIN DU HỌC CHUNG


www.educationusa.state.gov:Website hữu ích cho những ai quan tâm đến nền giáo dục Hoa Kỳ. Cácchương trình học, đại học, sau đại học được giới thiệu rất kỹ ở đây.Ngoài ra, website còn cung cấp thông tin về việc sống, học tập ở Mỹ,giúp các học sinh quốc tế làm quen với môi trường học tập mới nhanh hơn.


www.vco-edusa.net:Thư viện khổng lồ chứa các câu hỏi thông tin liên quan đến du học HoaKỳ được dịch ra nhiều thứ tiếng khác nhau. Các đường link bổ ích, thôngtin mới nhất được cập nhật liên tục.


www.gradschools.com:Website cung cấp thông tin về 58,000 khoá học sau đại học, được chiatheo chương trình học và vùng địa lý, rất thuận tiện cho việc tra cứucủa người sử dụng.


www.gradsource.com:Ngoài việc sử dụng công cụ tìm kiếm, người sử dụng còn có thể yêu cầuthông tin để hiểu thêm về khoá học cũng như những hình ảnh về trườngđại học đó.


www.fulbright.co.uk/eas:Cung cấp đầy đủ thông tin về nộp đơn du học bậc đại học và sau đạihọc với 1 cách sắp xếp rất khoa học và dễ nắm bắt. Bạn có thể tìm hiểutừ cách bắt đầu quá trình nộp đơn, bài giới thiệu về các bài thi chuẩnhóa, chiến lược nộp hồ sơ, thông tin cần biết về 1 số ngành học phổbiến tại Mỹ như Y khoa, Dược, Tài chính ngân hàng v.v… cho đến nhữngcâu chuyện apply thành công của các thí sinh trước kia tại đây. Mục“Find a school” rất hữu ích cho việc chọn trường.


www.us-guide.org:Website bằng tiếng việt cung cấp thông tin hữu ích về giáo dục Hoa Kỳ.Rất thuận lợi cho những ai có khả năng tiếng anh hạn chế tìm hiểu vàtra cứu các bước chuẩn bị, kinh nghiệm và lời khuyên. Thư viện cung cấpdanh mục sách ở để các bạn tiện tra cứu. Các cơ hội học bổng và cơ hộihọc nhóm cũng sẽ được tìm thấy ở đây.


www.petersons.com/educationusa:Thông tin chung về tất cả các ngành học, từ đại học, sau đại học,chuyên ngành, hỗ trợ tài chính cũng như học bổng cho giáo dục tại HoaKỳ. Định hướng nghề nghiệp cũng như các nguồn tư liệu tham khảo cũng sẽgiúp ích các bạn rất nhiều


www.internationalstudentguidetotheusa.com:Kho tư liệu phong phú cho du học sinh đến với nước Mỹ. Nhận xét về hồsơ, đưa ra các phương pháp giáo dục cụ thể, website khuyến khích họcsinh xác định các bước rõ ràng khi nộp đơn nhập học ở các trường Đạihọc Mỹ. Công cụ tra cứu hoàn chỉnh giúp học sinh dễ dàng hơn trong việctìm hiểu về các trường đại học quan tâm.


www.duhocvn.org:Website đặc biệt hữu ích cho cả các học sinh lẫn cha mẹ. Các thông tincơ bản được trình bày khá hoàn chỉnh. Tài liệu phong phú được updateliên tục giúp các bạn có những tư liệu quí để tự thực hành tiếng anh.Diễn đàn là nơi các bạn trao đổi những thắc mắc và học tập từ nhữngthành viên trong diễn đàn.


www.collegeconfidential.com:Một trong những trang web có số lượng học sinh, giáo viên và phụ huynhtruy cập lớn nhất. Bao gồm nhiều mục khác nhau và tương đối đầy đủthông tin về quá trình xin học ở Mỹ. Những chỉ dẫn hiệu quả, thông tintuyển sinh, vấn đề tài chính, đời sống học đường, thảo luận… là nhữngđiều làm nên thành công của website. Website còn cung cấp thông tin vềviệc học online, lấy văn bằng, tín chỉ từ xa mà không cần tham gia vàobất cứ một khoá học trực tiếp nào.


www.internationalstudent.com:Website về các vấn đề liên quan đến du học ở Mỹ, Anh và úc. Học bổng,vay để học, vấn đề di chuyển khi du học, việc làm… được trình bày kháđầy đủ và chi tiết.



5. BÀI LUẬN


www.teenink.com:
Websitenày có những bài viết hết sức sinh động và thú vị của các bạn tuổiteen: từ bài báo, mẩu chuyện nhỏ cho đến những bài thơ và kể cảPersonal statement(bài luận cá nhân dùng để nộp đơn đại học)nữa.Tất cả sẽ rất hữu ích trong việc nâng cao trình độ đọc hiểu và viết luận của bạn.


www.bignerds.com :Các bài luận mẫu và đề bài của các kỳ thi học kỳ sẽ được tìm thấy ởwebsite này. Chỉ cần bạn gõ đề bài luận, bạn sẽ tìm thấy hàng ngàn bàiluận mẫu. Một cách tham khảo độc đáo và hiệu quả.


www.123student.com:Website cung cấp bài luận mẫu cho rất nhiều ngành: lịch sử Mỹ, địa lý,kinh tế, văn học, luật… Ngoài ra còn các đường link dẫn tới các websitephục vụ cho thông tin du học ở Mỹ và các kỳ thi chuẩn hoá.


www.able2know.com/forums:Forum cực kỳ hữu ích và thuận tiện cho việc tra cứu. Tiếng Anh, lịchsử, khoa học, và cả các ngôn ngữ khác. Các bạn cũng có thể gửi bài luậncủa mình lên forum để các thành viên sửa và nhận xét.


www.wayabroad.com/twe
:Nếu bạn đang gặp khó khăn trong phần viết luận ôn thi TOEFL, GRE, GMAT,IELTS, SAT v.v… thì website này là một địa chỉ vô cùng hữu ích. Ngoàihàng ngàn bài luận mẫu để tham khảo thì bạn cũng có thể nộp bài luậncủa mình để được chấm điểm miễn phí.


* Lưu ý: Bạn chỉ nên tham khảo các bài luận mẫu, việc sao chép thông tin có thể ảnh hưởng nghiêm trọng đến việc apply của bạn.



6. FORUM CỦA DU HỌC SINH VIỆT NAM


www.mba.us-guide.org:
Mộtforumđặc biệt hữu ích dành cho các bạn quan tâm đến MBA. Các thông tin vềcác kỳ thi chuẩn hoá như TOEFL, GMAT, việc hỗ trợ tài chính, kinhnghiệm chọn trường và chọn ngành học được cập nhật liên tục.


www.ttvnol.org:Website lớn nên sức ảnh hưởng tương đối rộng, các bạn trao đổi nhữngthông tin rất thiết thực cho việc du học không chỉ ở Hoa Kỳ mà cònnhiều nước khác.


www.duhocvn.org: Websiteđặc biệt hữu ích cho cả các học sinh lẫn cha mẹ. Các thông tin cơ bảnđược trình bày khá hoàn chỉnh. Tài liệu phong phú được update liên tụcgiúp các bạn có những tư liệu quí để tự thực hành tiếng anh. Diễn đànlà nơi các bạn trao đổi những thắc mắc và học tập từ những thành viêntrong diễn đàn.


www.mangduhoc.com:Website có lượng thông tin lớn về nền giáo dục ở khắp nơi trên thế giớitrong đó du học Mỹ có một vị trí quan trọng. Thông tin về những tấmgương du học sinh Việt Nam học tập thành công ở Mỹ giúp các bạn nỗ lựcphấn đấu hơn nữa trong việc học tập.


www.svduhoc.com/forum:Thông tin du học Hoa Kỳ, các bước nộp đơn, kinh nghiệm, câu hỏi thảoluận của tất cả các ngành và trình độ: đại học, sau đại học… cùng forumlinh hoạt, câu hỏi liên quan và những tin mới nhất về việc du học Mỹ.



7. HỌC BỔNG/HỖ TRỢ TÀI CHÍNH


www.FundingUSStudy.com:Website hỗ trợ hiệu quả du học sinh đến Mỹ học tập. Dựa vào công cụ tìmkiếm, bạn có thể tìm thấy trường, địa lý, ngành học phù hợp. Giới thiệucác loại học bỗng và hỗ trợ tài chính là ưu tiên số một của website.


www.fastweb.com:Thông tin về trường học, học bổng, các nguồn hỗ trợ tài chính cùng việcthực tập sẽ giúp đỡ các bạn rất nhiều trong quá trình xin học tại HoaKỳ. Đặc biệt, khi bạn đăng ký tài khoản trong website, website sẽ tựđộng gửi vào hòm thư của bạn những thông tin về học bổng mới nhất.


www.internationalstudent.com: Websitevề các vấn đề liên quan đến du học ở Mỹ, Anh và úc. Học bổng, vay đểhọc, vấn đề di chuyển khi du học, việc làm… được trình bày khá đầy đủvà chi tiết.


www.scholarshipexperts.com:Công cụ tìm kiếm học bổng hiệu quả với trên 2.4 triệu học bổng được sắpxếp theo từng khu vực, quốc gia và lĩnh vực mà người sử dụng quan tâm.


www.finaid.org: Kho dữ liệu về học bổng và thông tin hỗ trợ tài chính bậc đại học và sau đại học.


www.InternationalScholarships.com: Website này cung cấp nhiều thông tin, những bàii viết và đặc biệt là các chỉ dẫn, đường link cho sinh viên quốc tế.


www.free-scholarships–and-financial-aid.com:Kho dữ liệu giúp bạn hiểu rõ về quá trình nộp đơn vào các trường đạihọc và là công cụ tìm kiếm học bổng và các nguồn hỗ trợ tài chính.


www.scholarshipnet.info/ :Kho thông tin học bổng phong phú để du học tại nhiều nước trên toàn thếgiới, dành riêng cho sinh viên quốc tế. Bao gồm học bổng dành cho bậchọc đại học, sau đại học và cả các khóa học non-degree (không cấp bằng).



8. VISA


www.unitedstatesvisas.gov:
Website chính thức cung cấp thông tin về thủ tục làm visa vào Hoa Kỳ.


vietnam.usembassy.gov:Website chính thức của Đại sứ quán Hoa Kỳ tại Việt Nam, cung cấp nhữngthông tin cập nhật và chính xác về thủ tục làm visa cùng những vấn đềvà chính sách của Hoa Kỳ.



9. THÔNG TIN CÁC TRƯỜNG ĐƯỢC
KIỂM DỊCH CHẤT LƯỢNG (ACCREDITATION) VÀ THỨ TỰ XẾP HẠNG


Các bạn chỉ nên tham khảo các bảng xếp hạng, không nên coi đây là tiêu chí duy nhất để đánh giá chất lượng của một trường.


www.usnews.com
: Website cung cấp thứ tự xếp hạng của các trường đại học và cao đẳng của Hoa Kỳ được đánh giá chất lượng hàng năm.


www.businessweek.com: Website cung cấp thứ tự xếp hạng chất lượng chương trình quản lí MBA bậc đại học và sau đại học.


www.chea.org: Website cung cấp danh sách 60 tổ chức và 3000 trường đại học cùng các khoá học đã được kiểm định chất lượng