You're better off starting from some point that you can define yourself. If you are building a Black Jack game ask yourself:
What is a black jack game?
What is required to play a black jack game?
What are the real world rules for the game?
Start jotting down answers to these questions and you might get something like this:
Black jack requires cards, at least one player, a dealer or "house", a playing table, etc. (you don't have to implement everything you think of for example you don't necessarily need to program a "playing table")
So now you can ask what is a card?
A card is an object that has one of four suits and one of 13 values.
Now that you know the "physical" properties of a card you can start creating a Card class.
Then think about how the cards are used and start writing methods for manipulating the cards. You'll need a deck of at least 52 and some way to randomly generate them without duplicating them (assuming one deck).
From there you can go any direction you'd like. Make it as simple or as complex as you'd like.
I think if it were me I would be making card objects that are stored in deck objects that have methods that simulate dealing random (shuffled) cards.
When doing a school project it is, in my opinion, more useful to build it all from scratch. When you get stuck it might be useful to examine similar code to reverse engineer to get some ideas but, you should never integrate some other programmer's code without proper citation.