A bull spread is an options strategy in which maximum profit is gained if the underlying security rises in price. Either calls or puts can be used. The lower strike price is purchased and the higher strike price is sold. The options have the same expiration date.
A bull call spread is a type of vertical spread. It contains two calls with the same expiration but different strikes. The strike price of the short call is higher than the strike of the long call, which means this strategy will always require an initial outlay (debit). The short call's main purpose is to help pay for the long call's upfront cost. A different pair of strike prices might work, provided that the short call strike is above the long call's. The choice is a matter of balancing risk/reward tradeoffs and a realistic forecast. The benefit of a higher short call strike is a higher maximum to the strategy's potential profit. The disadvantage is that the premium received is smaller, the higher the short call's strike price. 
A bull put spread is another strategy of short a put option and long another put option with the same expiration but with a lower strike. The short put generates income, whereas the long put's main purpose is to offset assignment risk and protect the investor in case of a sharp move downward. Because of the relationship between the two strike prices, the investor will always receive a premium (credit) when initiating this position. This strategy entails precisely limited risk and reward potential. This spread can earn most is the net premium received at the outset, which is likeliest if the stock price stays steady or rises. If the forecast is wrong and the stock declines instead, the strategy leaves the investor with either a lower profit or a loss. The maximum loss is capped by the long put.