The answer depends on what you are looking for in life. Are you looking to be a freelance CS, because you want work-life balance or personal freedom, ....? Depending upon your personal reason, that will define what "successful" means. Does success = freedom, so that you can ride along the Rideau Canal or does success = $$$, so that you will be able to travel/dine first class, etc.
Regardless of what your definition of success is, you will find that freelance work will be hard to come by for someone who just graduated from school with minimal to no on the job experience. To be "successful" you will need to build up your experience and project portfolio so that you can land freelance jobs. So to set yourself up for success, I would recommend that you find an employer (1st job) whose culture matches your criteria for success so that you don't feel like you gave up on your dream of freelancing.
Best of luck to you.
There are plenty of opportunities to work as a freelance software developer. There are lots of contract software development opportunities available. Just look at one of the contract hiring boards, like dice.com or craigslist, to get a feel for the variety of assignments out there. It is a bit of work to break into this field: once you have some projects under your belt and a track record of success, it's easier to get more work. It might make sense for you to work as a salaried employee for a few years to get some experience.
It's also helpful to pitch yourself as a specialist in something people need. So-called "line of business" web applications (custom applications for particular business purposes) can be an excellent way to position yourself.
"Computer scientist" in the working world usually refers to a university professor or member of technical staff in a research organization. Many computer scientists have PhD degrees and are motivated by pushing the boundaries of knowledge. That sounds hard to do on a freelance basis without at least a few years in an university or research lab.
Freelance work is not something realistic for someone just starting out post college employment. We all want flexibility and work/personal life balance. I would suggest you start out with any job you can land and build up your experience and resume. Try to set yourself a part from the rest and become a subject matter expert. It's like building a house - the foundation is important to the structure and any additions you make! Use your early years to learn as much as you can then branch to freelance work. I started out as a programmer way back in the day when the job market was flourishing and companies would provide you with 6 months of training. Later on after getting married and starting a family, I did some freelance consulting and started doing technical training. I loved the flexibility to work around my kids and the earning potential was pretty good, too. I was fortunate that my husband worked for a big company and was able to carry the medical benefits for us. That's another consideration - when you work for a company the benefits come with your employment. If you freelance you will have to pay for your own insurance which is expensive.
The most important thing is to land on your feet and to gain experience.
Best of luck to you!