Growing your own plants is a bit of a trick and for most folks it's probably better and easier to buy plants. Those with limited space should lean toward the vegetables that give the largest yield per square foot. In this respect tomatoes are probably the first choice. Determinate varieties take up little space and staking the plants uses even less. Head lettuce is difficult to grow so stick with the leaf varieties.
Beets are great as are broccoli, cabbage, eggplant, peppers and parsley.
Swiss chard is great with its successive cuttings. Yellow summer squash and zucchini yield well but watch for vine borers. Make successive plantings particularly with lettuce and beans. Don't plant more than you can use as it becomes useable. Corn, pole beans, melons, cucumbers and potatoes are great but they take up a lot of room.