<story><title>Computer Science Curriculum in 1000 YouTube Videos</title><url>https://laconicml.com/computer-science-curriculum-youtube-videos/</url></story><parent_chain><item><author>opportune</author><text>The thing about languages like C is that they will teach students to do many things by rote that they aren’t equipped to understand until later. I’m talking about things like includes, using a compiler, &amp;lt;&amp;lt; and other facets of basic I&amp;#x2F;O, defining a main function.&lt;p&gt;Python allows students to hit the ground running much faster. Once they learn the very basics, then it can make sense to introduce something like C, but not require them to temporarily ignore magic incantations with the promise they’ll understand them later.</text></item><item><author>ArikBe</author><text>I think this depends on the student. I do not have a CS degree. I dabbled in Python, but the first programming course that I took was Harvard&amp;#x27;s CS50 MOOC. I really appreciated learning C because it taught me about the underlying system through concepts like memory management. I agree that Python is friendlier, but I feel like C trains a particular mindset. Python may be more suitable for those who want to get off the ground quickly.</text></item><item><author>wrs</author><text>This is the eternal debate, but man, I wouldn’t start somebody off with a C programming course as #1. Especially if there’s a Python course coming up shorty anyway. And then a C++ course to learn “OOP”, which is much easier to learn in Python. Ouch.&lt;p&gt;I suggest just starting with Python, learning C at some point because it’s universal, and never learning C++ without a specific reason.</text></item></parent_chain><comment><author>Imnimo</author><text>When teaching new students Java, the first step is &amp;quot;type these exact lines character for character, you won&amp;#x27;t understand what they mean for the next year, but you need to type them at the start of every new program.&amp;quot;, which can be a little rough.</text></comment>
<story><title>Computer Science Curriculum in 1000 YouTube Videos</title><url>https://laconicml.com/computer-science-curriculum-youtube-videos/</url></story><parent_chain><item><author>opportune</author><text>The thing about languages like C is that they will teach students to do many things by rote that they aren’t equipped to understand until later. I’m talking about things like includes, using a compiler, &amp;lt;&amp;lt; and other facets of basic I&amp;#x2F;O, defining a main function.&lt;p&gt;Python allows students to hit the ground running much faster. Once they learn the very basics, then it can make sense to introduce something like C, but not require them to temporarily ignore magic incantations with the promise they’ll understand them later.</text></item><item><author>ArikBe</author><text>I think this depends on the student. I do not have a CS degree. I dabbled in Python, but the first programming course that I took was Harvard&amp;#x27;s CS50 MOOC. I really appreciated learning C because it taught me about the underlying system through concepts like memory management. I agree that Python is friendlier, but I feel like C trains a particular mindset. Python may be more suitable for those who want to get off the ground quickly.</text></item><item><author>wrs</author><text>This is the eternal debate, but man, I wouldn’t start somebody off with a C programming course as #1. Especially if there’s a Python course coming up shorty anyway. And then a C++ course to learn “OOP”, which is much easier to learn in Python. Ouch.&lt;p&gt;I suggest just starting with Python, learning C at some point because it’s universal, and never learning C++ without a specific reason.</text></item></parent_chain><comment><author>jghn</author><text>This resonates with me. When I was an undergrad about 25 years ago most intro to programming classes were taught in C. There were a lot of concepts I struggled with at the time that now I find trivial. In retrospect, what I was &lt;i&gt;really&lt;/i&gt; struggling with was some of the lower level gnarly bits C exposes to the programmer.&lt;p&gt;While it&amp;#x27;s good that I know how those things work, I did &lt;i&gt;not&lt;/i&gt; need to understand them to just get a basic understanding of strings, data structures, etc. For instance it wasn&amp;#x27;t that I couldn&amp;#x27;t grok linked lists, I couldn&amp;#x27;t grok pointer manipulation at the time. But that still meant my code didn&amp;#x27;t work.</text></comment>