Welcome to Computer Science for Everyone. I developed this website in an effort to provide easy to understand programming lessons and tutorials to anyone who wants to learn programming.

Here you will find over two hundred free lessons on C Programming as well as Web Development, including over 60 video lessons.

Would you like to receive personal programming instruction from Carl?

Group sessions as well as individual one-on-one instruction is available, and having a programming instructor can greatly help speed up the process of learning how to program. In a group session you can learn with others as well as ask questions during and after each session. In an individual session there is only you for the entire time. Either way, I will personally teach you how to program from the ground up. This is a limited time offering, as there are only so many people I can personally teach.

Courses currently being offered for November and December 2013:

  • Beginner C Programming -- Learn the basics of how to build your own C programs, including a complete tutorial on the C Programming language. You will also learn about what all programming languages have in common, and how to think like a programmer. Recommended if your goal is to build real applications and games that run on a computer, mobile device, etc.

  • Beginner Web Development -- Learn how to build your own websites and web applications. In this course we will cover a variety of web languages and technologies including HTML, CSS, PHP, JavaScript, and more. Recommended if your goal is to build web applications or work as a web developer.

If you are interested to learn more about this option, please submit the form below. Your personal information will never be revealed to any third party. Note: You must provide at least a valid email address or a valid Skype id or we have no way to contact you. Please note that there are a limited number of slots available, and requests will be honored on a first come first serve basis.

Your First Name:
Your Email Address:
and/or Your Skype Id:

If you haven't already, be sure to subscribe to our Reddit Page to be made aware of new lessons and other developments. Started in 2009, it has grown to nearly 15,000 subscribers.

Start with Course #1, and proceed through each lesson one at a time.

Along the way, you will continue to learn more about C and programming. Once you finish the first course, proceed to course #2, "Writing Basic Programs".

Because some people learn better by watching videos, and other people learn better by reading, every lesson is provided as both video and text whenever possible.


  1. Over 120 lessons, including more than 60 video lessons on programming, with new content and features being added regularly.
  2. A discussion area for every unit and lesson, monitored by Carl and other volunteers to make sure that you can receive quick answers to any programming question you have.
  3. Interactive quizzes built into each unit to test your understanding, and to help make sure that you master the material as you learn.
  4. An active community of nearly 15,000 members on Reddit that you can learn with, as learning a new skill with others increases your chances of success

This entire website and all of its features are offered entirely free of charge, however donations to help offset the cost of maintaining this site and providing new content are both welcome and appreciated.

Register for free to earn points, track your progress, and get real-time answers to your questions.

The only information that will be asked of you is your desired username, your first name, and your desired password. This information will not be revealed without your consent.

Below is a list of all free courses available.

Simply click on the course you wish to begin.

Beginner C Programming

  1. #1 Click Here to Start Learning How To Write Programs Lesson 1 : Start here if you have little or no programming background. Even experienced programmers may find new and interesting details as well as a helpful refresher in this course.
  2. #2 Writing Basic Programs (After You Finish Course #1) In this course I will continue from where the last course ended by showing you how you can start writing more advanced programs, starting with a simple Tic-Tac-Toe game.

Remember, any time you ever get stuck or have a question, just feel free to ask in the discussion area below every lesson. Carl and a team of volunteers are always available to help you. Unlike a programming book, this is an interactive course.

If you know of anyone who would also be able to benefit from these lessons, please let them know that this resource exists.