<story><title>Why won’t anyone teach me math?</title><url>https://www.dailyprincetonian.com/article/2022/02/stem-intro-courses-humanites-exploration</url></story><parent_chain><item><author>Waterluvian</author><text>Yeah.  I&amp;#x27;ve been writing code as a job for a decade now and have never needed to factor a quadratic equation. I really just needed a course that helped me get introduced to programming (which I ended up using a LOT in the domain I went to school for: geography and remote sensing).&lt;p&gt;(Every time I write something like this I immediately feel defensive about being an impostor.  Someone saying, &amp;quot;how can you not know that? You should know that. You must not be doing _real programming_.)</text></item><item><author>kamaal</author><text>The real question is in asking, what are you going to use the programming language to build?&lt;p&gt;If you are going into a Math heavy domain, you are going to use a programming language to solve math problems, and hence involves learning Math.&lt;p&gt;This the same problem, with whiteboard leetcode style problems in interviews. Most people fail to understand why they have to put in months to years of practice into a domain to which doesn&amp;#x27;t concern with their everyday work.&lt;p&gt;On the other hand there is tremendous shortage of people with skills for real world problems and applications.</text></item><item><author>Waterluvian</author><text>I went to the University of Waterloo and took a &amp;quot;Intro to CS for non-math students&amp;quot; course.  The thing was designed and taught by CS faculty, so naturally they taught you the basics of programming using math.&lt;p&gt;I spent more time re-learning high school math than actually learning programming. And not because it was directly related, but because some lessons were like, &amp;quot;write a function in Java that factors a quadratic.&amp;quot;  So 90% of that tutorial was me re-learning what the heck a quadratic is and how to factor it.&lt;p&gt;The experience really sucked and I gave up on university programming courses and just started learning it all practically and on my own terms.&lt;p&gt;Edit: Enjoy this wonderfully styled course page: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;student.cs.uwaterloo.ca&amp;#x2F;~cs125&amp;#x2F;S08&amp;#x2F;Resources&amp;#x2F;Admin&amp;#x2F;CourseOutline.shtml&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;student.cs.uwaterloo.ca&amp;#x2F;~cs125&amp;#x2F;S08&amp;#x2F;Resources&amp;#x2F;Admin&amp;#x2F;C...&lt;/a&gt;</text></item><item><author>tacoluv</author><text>My 2 cents: The author presumably goes to Princeton - the ivy league is in general a tough place to &amp;quot;start learning&amp;quot; things, especially STEM. Few of the staff would teach you the basics of anything, mostly because you are attending a research college, where teaching is the professors&amp;#x27; side gig.&lt;p&gt;I went to an ivy league school, and a large portion of the people in the CS program did competitive programming&amp;#x2F;knew number theory and discrete math from high school etc. All the problems we got as homework were really intense - I&amp;#x27;d consistently do more than 60-70 hours of studying outside of classes to keep up. Mind you, for me CS was&amp;#x2F;is like crack - I feel like I&amp;#x27;d have put in even more time if I didn&amp;#x27;t need to sleep or want to hang out with my friends.&lt;p&gt;There are some intro classes, of course, but the quality of those varies a lot.&lt;p&gt;Edit: I don&amp;#x27;t mean to discourage people with this post. I was actually one of the few people who didn&amp;#x27;t have much of a CS&amp;#x2F;quanty background in my CS classes. My advisor told me to have a backup major in case I fail the tougher required classes, but I made it through.</text></item></parent_chain><comment><author>tacoluv</author><text>I have been thinking about it too. I think you definitely need people who are more algorithmically inclined in software, but you also need people who can &amp;quot;engineer&amp;quot;.&lt;p&gt;My current take is that the tech industry is so young that we are still struggling with proper definitions of titles and division of labor.&lt;p&gt;In my experience, after school I could do all the hard mathy&amp;#x2F;algo&amp;#x2F;data structure things, but I had no idea what REST even meant. So all startups instantly rejected me, while FAANG was very excited to have me. I felt like a huge imposter also, because if I were smart, how come I didn&amp;#x27;t know all the cool stuff that people at hackathons know.</text></comment>
<story><title>Why won’t anyone teach me math?</title><url>https://www.dailyprincetonian.com/article/2022/02/stem-intro-courses-humanites-exploration</url></story><parent_chain><item><author>Waterluvian</author><text>Yeah.  I&amp;#x27;ve been writing code as a job for a decade now and have never needed to factor a quadratic equation. I really just needed a course that helped me get introduced to programming (which I ended up using a LOT in the domain I went to school for: geography and remote sensing).&lt;p&gt;(Every time I write something like this I immediately feel defensive about being an impostor.  Someone saying, &amp;quot;how can you not know that? You should know that. You must not be doing _real programming_.)</text></item><item><author>kamaal</author><text>The real question is in asking, what are you going to use the programming language to build?&lt;p&gt;If you are going into a Math heavy domain, you are going to use a programming language to solve math problems, and hence involves learning Math.&lt;p&gt;This the same problem, with whiteboard leetcode style problems in interviews. Most people fail to understand why they have to put in months to years of practice into a domain to which doesn&amp;#x27;t concern with their everyday work.&lt;p&gt;On the other hand there is tremendous shortage of people with skills for real world problems and applications.</text></item><item><author>Waterluvian</author><text>I went to the University of Waterloo and took a &amp;quot;Intro to CS for non-math students&amp;quot; course.  The thing was designed and taught by CS faculty, so naturally they taught you the basics of programming using math.&lt;p&gt;I spent more time re-learning high school math than actually learning programming. And not because it was directly related, but because some lessons were like, &amp;quot;write a function in Java that factors a quadratic.&amp;quot;  So 90% of that tutorial was me re-learning what the heck a quadratic is and how to factor it.&lt;p&gt;The experience really sucked and I gave up on university programming courses and just started learning it all practically and on my own terms.&lt;p&gt;Edit: Enjoy this wonderfully styled course page: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;student.cs.uwaterloo.ca&amp;#x2F;~cs125&amp;#x2F;S08&amp;#x2F;Resources&amp;#x2F;Admin&amp;#x2F;CourseOutline.shtml&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;student.cs.uwaterloo.ca&amp;#x2F;~cs125&amp;#x2F;S08&amp;#x2F;Resources&amp;#x2F;Admin&amp;#x2F;C...&lt;/a&gt;</text></item><item><author>tacoluv</author><text>My 2 cents: The author presumably goes to Princeton - the ivy league is in general a tough place to &amp;quot;start learning&amp;quot; things, especially STEM. Few of the staff would teach you the basics of anything, mostly because you are attending a research college, where teaching is the professors&amp;#x27; side gig.&lt;p&gt;I went to an ivy league school, and a large portion of the people in the CS program did competitive programming&amp;#x2F;knew number theory and discrete math from high school etc. All the problems we got as homework were really intense - I&amp;#x27;d consistently do more than 60-70 hours of studying outside of classes to keep up. Mind you, for me CS was&amp;#x2F;is like crack - I feel like I&amp;#x27;d have put in even more time if I didn&amp;#x27;t need to sleep or want to hang out with my friends.&lt;p&gt;There are some intro classes, of course, but the quality of those varies a lot.&lt;p&gt;Edit: I don&amp;#x27;t mean to discourage people with this post. I was actually one of the few people who didn&amp;#x27;t have much of a CS&amp;#x2F;quanty background in my CS classes. My advisor told me to have a backup major in case I fail the tougher required classes, but I made it through.</text></item></parent_chain><comment><author>mlyle</author><text>&amp;gt; Yeah. I&amp;#x27;ve been writing code as a job for a decade now and have never needed to factor a quadratic equation.&lt;p&gt;A lot of people never touch algebra again.&lt;p&gt;Some of us end up touching it a &lt;i&gt;lot&lt;/i&gt;.&lt;p&gt;This is a bit of a tricky thing, in that:&lt;p&gt;- A whole lot of practitioners have very limited continuous math and deep CS needs, so some of these requirements are artificial barriers to some extent for many jobs.&lt;p&gt;- But is it reasonable to give them CS degrees without at least basic competence?&lt;p&gt;- Plus, part of the point of a university education is to round-out students and expose them to many things...</text></comment>