<p>As a university professor, I get questions like this a lot, from students who want to use their summers productively. I <a href="https://cseducators.stackexchange.com/questions/7859/online-bootcamps/8036#8036">just wrote an answer</a> about MOOCs (massive online open course; often free) vs online degrees vs bootcamps, that might be relevant. The point is that there are TONS of free resources, and you really shouldn't pay for an online course until you've got the basics down (which you can do via free courses).</p>
<p>My general advice is that, if you're trying to learn something normally taught at a university, you'd be better off following an actual university syllabus, a well-known textbook, and perhaps some videos that go through the material. For the basics of &quot;how to code&quot; there are plenty of free online resources you can use to sharpen your skills (like <a href="https://codingbat.com/python" rel="nofollow noreferrer">CodingBat</a>), but it's really best to get the fundamentals from an actual university curriculum. If you learn how to program from a blog, you will probably end up with all sorts of bad habits that you have to un-learn later. Also, it reinforces the wrong idea that CS is about programming. Actually, it's about problem solving and computational thinking, and that difference matters a lot as you go on to courses beyond the intro level.</p>
<p>That said, if you are trying to self-study an undergraduate CS degree with online resources, you might end up kissing a lot of frogs before you find something good. When you ask &quot;is it worth the time,&quot; usually the answer is to just try it. If you've gotten the basics from a book/syllabus/MOOC, then you can start to judge if the online course you're taking is useful to you or not. Lastly, after you get the foundation, it's good to do some self-driven projects and host them on your GitHub, to show a portfolio of work you've done that illustrates you've actually understood and synthesized the material you self-studied. Just saying &quot;I completed online courses X,Y,Z&quot; is not really going to be enough to get a job.</p>

CC BY-SA 4.0
2024-03-31T15:21:59.240Z
2024-03-31T15:21:59.240Z
David White
<p>I'm trying to learn computer science on my own and one of the resources I'm using is (<a href="https://github.com/ossu/computer-science" rel="nofollow noreferrer">https://github.com/ossu/computer-science</a>) , so I found many people criticizing the &quot;How to Code - Simple Data&quot; course here (<a href="https://www.classcentral.com/course/edx-how-to-code-simple-data-3465" rel="nofollow noreferrer">https://www.classcentral.com/course/edx-how-to-code-simple-data-3465</a>), so I just want to know if it's worth the time or not, if not can you please recommend a free alternative of this course?</p>

CC BY-SA 4.0
2021-09-24T15:17:40.100Z
How did you choose that class?  What are your goals?
Ben I.
CC BY-SA 4.0
2021-09-24T16:09:17.930Z
To learn as much computer science as I can without going to a university. @BenI.
Monkey Brain
CC BY-SA 4.0
2021-09-24T17:17:55.703Z
With the goal of... being a programmer in industry?  Being a programmer for fun projects on your own?  Learning the mathematical foundations of CS?  Imitating a CS degree?  Those are all vastly different goals.  CS is huge field.  It's like saying you want to learn about the arts, and asking whether a particular course on oboe repair is a good place to start.  It might be, but it all depends on where you're trying to go with it.
Ben I.
CC BY-SA 4.0
2021-09-24T18:04:41.597Z
I think I want to imitate a cs degree and ,(more importantly), gain as much knowledge as I can on the CS field,(I just might dive in security related stuff later on). From your answer, I think I'm gonna go for it, Thank you for your time @BenI. <3
Monkey Brain
CC BY-SA 4.0
2021-09-26T01:23:46.743Z
If you want to learn a "CS degree equivalent", take a look at the [ACM/IEEE guidelines](https://www.acm.org/education/curricula-recommendations), that gives you a good idea what that (should) cover, and to what depth. Just be clear that this will be some 4-6 years of continuous effort.
vonbrand
CC BY-SA 4.0
2024-04-01T13:22:17.010Z
You say to learn computer-science. What does that mean to you? What do you want to learn? Want to do? (most people are surprised when they find out what is in and not in a computer science course).
ctrl-alt-delor
<self-learning>
Is the "How to Code - Simple Data" course worth taking?
# Is the "How to Code - Simple Data" course worth taking?

(Asked by: username_0 on 2021-09-23)

I'm trying to learn computer science on my own and one of the resources I'm using is (<https://github.com/ossu/computer-science>) , so I found many people criticizing the "How to Code - Simple Data" course here (<https://www.classcentral.com/course/edx-how-to-code-simple-data-3465>), so I just want to know if it's worth the time or not, if not can you please recommend a free alternative of this course?

**Tags:** self-learning

> **Comments:**
> **username_1**: How did you choose that class?  What are your goals?  
> **username_0**: To learn as much computer science as I can without going to a university. @BenI.  
> **username_1**: With the goal of... being a programmer in industry?  Being a programmer for fun projects on your own?  Learning the mathematical foundations of CS?  Imitating a CS degree?  Those are all vastly different goals.  CS is huge field.  It's like saying you want to learn about the arts, and asking whether a particular course on oboe repair is a good place to start.  It might be, but it all depends on where you're trying to go with it.  
> **username_0**: I think I want to imitate a cs degree and ,(more importantly), gain as much knowledge as I can on the CS field,(I just might dive in security related stuff later on). From your answer, I think I'm gonna go for it, Thank you for your time @BenI. <3  
> **username_2**: If you want to learn a "CS degree equivalent", take a look at the [ACM/IEEE guidelines](https://www.acm.org/education/curricula-recommendations), that gives you a good idea what that (should) cover, and to what depth. Just be clear that this will be some 4-6 years of continuous effort.  
> **username_3**: You say to learn computer-science. What does that mean to you? What do you want to learn? Want to do? (most people are surprised when they find out what is in and not in a computer science course).  

---

## 1 answers

### Answer by username_4 on 2024-03-31. Score: 1

As a university professor, I get questions like this a lot, from students who want to use their summers productively. I [just wrote an answer](https://cseducators.stackexchange.com/questions/7859/online-bootcamps/8036#8036) about MOOCs (massive online open course; often free) vs online degrees vs bootcamps, that might be relevant. The point is that there are TONS of free resources, and you really shouldn't pay for an online course until you've got the basics down (which you can do via free courses).

My general advice is that, if you're trying to learn something normally taught at a university, you'd be better off following an actual university syllabus, a well-known textbook, and perhaps some videos that go through the material. For the basics of "how to code" there are plenty of free online resources you can use to sharpen your skills (like [CodingBat](https://codingbat.com/python)), but it's really best to get the fundamentals from an actual university curriculum. If you learn how to program from a blog, you will probably end up with all sorts of bad habits that you have to un-learn later. Also, it reinforces the wrong idea that CS is about programming. Actually, it's about problem solving and computational thinking, and that difference matters a lot as you go on to courses beyond the intro level.

That said, if you are trying to self-study an undergraduate CS degree with online resources, you might end up kissing a lot of frogs before you find something good. When you ask "is it worth the time," usually the answer is to just try it. If you've gotten the basics from a book/syllabus/MOOC, then you can start to judge if the online course you're taking is useful to you or not. Lastly, after you get the foundation, it's good to do some self-driven projects and host them on your GitHub, to show a portfolio of work you've done that illustrates you've actually understood and synthesized the material you self-studied. Just saying "I completed online courses X,Y,Z" is not really going to be enough to get a job.


---

